RFR: 8286596: AArch64: -XX:UseBranchProtection=pac-ret crashes after JDK-8284161

Ningsheng Jian njian at openjdk.java.net
Tue May 17 13:00:49 UTC 2022


On Thu, 12 May 2022 14:52:18 GMT, Nick Gasson <ngasson at openjdk.org> wrote:

> `RegisterSaver::restore_live_registers()` used to call `__ leave()` but after the Loom integration it directly pops LR/FP from the stack.  With `-XX:UseBranchProtection=pac-ret` we need a call to `__ authenticate_return_address()` here to insert the AUTIA instruction to check and strip the PAC code from the saved LR.
> 
> Tested `java -XX:UseBranchProtection=pac-ret -version` on a machine that supports PAC, plus tier1.  Note that some additional fixes will be required to support virtual threads with PAC enabled.

Looks good!

-------------

Marked as reviewed by njian (Committer).

PR: https://git.openjdk.java.net/jdk/pull/8682


More information about the hotspot-compiler-dev mailing list