< prev index next >
src/hotspot/cpu/ppc/sharedRuntime_ppc.cpp
Print this page
rev 55858 : 8228649: [PPC64] SA reads wrong slots from interpreter frames
Summary: Make frame layout consistent between dbg and product build and implement offsets accordingly.
Reviewed-by: goetz, gromero
*** 2717,2730 ****
__ ld(pc_reg, 0, pcs_reg);
__ ld(frame_size_reg, 0, frame_sizes_reg);
__ std(pc_reg, _abi(lr), R1_SP);
__ push_frame(frame_size_reg, R0/*tmp*/);
- #ifdef ASSERT
- __ load_const_optimized(pc_reg, 0x5afe);
- __ std(pc_reg, _ijava_state_neg(ijava_reserved), R1_SP);
- #endif
__ std(R1_SP, _ijava_state_neg(sender_sp), R1_SP);
__ addi(number_of_frames_reg, number_of_frames_reg, -1);
__ addi(frame_sizes_reg, frame_sizes_reg, wordSize);
__ addi(pcs_reg, pcs_reg, wordSize);
}
--- 2717,2726 ----
*** 2793,2806 ****
// In the case where we have resized a c2i frame above, the optional
// alignment below the locals has size 32 (why?).
__ std(R12_scratch2, _abi(lr), R1_SP);
// Initialize initial_caller_sp.
- #ifdef ASSERT
- __ load_const_optimized(pc_reg, 0x5afe);
- __ std(pc_reg, _ijava_state_neg(ijava_reserved), R1_SP);
- #endif
__ std(frame_size_reg, _ijava_state_neg(sender_sp), R1_SP);
#ifdef ASSERT
// Make sure that there is at least one entry in the array.
__ cmpdi(CCR0, number_of_frames_reg, 0);
--- 2789,2798 ----
< prev index next >