< prev index next >
src/hotspot/cpu/arm/sharedRuntime_arm.cpp
Print this page
*** 1573,1585 ****
// Call unpack_frames with proper arguments
__ mov(R0, Rthread);
__ mov(R1, Rkind);
! pc_offset = __ set_last_Java_frame(SP, FP, false, Rtemp);
assert(((__ pc()) - start) == __ offset(), "warning: start differs from code_begin");
! __ call(CAST_FROM_FN_PTR(address, Deoptimization::unpack_frames));
if (pc_offset == -1) {
pc_offset = __ offset();
}
oop_maps->add_gc_map(pc_offset, new OopMap(frame_size_in_words * VMRegImpl::slots_per_word, 0));
__ reset_last_Java_frame(Rtemp); // Rtemp free since scratched by far call
--- 1573,1585 ----
// Call unpack_frames with proper arguments
__ mov(R0, Rthread);
__ mov(R1, Rkind);
! pc_offset = __ set_last_Java_frame(SP, FP, true, Rtemp);
assert(((__ pc()) - start) == __ offset(), "warning: start differs from code_begin");
! __ call_VM_leaf(CAST_FROM_FN_PTR(address, Deoptimization::unpack_frames));
if (pc_offset == -1) {
pc_offset = __ offset();
}
oop_maps->add_gc_map(pc_offset, new OopMap(frame_size_in_words * VMRegImpl::slots_per_word, 0));
__ reset_last_Java_frame(Rtemp); // Rtemp free since scratched by far call
*** 1740,1751 ****
__ mov(FP, SP);
// Call unpack_frames with proper arguments
__ mov(R0, Rthread);
__ mov(R1, Deoptimization::Unpack_uncommon_trap);
! __ set_last_Java_frame(SP, FP, false, Rtemp);
! __ call(CAST_FROM_FN_PTR(address, Deoptimization::unpack_frames));
// oop_maps->add_gc_map(__ pc() - start, new OopMap(frame_size_in_words, 0));
__ reset_last_Java_frame(Rtemp);
__ mov(SP, FP);
__ pop(RegisterSet(FP) | RegisterSet(PC));
--- 1740,1751 ----
__ mov(FP, SP);
// Call unpack_frames with proper arguments
__ mov(R0, Rthread);
__ mov(R1, Deoptimization::Unpack_uncommon_trap);
! __ set_last_Java_frame(SP, FP, true, Rtemp);
! __ call_VM_leaf(CAST_FROM_FN_PTR(address, Deoptimization::unpack_frames));
// oop_maps->add_gc_map(__ pc() - start, new OopMap(frame_size_in_words, 0));
__ reset_last_Java_frame(Rtemp);
__ mov(SP, FP);
__ pop(RegisterSet(FP) | RegisterSet(PC));
< prev index next >