RFR (S) 8002160 : Compilation issue with adlc using latest SunStudio compilers

David Chase david.r.chase at oracle.com
Fri Jun 14 17:26:59 PDT 2013


webrev:
http://cr.openjdk.java.net/~drchase/8002160/webrev.01/

bug:
1) 12.3 SolarisStudio compilers (and it turns out, also some versions of g++, as well as Eclipse) did not like some of the code in adlc; a reference to overloaded + default-arg'd "swap" failed to resolve.

2) Once (1) is cleared, code in c1_LIR.cpp would cause 12.3 iropt (optimizer) to crash.

fix:
1) Add "const" to the overloading, that seems to fix that for SolarisStudio and g++/
2) Locate offending function in c1_LIR
2a) file bug against Solaris Studio compilers with that as test case
2b) modify that function in harmless ways until iropt gets happy.

(And after the fix, entire new build with SS 12.3, slowdebug and fastdebug, successful compilation, and fastdebug -- the whole new build with SS12.3 - passed the jtreg tests below.

testing:
This is a sparc-only bug, so I ran jtreg on a Sparc box against compiler and closed/compiler.
I ran tests twice, once tiered, once tiered stopping at level 1.
I ran JPRT (old compilers) to be sure that I had not broken anything.

not 100% sure of the indenting of the switch/case statement after adding local scopes, but it looked slightly non-conforming to start with.

David




More information about the hotspot-compiler-dev mailing list