equal
deleted
inserted
replaced
540 |
540 |
541 // Clear out the exception oop and pc since looking up an |
541 // Clear out the exception oop and pc since looking up an |
542 // exception handler can cause class loading, which might throw an |
542 // exception handler can cause class loading, which might throw an |
543 // exception and those fields are expected to be clear during |
543 // exception and those fields are expected to be clear during |
544 // normal bytecode execution. |
544 // normal bytecode execution. |
545 thread->set_exception_oop(NULL); |
545 thread->clear_exception_oop_and_pc(); |
546 thread->set_exception_pc(NULL); |
|
547 |
546 |
548 continuation = SharedRuntime::compute_compiled_exc_handler(nm, pc, exception, false, false); |
547 continuation = SharedRuntime::compute_compiled_exc_handler(nm, pc, exception, false, false); |
549 // If an exception was thrown during exception dispatch, the exception oop may have changed |
548 // If an exception was thrown during exception dispatch, the exception oop may have changed |
550 thread->set_exception_oop(exception()); |
549 thread->set_exception_oop(exception()); |
551 thread->set_exception_pc(pc); |
550 thread->set_exception_pc(pc); |