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());