Mercurial > hg > truffle
comparison src/share/vm/interpreter/interpreterRuntime.cpp @ 3055:fecdb0a65fb2
runtime profiles exceptions at the call site
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Tue, 21 Jun 2011 11:13:52 +0200 |
parents | ed69575596ac |
children | 5ca1332171c8 |
comparison
equal
deleted
inserted
replaced
3024:abcc480f3bd5 | 3055:fecdb0a65fb2 |
---|---|
455 current_bci = handler_bci; | 455 current_bci = handler_bci; |
456 should_repeat = true; | 456 should_repeat = true; |
457 } | 457 } |
458 } | 458 } |
459 } while (should_repeat == true); | 459 } while (should_repeat == true); |
460 | |
461 if (h_method->method_data() != NULL) { | |
462 ProfileData* pdata = h_method->method_data()->allocate_bci_to_data(current_bci); | |
463 if (pdata != NULL) { | |
464 int tstate0 = pdata->trap_state(); | |
465 int tstate1 = Deoptimization::trap_state_set_recompiled(tstate0, true); | |
466 if (tstate1 != tstate0) { | |
467 pdata->set_trap_state(tstate1); | |
468 } | |
469 } | |
470 } | |
460 | 471 |
461 // notify JVMTI of an exception throw; JVMTI will detect if this is a first | 472 // notify JVMTI of an exception throw; JVMTI will detect if this is a first |
462 // time throw or a stack unwinding throw and accordingly notify the debugger | 473 // time throw or a stack unwinding throw and accordingly notify the debugger |
463 if (JvmtiExport::can_post_on_exceptions()) { | 474 if (JvmtiExport::can_post_on_exceptions()) { |
464 JvmtiExport::post_exception_throw(thread, h_method(), bcp(thread), h_exception()); | 475 JvmtiExport::post_exception_throw(thread, h_method(), bcp(thread), h_exception()); |