RFR: 8329597: C2: Intrinsify Reference.clear [v5]

Aleksey Shipilev shade at openjdk.org
Mon Sep 30 16:50:13 UTC 2024


> [JDK-8240696](https://bugs.openjdk.org/browse/JDK-8240696) added the native method for `Reference.clear`. The original patch skipped intrinsification of this method, because we thought `Reference.clear` is not on a performance sensitive path. However, it shows up prominently on simple benchmarks that touch e.g. `ThreadLocal` cleanups. See the bug for an example profile with `RRWL` benchmarks.
> 
> We need to know the actual oop strongness/weakness before we call into C2 Access API, this work models this after existing code for `refersTo0` intrinsics. C2 Access also need a support for `AS_NO_KEEPALIVE` for stores. 
> 
> Additional testing:
>  - [ ] Linux x86_64 server fastdebug, `all`
>  - [ ] Linux AArch64 server fastdebug, `all`

Aleksey Shipilev has updated the pull request incrementally with two additional commits since the last revision:

 - Fix other arches
 - Tighten up comments in Reference javadoc

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/20139/files
  - new: https://git.openjdk.org/jdk/pull/20139/files/cba0a8e9..8ba681a4

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=20139&range=04
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=20139&range=03-04

  Stats: 16 lines in 4 files changed: 7 ins; 4 del; 5 mod
  Patch: https://git.openjdk.org/jdk/pull/20139.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/20139/head:pull/20139

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


More information about the core-libs-dev mailing list