RFR (S) JDK-8025004: -XX:+CheckUnhandledOops asserts for JDK 8 solaris sparc fastdebug binaries
Lois Foltan
lois.foltan at oracle.com
Wed Oct 2 09:38:39 PDT 2013
Please review the following fix:
Webrev:
http://cr.openjdk.java.net/~coleenp/bug_jdk8025004/
Bug: -XX:+CheckUnhandledOops asserts for JDK 8 solaris sparc fastdebug
binaries
https://bugs.openjdk.java.net/browse/JDK-8025004
Summary of fix:
This fix is to work around a Solaris Studio C++ 12u1 & 12u3
compiler bug. Basically in fastdebug builds
on Solaris, CHECK_UNHANDLED_OOPs is defined causing an oop to be
defined as a class instead of a oopDesc *.
Code within oops/instanceKlass.cpp defines several stack local
variables as "volatile oop init_lock". Solaris Studio C++
compilers erroneously call the oop's destructor twice for the
volatile oop upon exit from the code segment
within the member functions. Remove the keyword "volatile" from all
"init_lock" stack local variables defined
within oops/instanceKlass.cpp. This bug has been reported to the
Solaris Studio C++ compiler team.
Tests:
JTREG, vm.quick.testlist on Solaris with -XX:+CheckUnhandledOops
specified
Thank you, Lois
More information about the hotspot-runtime-dev
mailing list