changeset 41342:18c64f6a5cc3

8166765: [ppc] Port "8163014: Mysterious/wrong value for long frame local variable on 64-bit" Reviewed-by: mockner
author goetz
date Tue, 27 Sep 2016 10:47:08 +0200
parents 9358c2e16446
children e42e78cd7c6f 14f1cb3d2d3a
files hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.cpp
diffstat 1 files changed, 3 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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 );
 }