This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]