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