Mercurial > hg > graal-jvmci-8
comparison src/cpu/x86/vm/templateTable_x86_64.cpp @ 3279:08ccee2c4dbf
6993078: JSR 292 too many pushes: Lesp points into register window
Reviewed-by: kvn, never
author | twisti |
---|---|
date | Thu, 21 Apr 2011 00:25:40 -0700 |
parents | bbe95b4337f1 |
children | 286c498ae0d4 |
comparison
equal
deleted
inserted
replaced
3278:66b0e2371912 | 3279:08ccee2c4dbf |
---|---|
3126 // the call_VM checks for exception, so we should never return here. | 3126 // the call_VM checks for exception, so we should never return here. |
3127 __ should_not_reach_here(); | 3127 __ should_not_reach_here(); |
3128 return; | 3128 return; |
3129 } | 3129 } |
3130 | 3130 |
3131 assert(byte_no == f1_oop, "use this argument"); | |
3132 prepare_invoke(rax, rbx, byte_no); | 3131 prepare_invoke(rax, rbx, byte_no); |
3133 | 3132 |
3134 // rax: CallSite object (f1) | 3133 // rax: CallSite object (f1) |
3135 // rbx: unused (f2) | 3134 // rbx: unused (f2) |
3136 // rcx: receiver address | 3135 // rcx: receiver address |
3137 // rdx: flags (unused) | 3136 // rdx: flags (unused) |
3138 | 3137 |
3139 Register rax_callsite = rax; | 3138 Register rax_callsite = rax; |
3140 Register rcx_method_handle = rcx; | 3139 Register rcx_method_handle = rcx; |
3141 | 3140 |
3142 if (ProfileInterpreter) { | 3141 // %%% should make a type profile for any invokedynamic that takes a ref argument |
3143 // %%% should make a type profile for any invokedynamic that takes a ref argument | 3142 // profile this call |
3144 // profile this call | 3143 __ profile_call(r13); |
3145 __ profile_call(r13); | 3144 |
3146 } | 3145 __ verify_oop(rax_callsite); |
3147 | 3146 __ load_heap_oop(rcx_method_handle, Address(rax_callsite, __ delayed_value(java_lang_invoke_CallSite::target_offset_in_bytes, rdx))); |
3148 __ load_heap_oop(rcx_method_handle, Address(rax_callsite, __ delayed_value(java_lang_invoke_CallSite::target_offset_in_bytes, rcx))); | |
3149 __ null_check(rcx_method_handle); | 3147 __ null_check(rcx_method_handle); |
3148 __ verify_oop(rcx_method_handle); | |
3150 __ prepare_to_jump_from_interpreted(); | 3149 __ prepare_to_jump_from_interpreted(); |
3151 __ jump_to_method_handle_entry(rcx_method_handle, rdx); | 3150 __ jump_to_method_handle_entry(rcx_method_handle, rdx); |
3152 } | 3151 } |
3153 | 3152 |
3154 | 3153 |