< prev index next >
src/hotspot/cpu/x86/templateTable_x86.cpp
Print this page
rev 47576 : [mq]: Interpreter-Poll-7
*** 2082,2092 ****
__ subptr(rax, Address(rcx, Method::const_offset()));
// Adjust the bcp in r13 by the displacement in rdx
__ addptr(rbcp, rdx);
// jsr returns atos that is not an oop
__ push_i(rax);
! __ dispatch_only(vtos);
return;
}
// Normal (non-jsr) branch handling
--- 2082,2092 ----
__ subptr(rax, Address(rcx, Method::const_offset()));
// Adjust the bcp in r13 by the displacement in rdx
__ addptr(rbcp, rdx);
// jsr returns atos that is not an oop
__ push_i(rax);
! __ dispatch_only(vtos, true);
return;
}
// Normal (non-jsr) branch handling
*** 2201,2211 ****
// continue with the bytecode @ target
// rax: return bci for jsr's, unused otherwise
// rbx: target bytecode
// r13: target bcp
! __ dispatch_only(vtos);
if (UseLoopCounter) {
if (ProfileInterpreter) {
// Out-of-line code to allocate method data oop.
__ bind(profile_method);
--- 2201,2211 ----
// continue with the bytecode @ target
// rax: return bci for jsr's, unused otherwise
// rbx: target bytecode
// r13: target bcp
! __ dispatch_only(vtos, true);
if (UseLoopCounter) {
if (ProfileInterpreter) {
// Out-of-line code to allocate method data oop.
__ bind(profile_method);
*** 2330,2340 ****
__ profile_ret(rbx, rcx);
__ get_method(rax);
__ movptr(rbcp, Address(rax, Method::const_offset()));
__ lea(rbcp, Address(rbcp, rbx, Address::times_1,
ConstMethod::codes_offset()));
! __ dispatch_next(vtos);
}
void TemplateTable::wide_ret() {
transition(vtos, vtos);
locals_index_wide(rbx);
--- 2330,2340 ----
__ profile_ret(rbx, rcx);
__ get_method(rax);
__ movptr(rbcp, Address(rax, Method::const_offset()));
__ lea(rbcp, Address(rbcp, rbx, Address::times_1,
ConstMethod::codes_offset()));
! __ dispatch_next(vtos, 0, true);
}
void TemplateTable::wide_ret() {
transition(vtos, vtos);
locals_index_wide(rbx);
< prev index next >