RFC: Disable RTL inlininer for Java?
Bryce McKinlay
bryce@waitaki.otago.ac.nz
Wed May 29 23:39:00 GMT 2002
The RTL inliner seems to be the cause of several crashes and
miscompilations of Java code. In the past I've noticed a few EH-related
gcj crashes that went away with -fno-inline, but more disturbing is PR6820:
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=6820
The evaluation order for the arguments is apparantly disregarded when
the call is inlined.
In addition, the inliner has never really worked very well anyway - only
private/final/static methods that preceded the call in a class got
inlined, and methods from other classes never get inlined, afaik.
Turning the inlining off does not significantly affect GCJ's score on
scimark or jBYTEmark and it makes libgcj.so about 200k smaller. Note
that this doesn't turn off the inlining of "java builtins" such as
Math.cos() which is done in java/builtins.
It is unlikely that any bugs in the old inliner will be fixed since it
is no longer used by C and C++. So, I propose to disable inlining in GCJ
until we make it use the tree inliner.
Bryce.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: java-disable-inliner.patch
URL: <http://gcc.gnu.org/pipermail/java/attachments/20020529/43182740/attachment.ksh>
More information about the Java
mailing list