Mercurial > hg > truffle
comparison src/cpu/x86/vm/templateInterpreter_x86_32.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 | ca0165daa6ec |
children | 5ccbab1c69f3 |
comparison
equal
deleted
inserted
replaced
12881:ed2c74787eb5 | 12882:ce0cc25bc5e2 |
---|---|
191 // and NULL it as marker that rsp is now tos until next java call | 191 // and NULL it as marker that rsp is now tos until next java call |
192 __ movptr(Address(rbp, frame::interpreter_frame_last_sp_offset * wordSize), NULL_WORD); | 192 __ movptr(Address(rbp, frame::interpreter_frame_last_sp_offset * wordSize), NULL_WORD); |
193 | 193 |
194 __ restore_bcp(); | 194 __ restore_bcp(); |
195 __ restore_locals(); | 195 __ restore_locals(); |
196 | |
197 if (incoming_state == atos) { | |
198 Register mdp = rbx; | |
199 Register tmp = rcx; | |
200 __ profile_return_type(mdp, rax, tmp); | |
201 } | |
196 | 202 |
197 Label L_got_cache, L_giant_index; | 203 Label L_got_cache, L_giant_index; |
198 if (EnableInvokeDynamic) { | 204 if (EnableInvokeDynamic) { |
199 __ cmpb(Address(rsi, 0), Bytecodes::_invokedynamic); | 205 __ cmpb(Address(rsi, 0), Bytecodes::_invokedynamic); |
200 __ jcc(Assembler::equal, L_giant_index); | 206 __ jcc(Assembler::equal, L_giant_index); |