Mercurial > hg > truffle
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();