diff src/share/vm/runtime/deoptimization.cpp @ 16535:ada0a7729b6f

Truffle: introduce debug option to print the stack trace when transferring to the interpreter
author Andreas Woess <andreas.woess@jku.at>
date Wed, 16 Jul 2014 15:18:48 +0200
parents 347915b8cea8
children 52b4284cb496
line wrap: on
line diff
--- a/src/share/vm/runtime/deoptimization.cpp	Tue Jul 15 11:52:45 2014 +0200
+++ b/src/share/vm/runtime/deoptimization.cpp	Wed Jul 16 15:18:48 2014 +0200
@@ -1393,7 +1393,12 @@
       trap_bci = 0;
       Thread::current()->set_pending_monitorenter(true);
     }
+
+    if (reason == Deoptimization::Reason_transfer_to_interpreter) {
+      thread->set_pending_transfer_to_interpreter(true);
+    }
 #endif
+
     Bytecodes::Code trap_bc     = trap_method->java_code_at(trap_bci);
 
     if (trap_scope->rethrow_exception()) {
@@ -1996,7 +2001,10 @@
   "age" GRAAL_ONLY("_or_jsr_mismatch"),
   "predicate",
   "loop_limit_check",
-  GRAAL_ONLY("aliasing")
+#ifdef GRAAL
+  "aliasing",
+  "transfer_to_interpreter",
+#endif
 };
 const char* Deoptimization::_trap_action_name[Action_LIMIT] = {
   // Note:  Keep this in sync. with enum DeoptAction.