review for 7052219: JSR 292: Crash in ~BufferBlob::MethodHandles adapters
Tom Rodriguez
tom.rodriguez at oracle.com
Tue Jun 14 10:11:17 PDT 2011
http://cr.openjdk.java.net/~never/7052219
136 lines changed: 79 ins; 31 del; 26 mod; 14582 unchg
7052219: JSR 292: Crash in ~BufferBlob::MethodHandles adapters
Summary:
Reviewed-by:
There were a set of bugs on both the JDK and VM side when dealing with
rotation of arguments that could cause argument shearing which
resulted in a large class of failures. The mostly obvious ones were
crashes from corrupted oops but it caused failures in other
computations. The primary bug was inconsistent rules for how the
rotate was specified when writing over a double word value but there
were also issues with how the source size was accounted for. The main
assembly had to be slightly adjusted to take this into account.
Equivalent adjustments in the MethodHandleWalk were needed as well. I
also included a minor fix to skip unneeded interface checkcasts. The
verify logic was adjust to correctly complain about all these cases
and there were some minor printing changes needed for debugging.
Tested on x86 and sparc 32/64 with the regression tests and vm.mlvm in
both product and fastdebug. All regression tests ran cleanly and the
vm.mlwm tests are as clean as expected. All the product crashes we'd
been seeing before are fixed, though there's still some undiagnosed
issue on sparc that results in occasional crashes in one of the stress
tests.
More information about the hotspot-compiler-dev
mailing list