diff src/share/vm/runtime/deoptimization.cpp @ 3558:bc95d122df79

added runtime call to supply info upon deoptimization
author Lukas Stadler <lukas.stadler@jku.at>
date Wed, 24 Aug 2011 17:40:12 +0200
parents be4ca325525a
children 04b9a2566eec
line wrap: on
line diff
--- a/src/share/vm/runtime/deoptimization.cpp	Wed Aug 24 14:22:34 2011 +0200
+++ b/src/share/vm/runtime/deoptimization.cpp	Wed Aug 24 17:40:12 2011 +0200
@@ -1265,6 +1265,18 @@
     
     if (TraceDeoptimization) {
       tty->print_cr("Deoptimization: bci=%d pc=%d, relative_pc=%d, method=%s", trap_scope->bci(), fr.pc(), fr.pc() - nm->code_begin(), trap_scope->method()->name()->as_C_string());
+      if (thread->graal_deopt_info() != NULL) {
+        oop deopt_info = thread->graal_deopt_info();
+        if (java_lang_String::is_instance(deopt_info)) {
+          char buf[1024];
+          java_lang_String::as_utf8_string(deopt_info, buf, 1024);
+          tty->print_cr("deopt info: %s", buf);
+        } else {
+          tty->print_cr("deopt info:");
+          deopt_info->print();
+        }
+        thread->set_graal_deopt_info(NULL);
+      }
     }
 
     methodHandle    trap_method = trap_scope->method();