This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
Re: The old _Jv_InitClass problem is still present in 3.1 (patch included)
Hi Tom,
On Fri, Sep 28, 2001 at 09:13:00AM -0600, Tom Tromey wrote:
> >>>>> "Martin" == Martin Kahlert <martin.kahlert@infineon.com> writes:
>
> Martin> Now it seems to work better than the TOWER compiler.
> Martin> This will be no good news for them ;-)
>
> Cool news for us though!
> In what ways do you think it is better than TOWER?
- We had very strange problems with TOWER's memory usage (i assume the culprit
is its garbage collector).
The application runs and suddenly without any special reason it
SegFauls/BusErrors. The timepoint when it bombs can be changed by
making buffers allocated on the stack larger/smaller. (Its boundaries
are *not* overwritten).
This problem cost me a lot of debugging time up to now
but i never got a clue what exactly it triggers.
O.k. our use of the compiler is not that generic:
We generate a shared lib from a lot of java code, load that from inside
a Fortran/C main program using dlopen and call it from a dymically loaded
and automatically generated function.
- Tower's runtime library cannot be loaded by dlopen (RTLD_NOW),
from applications built with Solaris' cc (there are unresolved gcc-symbols
inside it)
- gcj's code seems to be much more solid (after i fixed some bugs in libjava
i found using electric fence :-)).
- It is free. Tower is quite expensive and needs runtime licenses for the
produced executables.
- It works on many platforms (o.k, let's say, i hope that it will :-))
- I can debug anything and i am able to correct problems due to the source
availability.
Can you imagine, what answer you get when you try to make
a bugreport for the problem with TOWER's memory usage and you cannot make a
small testcase? Correct: The same as you would get from gcc-bugs:
"The problem is most likely inside your app".
Perhaps that's correct, but i cannot tell exactly.
So if i cannot give out the sources and nobody wants to dig into them i have
to do that by my own. But that's only possible with sources of everything
involved.
> In what ways is gcj worse?
- I assume, TOWER speaks AWT, but i do not need that.
- gcj compiles need a lot of time but that is not comparable since
i use it on Linux and we only have TOWER for Solaris.
> Have you compared performance at all?
Nope. Not yet. I am happy if a non optimized version works.
I once tried an optimized build with a pre gcc-3.0 snapshot but that did not
give a lot more performance just a lot of code bloat. Perhaps that changes
with the mainline compiler. I will give it a try.
In order to compare performance i first have to get gcj running on Solaris.
The latest problem there was the '646'
Thanks for your great work,
Martin.
--
The early bird catches the worm. If you want something else for
breakfast, get up later.