review (XS) for 7012072: CompileTheWorld causes incorrect class initialization

Tom Rodriguez tom.rodriguez at oracle.com
Wed Feb 9 13:13:41 PST 2011


http://cr.openjdk.java.net/~never/7012072

7012072: CompileTheWorld causes incorrect class initialization
Reviewed-by:

A class in java.util.concurrent had a static initializer with a
dependency on it's outer class that could result in the unsafe offsets
being used before they'd actually been initialized if the inner class
was initialized before the outer.  This would result in a failure
during a later heap verification because the header word of an oop was
overwritten.  The class is being fixed to be more robust under a
separate bug id but I thought we should add an assert to complain more
directly at the use.  It won't catch all possible cases of this since
it doesn't guard against unsafe uses in the compiler but running -Xint
would show the problem.  Tested with failing test.


More information about the hotspot-compiler-dev mailing list