equal
deleted
inserted
replaced
1169 |
1169 |
1170 // If result is an oop unbox and store it in frame where gc will see it |
1170 // If result is an oop unbox and store it in frame where gc will see it |
1171 // and result handler will pick it up |
1171 // and result handler will pick it up |
1172 |
1172 |
1173 { |
1173 { |
1174 Label no_oop, not_weak, store_result; |
1174 Label no_oop; |
1175 __ lea(t, ExternalAddress(AbstractInterpreter::result_handler(T_OBJECT))); |
1175 __ lea(t, ExternalAddress(AbstractInterpreter::result_handler(T_OBJECT))); |
1176 __ cmpptr(t, Address(rbp, frame::interpreter_frame_result_handler_offset*wordSize)); |
1176 __ cmpptr(t, Address(rbp, frame::interpreter_frame_result_handler_offset*wordSize)); |
1177 __ jcc(Assembler::notEqual, no_oop); |
1177 __ jcc(Assembler::notEqual, no_oop); |
1178 // retrieve result |
1178 // retrieve result |
1179 __ pop(ltos); |
1179 __ pop(ltos); |