review for 7052219: JSR 292: Crash in ~BufferBlob::MethodHandles adapters

Tom Rodriguez tom.rodriguez at
Tue Jun 14 10:11:17 PDT 2011
136 lines changed: 79 ins; 31 del; 26 mod; 14582 unchg

7052219: JSR 292: Crash in ~BufferBlob::MethodHandles adapters

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

More information about the hotspot-compiler-dev mailing list