comparison src/cpu/x86/vm/templateTable_x86_64.cpp @ 1846:d55217dc206f

6829194: JSR 292 needs to support compressed oops Reviewed-by: kvn, jrose
author twisti
date Mon, 11 Oct 2010 04:18:58 -0700
parents d5d065957597
children 3b2dea75431e
comparison
equal deleted inserted replaced
1845:a222fcfba398 1846:d55217dc206f
3118 // rax: CallSite object (f1) 3118 // rax: CallSite object (f1)
3119 // rbx: unused (f2) 3119 // rbx: unused (f2)
3120 // rcx: receiver address 3120 // rcx: receiver address
3121 // rdx: flags (unused) 3121 // rdx: flags (unused)
3122 3122
3123 Register rax_callsite = rax;
3124 Register rcx_method_handle = rcx;
3125
3123 if (ProfileInterpreter) { 3126 if (ProfileInterpreter) {
3124 Label L;
3125 // %%% should make a type profile for any invokedynamic that takes a ref argument 3127 // %%% should make a type profile for any invokedynamic that takes a ref argument
3126 // profile this call 3128 // profile this call
3127 __ profile_call(r13); 3129 __ profile_call(r13);
3128 } 3130 }
3129 3131
3130 __ movptr(rcx, Address(rax, __ delayed_value(java_dyn_CallSite::target_offset_in_bytes, rcx))); 3132 __ load_heap_oop(rcx_method_handle, Address(rax_callsite, __ delayed_value(java_dyn_CallSite::target_offset_in_bytes, rcx)));
3131 __ null_check(rcx); 3133 __ null_check(rcx_method_handle);
3132 __ prepare_to_jump_from_interpreted(); 3134 __ prepare_to_jump_from_interpreted();
3133 __ jump_to_method_handle_entry(rcx, rdx); 3135 __ jump_to_method_handle_entry(rcx_method_handle, rdx);
3134 } 3136 }
3135 3137
3136 3138
3137 //----------------------------------------------------------------------------- 3139 //-----------------------------------------------------------------------------
3138 // Allocation 3140 // Allocation