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

Kim Barrett kbarrett at openjdk.org
Tue Oct 1 01:37:45 UTC 2024


On Mon, 30 Sep 2024 16:59:16 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

>> [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 one additional commit since the last revision:
> 
>   Also dispatch to slow-path on other arches

Removing my "Request changes" as request has been satisfied.

I've only really looked at the changes in java.base, which look fine.  I've skimmed some
of the compiler code, but don't feel qualified to properly review it.  So don't count or
wait for me as a reviewer.

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

PR Review: https://git.openjdk.org/jdk/pull/20139#pullrequestreview-2338962626


More information about the hotspot-dev mailing list