review for 7047961: JSR 292 MethodHandleWalk swap args doesn't handle T_LONG and T_DOUBLE properly

Tom Rodriguez tom.rodriguez at oracle.com
Wed May 25 12:07:58 PDT 2011


http://cr.openjdk.java.net/~never/7047961
316 lines changed: 213 ins; 27 del; 76 mod; 5061 unchg

7047961: JSR 292 MethodHandleWalk swap args doesn't handle T_LONG and T_DOUBLE properly
Reviewed-by:

Several more errors were found with handling op arguments in
MethodHandleWalk.  swap wasn't dealing with the double word arguments
properly.  collect and fold are allowed to have 0 length operations.
rotate was using the wrong type to determine the size of the
operation.  boxing operations are allowed on subword types.  nop
conversion operations should just do nothing.  I also removed the
SlotState wrapper since its only purpose seemed to be to keep track of
the arg types when symbolic was used and I modified tt_symbolic to
keep accurate track of the type instead of claiming to be a long.  I
also added more detail to most of the failure messages and fixed a
missing ResourceMark along with adding a lot more sanity checks.
Tested with vm/mlvm and java/lang/invoke regression tests.



More information about the hotspot-compiler-dev mailing list