437 |
437 |
438 compilation()->offsets()->set_value(CodeOffsets::Exceptions, code_offset()); |
438 compilation()->offsets()->set_value(CodeOffsets::Exceptions, code_offset()); |
439 |
439 |
440 // if the method does not have an exception handler, then there is |
440 // if the method does not have an exception handler, then there is |
441 // no reason to search for one |
441 // no reason to search for one |
442 if (compilation()->has_exception_handlers() || JvmtiExport::can_post_exceptions()) { |
442 if (compilation()->has_exception_handlers() || compilation()->env()->jvmti_can_post_exceptions()) { |
443 // the exception oop and pc are in rax, and rdx |
443 // the exception oop and pc are in rax, and rdx |
444 // no other registers need to be preserved, so invalidate them |
444 // no other registers need to be preserved, so invalidate them |
445 __ invalidate_registers(false, true, true, false, true, true); |
445 __ invalidate_registers(false, true, true, false, true, true); |
446 |
446 |
447 // check that there is really an exception |
447 // check that there is really an exception |