RFR: 8267235: [macos_aarch64] InterpreterRuntime::throw_pending_exception messing up LR results in crash
Andrew Haley
aph at openjdk.java.net
Thu May 20 13:18:30 UTC 2021
On Wed, 19 May 2021 12:54:03 GMT, Vladimir Kempik <vkempik at openjdk.org> wrote:
> Please review this patch for call_VM_Base routine.
> it's expected there the LR is callee-saved register, but it's not on aarch64.
> when InterpreterRuntime::throw_pending_exception is tail-call optimized,
> the last subroutine before return is pthread_jit_write_protect_np which pac-sign LR.
> It can only be reproduced in macos 11.4beta (just run J2Ddemo ) but in fact affects every aarch64 build.
src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp line 687:
> 685: JavaThread::frame_anchor_offset()
> 686: + JavaFrameAnchor::last_Java_pc_offset()));
> 687:
Is this any different from `adr(lr, l)` ?
-------------
PR: https://git.openjdk.java.net/jdk/pull/4115
More information about the hotspot-dev
mailing list