Prepared by: | never on Wed May 25 13:43:20 PDT 2011 |
---|---|
Workspace: | /net/smite.us.oracle.com/export/ws/indy |
Compare against: | ssh://hg.openjdk.java.net/jdk7/hotspot-comp-gate/hotspot |
Summary of changes: | 331 lines changed: 220 ins; 27 del; 84 mod; 5053 unchg |
Patch of changes: | 7047961.patch |
Author comments: |
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. |
Bug id: | Bug Database |
Legend: |
Modified file Deleted file New file |
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/prims/methodHandleWalk.hpp
55 lines changed: 18 ins; 20 del; 17 mod; 415 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/prims/methodHandleWalk.cpp
262 lines changed: 200 ins; 4 del; 58 mod; 1566 unchg
Cdiffs
Udiffs
Sdiffs
Frames
Old
New
Patch
Raw
src/share/vm/prims/methodHandles.cpp
14 lines changed: 2 ins; 3 del; 9 mod; 3072 unchg
This code review page was prepared using /never/bin/webrev (vers 23.18-hg-never).