Mercurial > hg > graal-jvmci-8
diff src/cpu/x86/vm/templateTable_x86_64.cpp @ 9760:c76b43ed5089
Added infrastructure for recording invoked methods in the profiling information.
author | Christian Haeubl <haeubl@ssw.jku.at> |
---|---|
date | Fri, 17 May 2013 15:38:22 +0200 |
parents | db9981fd3124 |
children | 836a62f43af9 |
line wrap: on
line diff
--- a/src/cpu/x86/vm/templateTable_x86_64.cpp Fri May 17 09:28:41 2013 +0200 +++ b/src/cpu/x86/vm/templateTable_x86_64.cpp Fri May 17 15:38:22 2013 +0200 @@ -3017,6 +3017,10 @@ // get target Method* & entry point __ lookup_virtual_method(rax, index, method); +#ifdef GRAAL + // r14: MethodDataPointer (r14 is callee saved) + __ profile_called_method(method, r14, r13); +#endif __ jump_from_interpreted(method, rdx); } @@ -3101,7 +3105,7 @@ __ lookup_interface_method(// inputs: rec. class, interface, itable index rdx, rax, rbx, // outputs: method, scan temp. reg - rbx, r13, + rbx, r14, no_such_interface); // rbx: Method* to call @@ -3116,6 +3120,10 @@ // do the call // rcx: receiver // rbx,: Method* +#ifdef GRAAL + // r13: MethodDataPointer (r13 is callee saved) + __ profile_called_method(rbx, r13, r14); +#endif __ jump_from_interpreted(rbx, rdx); __ should_not_reach_here();