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);