Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Mar 2000 12:05:44 +1030 (CST)
From:      Greg Lewis <glewis@trc.adelaide.edu.au>
To:        Nate Williams <nate@yogotech.com>
Cc:        freebsd-java@freebsd.org
Subject:   Re: Pre-alpha JDK 1.2.2 patches -- issues
Message-ID:  <200003220135.MAA05432@ares.maths.adelaide.edu.au>
In-Reply-To: <200003220042.RAA01855@nomad.yogotech.com> from Nate Williams at "Mar 21, 2000 05:42:27 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
Wow Nate,

This is exactly the kind of response I'd hoped posting the issues would
generate.  Thank you :).

> The problem with 2.2.8 is that the compiler can't handle the stock Java
> sources.  Not sure if this is a problem that's worth spending alot of
> time on (although my main development box is still running 2.2.8, so
> we'll see.)

How about installing gcc 2.95.2 (I believe there is still some support for
FreeBSD-a.out in its source) on such a box?  Thats the only way around it
I can think of at the moment.

> Or, you can use the JDK1.1 stuff to bootstrap it as well, although
> that's a bit more difficult.

Ok, I hadn't actually tried bootstrapping things with 1.1.  Good point!

> > 3.  Alpha support.
> 
> The Blackdown work should help here.  If not JDK1.2, then the 1.3 work
> might be a better place to start for the Alpha team.

Right.  I don't believe that source code patches are available from
Blackdown at the moment though :(.  I'm really hoping there will be some
in the future though, as they would be most helpful.  I believe I found
a message in the java-linux archive that stated they were still trying to
get legal clearance from Sun to do this though (I have the URL for this at
home I'm pretty sure).

> > 4.  Assembler version of executeJava
> 
> Keith got this work late in the game, and the patches to make it work
> are now part of the JDK1.1 patchset.  If my memory serves me well, it
> had to do with the use of a certain Gas opcode that whacked a register
> that we didn't realize.  We needed to push/pop one of a register before
> calling it, but I don't remember which one.

Excellent!  I can see that I need to look through the 1.1.8 patches more
closely (they've been a great help so far :).

> > 5.  Sun JIT compiler.
> >     It appears that the Sun JIT compiler (libsunwjit.so) is supplied as a
> >     precompiled Solaris x86 binary without source code.  This leaves us
> >     rather hamstrung in getting this to work.
> 
> This is where I personally gave up.  I talked with the Blackdown team at
> JavaOne, and they implied that a Sun engineer gave them a binary copy of
> the JIT compiled for Linux.  This is also where *most* of the speedups
> the Linux JDK has over the FreeBSD JDK exist, so unless we get a JIT,
> then the 1.2 stuff is going to be *slower* than the 1.1 stuff.
> 
> It seems a bit counter-productive to spend alot of time building a
> native version when we can't even run the code at a decent speed after
> it's all said and done, and all attempts to motivate Sun or other
> vendors have met with extreme resistance.

Perhaps we could include shujit or TYA as a default JIT?  I'm not sure if
either of their licenses allow this or how well they work with the code,
but I think its worth looking into.

> > 6.  Font setup.
> 
> You should be able to use the same files from JDK1.1 as a starting
> point.
> 
> I actually spent some time messing with the fonts, and eventually ended
> up w/something that looked a lot like the Blackdown file.
> 
> Since we're both using XFree86, it should look similar...

Thanks.  I'm looking at getting this stuff into the next version :).

> > 7.  DPS and postscript fonts.
> >     As part of the build of libfontmanager.so (see 
> >     build/freebsd/sun/font/GNUmakefile) one can optionally enable linking
> >     with a Display Postscript library (this is the default for the Solaris
> >     build).  I can only assume that this is to enable the use of Postscript
> >     fonts in Java.
> 
> Actually, this is so you can do 'Print Screen' functionality in JDK.
> You need the disply postscript part of the XServer for this to work.

Ok!  That'll teach me to guess about things!

> > 8.  Missing shared libraries.  
> > 
> >     a. audio
> 
> Again, you might look into the JDK1.1 stuff, which had working audio.

Thank you, again :).

> >     b. jdga
> 
> I don't rememeber looking at this.

The Blackdown JDK doesn't appear to have this in it, so its currently
low on the priority list until someone works out exactly where it fits in :).

> >     c. cmm
> 
> I don't know what this is.

I think I'm going to email the Blackdown folk and see if I can't find out :).

> > 9.  Merging from 1.1.8 patches.
> 
> I'd like to think I can help here.  If not with coding, I can sure help
> to answer questions.

That would be much appreciated :).

> > 12. Rounding bug.
> 
> So, maybe it's not an error. :)

I think its certainly not an error, in that FreeBSD DTRT.  Its just an
issue of bug-for-bug compatibility with the Solaris version.

> > 15. GCC versions.
> >     Kees Jan is currently having problems running Swing / AWT stuff with
> >     an unresolved reference to "__pure_virtual".  He is, however, using a
> >     different version of gcc.
> 
> I ran into this as well.  Again, this has alot to do with the way
> G++/GCC linking occurs.  I fought this one on 2.2.8 and never did get a
> good resolution.  You have to make sure that *ALL* the libraries/objects
> that are used are built with the same compiler

Good advise.  I haven't actually attempted to build the JDK beast with the
default 3.x compiler (I use gcc 2.95.2 by default, mostly for C++ reasons).
It sounds like its time to do so and try and find the problem.  I know Kees
Jan is looking into it too!

> Greg, thanks for doing this.  As the most visible member of the porting
> team, all I can say is sorry for not doing more.  Maybe this will
> energize some new folks to jump on board here...

Thats what I'm hoping :).  I don't think you or the porting team have
anything to be sorry about though, this is a volunteer effort after all!

-- 
Greg Lewis 				glewis@trc.adelaide.edu.au
Computing Officer			+61 8 8303 5083
Teletraffic Research Centre


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-java" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200003220135.MAA05432>