RFR: JDK-8316392: compiler/interpreter/TestVerifyStackAfterDeopt.java failed with SIGBUS in PcDescContainer::find_pc_desc_internal [v3]

Tobias Holenstein tholenstein at openjdk.org
Mon Nov 13 09:06:23 UTC 2023


> In `PcDescContainer::find_pc_desc_internal` we call `_pc_desc_cache.add_pc_desc(upper)`.  `PcDescCache::add_pc_desc` writes to the PcDescCache which requires to have the `WXWrite` lock on `MACOS_AARCH64`. Since the lock is now directly in `PcDescCache::add_pc_desc` we can remove it from `nmethod::decode2`, which calls can write to a PcDescCache.
> 
> (I'm working on a more complete fix for WXWrite to hopefully finally end this whack-a-mole)
> 
> Testing passed. 
> 
> 
> ### Side note about WXWrite
> 
> On Apple Silicon the Writer/Execute lock is a new Hardened Runtime capability, see:
> https://developer.apple.com/documentation/apple-silicon/porting-just-in-time-compilers-to-apple-silicon
> 
> It prevents memory regions to be writable and executable at the same time. Therefore, we need to acquire WXWrite when we want to write to the code cache.

Tobias Holenstein has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains six commits:

 - Merge branch 'master' into JDK-8316392
 - remove compiler/interpreter/TestVerifyStackAfterDeopt.java from test/hotspot/jtreg/ProblemList-Xcomp.txt
 - simple fix
 - Revert "v1"
   
   This reverts commit 98ea2c63670cce0c41bdc2112aba30308c4e78dd.
   
   Revert "v2"
   
   This reverts commit f5e21f99a74daad7c053aacb0a9353acf0a7e766.
 - v2
 - v1

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

Changes: https://git.openjdk.org/jdk/pull/16308/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=16308&range=02
  Stats: 7 lines in 2 files changed: 1 ins; 5 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/16308.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16308/head:pull/16308

PR: https://git.openjdk.org/jdk/pull/16308


More information about the hotspot-compiler-dev mailing list