RFR: 8319777: Zero: Support 8-byte cmpxchg [v2]

Aleksey Shipilev shade at openjdk.org
Tue Nov 14 13:28:09 UTC 2023


> See related discussion in [JDK-8318776](https://bugs.openjdk.org/browse/JDK-8318776) that targets to require `supports_cx8()` unconditionally.
> 
> I think we can claim Zero is `supports_cx8() == true`, because we have enough fallbacks for 8-byte CASes to work. Note that some code already reaches for these without checking for `supports_cx8()`, so the proverbial horses have already left the barn.
> 
> I ran tests with [JDK-8319883](https://bugs.openjdk.org/browse/JDK-8319883) applied to fix known problems with x86_32 Zero.
> 
> Additional testing:
>  - [x] Linux x86_32 Zero release; jcstress
>  - [x] Linux x86_32 Zero fastdebug, `compiler/unsafe java/lang/invoke/VarHandles`
>  - [x] Linux x86_32 Zero fastdebug, bootcycle-images

Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision:

 - Only do _supports_cx8 = true
 - Merge branch 'master' into JDK-8319777-zero-64cas
 - Fix

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/16614/files
  - new: https://git.openjdk.org/jdk/pull/16614/files/83c93a3c..783330fa

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=16614&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=16614&range=00-01

  Stats: 602737 lines in 742 files changed: 78192 ins; 465259 del; 59286 mod
  Patch: https://git.openjdk.org/jdk/pull/16614.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16614/head:pull/16614

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


More information about the hotspot-dev mailing list