comparison 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
comparison
equal deleted inserted replaced
3557:b2cd623a93ad 3558:bc95d122df79
1263 nmethod* nm = cvf->code(); 1263 nmethod* nm = cvf->code();
1264 ScopeDesc* trap_scope = cvf->scope(); 1264 ScopeDesc* trap_scope = cvf->scope();
1265 1265
1266 if (TraceDeoptimization) { 1266 if (TraceDeoptimization) {
1267 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()); 1267 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());
1268 if (thread->graal_deopt_info() != NULL) {
1269 oop deopt_info = thread->graal_deopt_info();
1270 if (java_lang_String::is_instance(deopt_info)) {
1271 char buf[1024];
1272 java_lang_String::as_utf8_string(deopt_info, buf, 1024);
1273 tty->print_cr("deopt info: %s", buf);
1274 } else {
1275 tty->print_cr("deopt info:");
1276 deopt_info->print();
1277 }
1278 thread->set_graal_deopt_info(NULL);
1279 }
1268 } 1280 }
1269 1281
1270 methodHandle trap_method = trap_scope->method(); 1282 methodHandle trap_method = trap_scope->method();
1271 int trap_bci = trap_scope->bci(); 1283 int trap_bci = trap_scope->bci();
1272 Bytecodes::Code trap_bc = trap_method->java_code_at(trap_bci); 1284 Bytecodes::Code trap_bc = trap_method->java_code_at(trap_bci);