On Tue, 31 Jan 2023 14:59:31 GMT, Doug Simon <dnsi...@openjdk.org> wrote:
>> Alan Hayward has updated the pull request with a new target base due to a >> merge or a rebase. The pull request now contains 34 commits: >> >> - Merge master >> - Merge master >> - Merge master >> - Error on -XX:-PreserveFramePointer -XX:UseBranchProtection=pac-ret >> - Add comments to enter calls >> - Set PreserveFramePointer if use_rop_protection is set >> - Merge enter_subframe into enter >> - Review fixups >> - Documentation updates >> - Update copyrights to 2022 >> - ... and 24 more: https://git.openjdk.org/jdk/compare/022d8070...c4e0ee31 > > src/hotspot/cpu/aarch64/vm_version_aarch64.cpp line 413: > >> 411: } >> 412: >> 413: if (UseBranchProtection == nullptr || strcmp(UseBranchProtection, >> "none") == 0) { > > My understanding is that `UseBranchProtection` requires JIT compiler > integration. This is currently missing in Graal. The logic that decides if it > should be enabled by default needs to take JVMCI into consideration, much > like the call to `JVMCIGlobals::check_jvmci_supported_gc` determines if JVMCI > supports the configured GC. > > Thanks to @gilles-duboscq for alerting me to this change. Thanks for reporting this. @dougxc Yes. I encountered several jtreg failures with Graal, which is built with PAC-RET enabled JDK. As I see it, the straightforward fix is to disable JVMCI if `_rop_protection` is parsed as "true" finally, since Graal doesn't supports PAC-RET currently. That is similar to the way `JVMCIGlobals::check_jvmci_supported_gc` does, i.e. if one GC except `G1/Serial/Parallel` is configured, we disable JVMCI. WDYT ------------- PR: https://git.openjdk.org/jdk/pull/6334