review for 6990212: JSR 292 JVMTI MethodEnter hook is not called for JSR 292 bootstrap and target methods

Vladimir Kozlov vladimir.kozlov at oracle.com
Fri Jul 8 16:31:23 PDT 2011


methodHandles_x86.cpp

+     // Is a cmpl faster (ce
                            ^ ?
cmpb() instruction is shorter since immediate is one byte. Also you can use 
short jccb instead of jcc here. I know it is just copied from other place. May 
be we should change it there also.

methodHandles_sparc.cpp missing delay slot:

+     __ jump_indirect_to(Address(method, 
methodOopDesc::interpreter_entry_offset()), temp);
+     __ bind(skip_compiled_code);

Vladimir

Tom Rodriguez wrote:
> Coleen point out that it's confusing to reuse the name jump_from_interpreted since we're not really in the interpreter.  I've changed it to jump_from_method_handle and left that note that it parallels jump_from_interpreted.
> 
> tom
> 
> On Jul 8, 2011, at 1:10 PM, Tom Rodriguez wrote:
> 
>> http://cr.openjdk.java.net/~never/6990212
>> 154 lines changed: 117 ins; 19 del; 18 mod; 5215 unchg
>>
>> 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:
>>
>> 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.
>>
> 


More information about the hotspot-compiler-dev mailing list