changeset 12126:8899d50bd985

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 16e8d5342f7d
children ece8d8d7daec 6f05f0a297a1
files src/cpu/ppc/vm/interp_masm_ppc_64.cpp
diffstat 1 files changed, 3 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/cpu/ppc/vm/interp_masm_ppc_64.cpp	Tue Sep 27 15:45:44 2016 +0200
+++ b/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 );
 }