From aac270bfefd2c65ecdcfb2de0095e3e214c374e8 Mon Sep 17 00:00:00 2001 From: duke Date: Wed, 16 Jul 2025 16:04:09 +0000 Subject: [PATCH] Backport 6ed81641b101658fbbd35445b6dd74ec17fc20f3 --- src/hotspot/cpu/arm/arm.ad | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/hotspot/cpu/arm/arm.ad b/src/hotspot/cpu/arm/arm.ad index 4a0b557968caa..3b6faa6c81a7a 100644 --- a/src/hotspot/cpu/arm/arm.ad +++ b/src/hotspot/cpu/arm/arm.ad @@ -8888,13 +8888,8 @@ instruct TailCalljmpInd(IPRegP jump_target, inline_cache_regP method_ptr) %{ match(TailCall jump_target method_ptr); ins_cost(CALL_COST); - format %{ "MOV Rexception_pc, LR\n\t" - "jump $jump_target \t! $method_ptr holds method" %} + format %{ "jump $jump_target \t! $method_ptr holds method" %} ins_encode %{ - __ mov(Rexception_pc, LR); // this is used only to call - // StubRoutines::forward_exception_entry() - // which expects PC of exception in - // R5. FIXME? __ jump($jump_target$$Register); %} ins_pipe(tail_call); @@ -8939,8 +8934,10 @@ instruct ForwardExceptionjmp() match(ForwardException); ins_cost(CALL_COST); - format %{ "b forward_exception_stub" %} + format %{ "MOV Rexception_pc, LR\n\t" + "b forward_exception_entry" %} ins_encode %{ + __ mov(Rexception_pc, LR); // OK to trash Rtemp, because Rtemp is used by stub __ jump(StubRoutines::forward_exception_entry(), relocInfo::runtime_call_type, Rtemp); %}