Mercurial > hg > truffle
comparison src/cpu/x86/vm/templateInterpreter_x86_64.cpp @ 12882:ce0cc25bc5e2
8026054: New type profiling points: type of return values at calls
Summary: x86 interpreter and c1 type profiling for return values at calls
Reviewed-by: kvn, twisti
author | roland |
---|---|
date | Sat, 12 Oct 2013 12:12:59 +0200 |
parents | 6725044c5725 |
children | 5ccbab1c69f3 |
comparison
equal
deleted
inserted
replaced
12881:ed2c74787eb5 | 12882:ce0cc25bc5e2 |
---|---|
174 // and NULL it as marker that esp is now tos until next java call | 174 // and NULL it as marker that esp is now tos until next java call |
175 __ movptr(Address(rbp, frame::interpreter_frame_last_sp_offset * wordSize), (int32_t)NULL_WORD); | 175 __ movptr(Address(rbp, frame::interpreter_frame_last_sp_offset * wordSize), (int32_t)NULL_WORD); |
176 | 176 |
177 __ restore_bcp(); | 177 __ restore_bcp(); |
178 __ restore_locals(); | 178 __ restore_locals(); |
179 | |
180 if (state == atos) { | |
181 Register mdp = rbx; | |
182 Register tmp = rcx; | |
183 __ profile_return_type(mdp, rax, tmp); | |
184 } | |
179 | 185 |
180 Label L_got_cache, L_giant_index; | 186 Label L_got_cache, L_giant_index; |
181 if (EnableInvokeDynamic) { | 187 if (EnableInvokeDynamic) { |
182 __ cmpb(Address(r13, 0), Bytecodes::_invokedynamic); | 188 __ cmpb(Address(r13, 0), Bytecodes::_invokedynamic); |
183 __ jcc(Assembler::equal, L_giant_index); | 189 __ jcc(Assembler::equal, L_giant_index); |