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

AltStyle によって変換されたページ (->オリジナル) /