8166765: [ppc] Port "8163014: Mysterious/wrong value for long frame local variable on 64-bit"
authorgoetz
Tue, 27 Sep 2016 10:47:08 +0200
changeset 41342 18c64f6a5cc3
parent 41341 9358c2e16446
child 41343 e42e78cd7c6f
child 41665 14f1cb3d2d3a
8166765: [ppc] Port "8163014: Mysterious/wrong value for long frame local variable on 64-bit" Reviewed-by: mockner
hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.cpp
--- a/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.cpp	Tue Sep 27 15:45:44 2016 +0200
+++ b/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.cpp	Tue Sep 27 10:47:08 2016 +0200
@@ -261,6 +261,9 @@
 }
 
 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 );
 }