Mercurial > hg > graal-jvmci-8
comparison src/cpu/x86/vm/templateTable_x86_64.cpp @ 13109:58dfd753ada8
fixed regression from recent hsx merge that prevented TypeProfileLevel from being enabled
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Fri, 22 Nov 2013 01:40:16 +0100 |
parents | 096c224171c4 |
children | d8041d695d19 |
comparison
equal
deleted
inserted
replaced
13108:d84fa69a9874 | 13109:58dfd753ada8 |
---|---|
3041 // profile this call | 3041 // profile this call |
3042 __ profile_virtual_call(rax, r14, rdx); | 3042 __ profile_virtual_call(rax, r14, rdx); |
3043 | 3043 |
3044 // get target Method* & entry point | 3044 // get target Method* & entry point |
3045 __ lookup_virtual_method(rax, index, method); | 3045 __ lookup_virtual_method(rax, index, method); |
3046 __ profile_arguments_type(rdx, method, r13, true); | |
3047 #ifdef GRAAL | 3046 #ifdef GRAAL |
3048 // r14: MethodDataPointer (r14 is callee saved) | 3047 // r14: MethodDataPointer (r14 is callee saved) |
3049 __ profile_called_method(method, r14, r13); | 3048 __ profile_called_method(method, r14, r13); |
3050 #endif | 3049 #endif |
3050 __ profile_arguments_type(rdx, method, r13, true); | |
3051 | 3051 |
3052 __ jump_from_interpreted(method, rdx); | 3052 __ jump_from_interpreted(method, rdx); |
3053 } | 3053 } |
3054 | 3054 |
3055 | 3055 |
3145 // interpreter entry point and a conditional jump to it in case of a null | 3145 // interpreter entry point and a conditional jump to it in case of a null |
3146 // method. | 3146 // method. |
3147 __ testptr(rbx, rbx); | 3147 __ testptr(rbx, rbx); |
3148 __ jcc(Assembler::zero, no_such_method); | 3148 __ jcc(Assembler::zero, no_such_method); |
3149 | 3149 |
3150 __ profile_arguments_type(rdx, rbx, r13, true); | |
3151 | |
3152 // do the call | |
3153 // rcx: receiver | |
3154 // rbx,: Method* | |
3155 #ifdef GRAAL | 3150 #ifdef GRAAL |
3156 // r13: MethodDataPointer (r13 is callee saved) | 3151 // r13: MethodDataPointer (r13 is callee saved) |
3157 __ profile_called_method(rbx, r13, r14); | 3152 __ profile_called_method(rbx, r13, r14); |
3158 #endif | 3153 #endif |
3154 __ profile_arguments_type(rdx, rbx, r13, true); | |
3155 | |
3156 // do the call | |
3157 // rcx: receiver | |
3158 // rbx,: Method* | |
3159 __ jump_from_interpreted(rbx, rdx); | 3159 __ jump_from_interpreted(rbx, rdx); |
3160 __ should_not_reach_here(); | 3160 __ should_not_reach_here(); |
3161 | 3161 |
3162 // exception handling code follows... | 3162 // exception handling code follows... |
3163 // note: must restore interpreter registers to canonical | 3163 // note: must restore interpreter registers to canonical |