diff src/share/vm/runtime/deoptimization.cpp @ 6428:6278ac5829ce

fix for deopt issue with -XX:-UseBiasedLocking (plus a cosmetic fix in graalCodeInstaller.cpp)
author Lukas Stadler <lukas.stadler@jku.at>
date Mon, 24 Sep 2012 18:51:23 +0200
parents 957c266d8bc5
children e522a00b91aa
line wrap: on
line diff
--- a/src/share/vm/runtime/deoptimization.cpp	Mon Sep 24 11:00:35 2012 +0200
+++ b/src/share/vm/runtime/deoptimization.cpp	Mon Sep 24 18:51:23 2012 +0200
@@ -1261,7 +1261,12 @@
   thread->inc_in_deopt_handler();
 
   // We need to update the map if we have biased locking.
+#ifdef GRAAL
+  // (lstadler) Graal might need to get an exception from the stack, which in turn requires the register map to be valid
+  RegisterMap reg_map(thread, true);
+#else
   RegisterMap reg_map(thread, UseBiasedLocking);
+#endif
   frame stub_frame = thread->last_frame();
   frame fr = stub_frame.sender(&reg_map);
   // Make sure the calling nmethod is not getting deoptimized and removed