changeset 7702:6c3f66ac3800

8152304: aarch32: fix for compiler/7116216/StackOverflow regression test Reviewed-by: enevill Contributed-by: snazarkin@azul.com
author enevill
date Tue, 22 Mar 2016 16:27:25 +0000
parents 205725ab0f1c
children b5648d88fc8e
files src/cpu/aarch32/vm/stubGenerator_aarch32.cpp src/cpu/aarch32/vm/templateInterpreter_aarch32.cpp
diffstat 2 files changed, 5 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/cpu/aarch32/vm/stubGenerator_aarch32.cpp	Tue Mar 22 16:15:46 2016 +0000
+++ b/src/cpu/aarch32/vm/stubGenerator_aarch32.cpp	Tue Mar 22 16:27:25 2016 +0000
@@ -1287,6 +1287,7 @@
     }
     __ mov(c_rarg0, rthread);
     BLOCK_COMMENT("call runtime_entry");
+    __ align_stack();
     __ mov(rscratch1, runtime_entry);
     __ bl(rscratch1);
 
--- a/src/cpu/aarch32/vm/templateInterpreter_aarch32.cpp	Tue Mar 22 16:15:46 2016 +0000
+++ b/src/cpu/aarch32/vm/templateInterpreter_aarch32.cpp	Tue Mar 22 16:27:25 2016 +0000
@@ -508,6 +508,10 @@
   __ cmp(sp, r0);
   __ b(after_frame_check, Assembler::HI);
 
+  // Remove the incoming args, peeling the machine SP back to where it
+  // was in the caller.
+  __ mov(sp, r4);
+
   // Note: the restored frame is not necessarily interpreted.
   // Use the shared runtime version of the StackOverflowError.
   assert(StubRoutines::throw_StackOverflowError_entry() != NULL, "stub not yet generated");