changeset 9143:e86b05ee1ad6

Jtreg test compiler/uncommontrap/TestDeoptOOM.java causes JVM assert
author snazarki
date Thu, 11 Jul 2019 17:36:33 +0300
parents 0cdba2db78c6
children 9de094f4ade7
files src/cpu/aarch32/vm/templateInterpreter_aarch32.cpp
diffstat 1 files changed, 12 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/src/cpu/aarch32/vm/templateInterpreter_aarch32.cpp	Thu Jul 11 17:33:28 2019 +0300
+++ b/src/cpu/aarch32/vm/templateInterpreter_aarch32.cpp	Thu Jul 11 17:36:33 2019 +0300
@@ -232,18 +232,6 @@
   __ restore_constant_pool_cache();
   __ get_method(rmethod);
 
-  // handle exceptions
-  {
-    Label L;
-    __ ldr(rscratch1, Address(rthread, Thread::pending_exception_offset()));
-    __ cbz(rscratch1, L);
-    __ call_VM(noreg,
-               CAST_FROM_FN_PTR(address,
-                                InterpreterRuntime::throw_pending_exception));
-    __ should_not_reach_here();
-    __ bind(L);
-  }
-
   __ get_dispatch();
 
   // Calculate stack limit
@@ -261,6 +249,18 @@
   __ mov(rscratch1, 0);
   __ str(rscratch1, Address(rfp, frame::interpreter_frame_last_sp_offset * wordSize));
 
+  // handle exceptions
+  {
+    Label L;
+    __ ldr(rscratch1, Address(rthread, Thread::pending_exception_offset()));
+    __ cbz(rscratch1, L);
+    __ call_VM(noreg,
+               CAST_FROM_FN_PTR(address,
+                                InterpreterRuntime::throw_pending_exception));
+    __ should_not_reach_here();
+    __ bind(L);
+  }
+
   __ dispatch_next(state, step);
   return entry;
 }