480 // The continuation address is the entry point of the exception handler of the |
480 // The continuation address is the entry point of the exception handler of the |
481 // previous frame depending on the return address. |
481 // previous frame depending on the return address. |
482 |
482 |
483 address SharedRuntime::raw_exception_handler_for_return_address(JavaThread* thread, address return_address) { |
483 address SharedRuntime::raw_exception_handler_for_return_address(JavaThread* thread, address return_address) { |
484 assert(frame::verify_return_pc(return_address), err_msg("must be a return address: " INTPTR_FORMAT, return_address)); |
484 assert(frame::verify_return_pc(return_address), err_msg("must be a return address: " INTPTR_FORMAT, return_address)); |
|
485 assert(thread->frames_to_pop_failed_realloc() == 0 || Interpreter::contains(return_address), "missed frames to pop?"); |
485 |
486 |
486 // Reset method handle flag. |
487 // Reset method handle flag. |
487 thread->set_is_method_handle_return(false); |
488 thread->set_is_method_handle_return(false); |
488 |
489 |
489 // The fastest case first |
490 // The fastest case first |