Mercurial > hg > graal-compiler
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); |