Mercurial > hg > graal-compiler
comparison src/cpu/x86/vm/templateTable_x86_32.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 |
---|---|
3109 assert(byte_no == f1_oop, "use this argument"); | 3109 assert(byte_no == f1_oop, "use this argument"); |
3110 prepare_invoke(rax, rbx, byte_no); | 3110 prepare_invoke(rax, rbx, byte_no); |
3111 | 3111 |
3112 // rax: CallSite object (f1) | 3112 // rax: CallSite object (f1) |
3113 // rbx: unused (f2) | 3113 // rbx: unused (f2) |
3114 // rcx: receiver address | |
3114 // rdx: flags (unused) | 3115 // rdx: flags (unused) |
3115 | 3116 |
3117 Register rax_callsite = rax; | |
3118 Register rcx_method_handle = rcx; | |
3119 | |
3116 if (ProfileInterpreter) { | 3120 if (ProfileInterpreter) { |
3117 Label L; | |
3118 // %%% should make a type profile for any invokedynamic that takes a ref argument | 3121 // %%% should make a type profile for any invokedynamic that takes a ref argument |
3119 // profile this call | 3122 // profile this call |
3120 __ profile_call(rsi); | 3123 __ profile_call(rsi); |
3121 } | 3124 } |
3122 | 3125 |
3123 __ movptr(rcx, Address(rax, __ delayed_value(java_dyn_CallSite::target_offset_in_bytes, rcx))); | 3126 __ movptr(rcx_method_handle, Address(rax_callsite, __ delayed_value(java_dyn_CallSite::target_offset_in_bytes, rcx))); |
3124 __ null_check(rcx); | 3127 __ null_check(rcx_method_handle); |
3125 __ prepare_to_jump_from_interpreted(); | 3128 __ prepare_to_jump_from_interpreted(); |
3126 __ jump_to_method_handle_entry(rcx, rdx); | 3129 __ jump_to_method_handle_entry(rcx_method_handle, rdx); |
3127 } | 3130 } |
3128 | 3131 |
3129 //---------------------------------------------------------------------------------------------------- | 3132 //---------------------------------------------------------------------------------------------------- |
3130 // Allocation | 3133 // Allocation |
3131 | 3134 |