RFR: JDK-8264899: C1: -XX:AbortVMOnException does not work if all methods in the call stack are compiled with C1 and there are no exception handlers [v5]
Damon Fenacci
duke at openjdk.org
Tue Jun 20 07:25:04 UTC 2023
On Fri, 16 Jun 2023 11:09:19 GMT, Fei Yang <fyang at openjdk.org> wrote:
>> Damon Fenacci has updated the pull request incrementally with one additional commit since the last revision:
>>
>> JDK-8264899: fix exception oop register for s390
>
> src/hotspot/cpu/riscv/c1_Runtime1_riscv.cpp line 509:
>
>> 507: __ leave();
>> 508: }
>> 509:
>
> Hi, the newly-added test case passed on linux-riscv64 with this fix.
> But seems that this could still be improved? Something like:
>
> diff --git a/src/hotspot/cpu/riscv/c1_Runtime1_riscv.cpp b/src/hotspot/cpu/riscv/c1_Runtime1_riscv.cpp
> index 24b97875910..ea086d46bda 100644
> --- a/src/hotspot/cpu/riscv/c1_Runtime1_riscv.cpp
> +++ b/src/hotspot/cpu/riscv/c1_Runtime1_riscv.cpp
> @@ -499,10 +499,9 @@ void Runtime1::generate_unwind_exception(StubAssembler *sasm) {
> const Register handler_addr = x11;
>
> if (AbortVMOnException) {
> - __ mv(x15, x10);
> __ enter();
> save_live_registers(sasm);
> - __ call_VM_leaf(CAST_FROM_FN_PTR(address, check_abort_on_vm_exception), x15);
> + __ call_VM_leaf(CAST_FROM_FN_PTR(address, check_abort_on_vm_exception), x10);
> restore_live_registers(sasm);
> __ leave();
> }
@RealFYang you're right: no need to copy the argument to another register. Fixed it. Thank you!
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/14240#discussion_r1234836227
More information about the hotspot-dev
mailing list