RFR: 8329597: C2: Intrinsify Reference.clear [v8]
Aleksey Shipilev
shade at openjdk.org
Mon Oct 7 07:12:37 UTC 2024
On Sun, 6 Oct 2024 14:43:09 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:
>> - [x] Linux x86_64 server fastdebug, `all`
>> - [x] Linux AArch64 server fastdebug, `all`
>
> Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision:
>
> More precise bit-unmasks
Tests pass with the new change. I eyeballed G1 perfasm output on new benchmark, and there are no barriers in sight as well.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/20139#issuecomment-2396092920
More information about the hotspot-dev
mailing list