52 void InterpreterRuntime::SignatureHandlerGenerator::box(int from_offset, int to_offset) { |
52 void InterpreterRuntime::SignatureHandlerGenerator::box(int from_offset, int to_offset) { |
53 __ lea(temp(), Address(from(), Interpreter::local_offset_in_bytes(from_offset))); |
53 __ lea(temp(), Address(from(), Interpreter::local_offset_in_bytes(from_offset))); |
54 __ cmpptr(Address(from(), Interpreter::local_offset_in_bytes(from_offset)), (int32_t)NULL_WORD); // do not use temp() to avoid AGI |
54 __ cmpptr(Address(from(), Interpreter::local_offset_in_bytes(from_offset)), (int32_t)NULL_WORD); // do not use temp() to avoid AGI |
55 Label L; |
55 Label L; |
56 __ jcc(Assembler::notZero, L); |
56 __ jcc(Assembler::notZero, L); |
57 __ movptr(temp(), ((int32_t)NULL_WORD)); |
57 __ movptr(temp(), NULL_WORD); |
58 __ bind(L); |
58 __ bind(L); |
59 __ movptr(Address(to(), to_offset * wordSize), temp()); |
59 __ movptr(Address(to(), to_offset * wordSize), temp()); |
60 } |
60 } |
61 |
61 |
62 |
62 |