src/cpu/x86/vm/interpreterRT_x86_32.cpp
Print this page
*** 52,62 ****
void InterpreterRuntime::SignatureHandlerGenerator::box(int from_offset, int to_offset) {
__ lea(temp(), Address(from(), Interpreter::local_offset_in_bytes(from_offset)));
__ cmpptr(Address(from(), Interpreter::local_offset_in_bytes(from_offset)), (int32_t)NULL_WORD); // do not use temp() to avoid AGI
Label L;
__ jcc(Assembler::notZero, L);
! __ movptr(temp(), ((int32_t)NULL_WORD));
__ bind(L);
__ movptr(Address(to(), to_offset * wordSize), temp());
}
--- 52,62 ----
void InterpreterRuntime::SignatureHandlerGenerator::box(int from_offset, int to_offset) {
__ lea(temp(), Address(from(), Interpreter::local_offset_in_bytes(from_offset)));
__ cmpptr(Address(from(), Interpreter::local_offset_in_bytes(from_offset)), (int32_t)NULL_WORD); // do not use temp() to avoid AGI
Label L;
__ jcc(Assembler::notZero, L);
! __ movptr(temp(), NULL_WORD);
__ bind(L);
__ movptr(Address(to(), to_offset * wordSize), temp());
}