< 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 >