Code Review for 6990212

Prepared by:never on Thu Jul 14 13:07:09 PDT 2011
Workspace:/net/smite.us.oracle.com/export/ws/indy
Compare against: ssh://hg.openjdk.java.net/hsx/hotspot-comp-gate/hotspot
Summary of changes: 158 lines changed: 118 ins; 19 del; 21 mod; 8078 unchg
Patch of changes: 6990212.patch
Author comments:
6990212: JSR 292 JVMTI MethodEnter hook is not called for JSR 292 bootstrap and target methods
Summary: check for single stepping when dispatching invokes from method handles
Reviewed-by: coleenp, twisti, kvn

Single stepping and method entry events requires some machinery in the
interpreter to make sure that we never jump into compiled code but the
method handle invoke path doesn't have that code. The fix is to
reintroduce the required check and dispatch to the interpreted entry
in that case. Tested with failing test cases from report plus a
simple test case to exercise the MH raiseException path since I had to
rewrite the arugment passing there.

Bug id: 6990212 JSR 292 JVMTI MethodEnter hook is not called for JSR 292 bootstrap and target methods
Legend: Modified file
Deleted file
New file

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/cpu/x86/vm/methodHandles_x86.hpp

4 lines changed: 4 ins; 0 del; 0 mod; 299 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/cpu/x86/vm/methodHandles_x86.cpp

40 lines changed: 27 ins; 4 del; 9 mod; 2388 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/cpu/x86/vm/interp_masm_x86_32.cpp

2 lines changed: 0 ins; 0 del; 2 mod; 1402 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/cpu/x86/vm/interp_masm_x86_64.cpp

1 line changed: 0 ins; 0 del; 1 mod; 1461 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/cpu/sparc/vm/methodHandles_sparc.hpp

4 lines changed: 4 ins; 0 del; 0 mod; 224 unchg

Cdiffs Udiffs Sdiffs Frames Old New Patch Raw src/cpu/sparc/vm/methodHandles_sparc.cpp

51 lines changed: 27 ins; 15 del; 9 mod; 2304 unchg

------ ------ ------ ------ --- New Patch Raw test/compiler/6990212/Test6990212.java

56 lines changed: 56 ins; 0 del; 0 mod; 0 unchg

This code review page was prepared using /never/bin/webrev (vers 23.18-hg-never).