3326 __ addptr(rsp, SimpleRuntimeFrame::return_off << LogBytesPerInt); // Epilog |
3326 __ addptr(rsp, SimpleRuntimeFrame::return_off << LogBytesPerInt); // Epilog |
3327 __ pop(rdx); // No need for exception pc anymore |
3327 __ pop(rdx); // No need for exception pc anymore |
3328 |
3328 |
3329 // rax: exception handler |
3329 // rax: exception handler |
3330 |
3330 |
3331 // Restore SP from BP if the exception PC is a MethodHandle call. |
3331 // Restore SP from BP if the exception PC is a MethodHandle call site. |
3332 __ cmpl(Address(r15_thread, JavaThread::is_method_handle_exception_offset()), 0); |
3332 __ cmpl(Address(r15_thread, JavaThread::is_method_handle_return_offset()), 0); |
3333 __ cmovptr(Assembler::notEqual, rsp, rbp); |
3333 __ cmovptr(Assembler::notEqual, rsp, rbp); |
3334 |
3334 |
3335 // We have a handler in rax (could be deopt blob). |
3335 // We have a handler in rax (could be deopt blob). |
3336 __ mov(r8, rax); |
3336 __ mov(r8, rax); |
3337 |
3337 |