< prev index next >

src/cpu/ppc/vm/interp_masm_ppc_64.cpp

Print this page
rev 12060 : 8166765: [ppc] Port "8163014: Mysterious/wrong value for long frame local variable on 64-bit"

@@ -259,10 +259,13 @@
   std(r, 0, R15_esp);
   addi(R15_esp, R15_esp, - Interpreter::stackElementSize );
 }
 
 void InterpreterMacroAssembler::push_l(Register r) {
+  // Clear unused slot.
+  load_const_optimized(R0, 0L);
+  std(R0, 0, R15_esp);
   std(r, - Interpreter::stackElementSize, R15_esp);
   addi(R15_esp, R15_esp, - 2 * Interpreter::stackElementSize );
 }
 
 void InterpreterMacroAssembler::push_f(FloatRegister f) {
< prev index next >