Mercurial > hg > graal-compiler
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 |