1.1 --- a/src/cpu/x86/vm/templateTable_x86_64.cpp Wed Apr 20 18:29:35 2011 -0700 1.2 +++ b/src/cpu/x86/vm/templateTable_x86_64.cpp Thu Apr 21 00:25:40 2011 -0700 1.3 @@ -3128,7 +3128,6 @@ 1.4 return; 1.5 } 1.6 1.7 - assert(byte_no == f1_oop, "use this argument"); 1.8 prepare_invoke(rax, rbx, byte_no); 1.9 1.10 // rax: CallSite object (f1) 1.11 @@ -3139,14 +3138,14 @@ 1.12 Register rax_callsite = rax; 1.13 Register rcx_method_handle = rcx; 1.14 1.15 - if (ProfileInterpreter) { 1.16 - // %%% should make a type profile for any invokedynamic that takes a ref argument 1.17 - // profile this call 1.18 - __ profile_call(r13); 1.19 - } 1.20 - 1.21 - __ load_heap_oop(rcx_method_handle, Address(rax_callsite, __ delayed_value(java_lang_invoke_CallSite::target_offset_in_bytes, rcx))); 1.22 + // %%% should make a type profile for any invokedynamic that takes a ref argument 1.23 + // profile this call 1.24 + __ profile_call(r13); 1.25 + 1.26 + __ verify_oop(rax_callsite); 1.27 + __ load_heap_oop(rcx_method_handle, Address(rax_callsite, __ delayed_value(java_lang_invoke_CallSite::target_offset_in_bytes, rdx))); 1.28 __ null_check(rcx_method_handle); 1.29 + __ verify_oop(rcx_method_handle); 1.30 __ prepare_to_jump_from_interpreted(); 1.31 __ jump_to_method_handle_entry(rcx_method_handle, rdx); 1.32 }