On Thu, 11 Jul 2024 15:28:37 GMT, Aleksey Shipilev <sh...@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. > > Additional testing: > - [x] Linux x86_64 server fastdebug, `all` > - [ ] Linux AArch64 server fastdebug, `all` On Mac AArch64, which suffers from both native call and WX transition: Benchmark Mode Cnt Score Error Units # Intrinsic OFF ReferenceClear.phantom avgt 9 52,297 ? 0,294 ns/op ReferenceClear.phantom_new avgt 9 57,075 ? 0,296 ns/op ReferenceClear.soft avgt 9 52,567 ? 0,393 ns/op ReferenceClear.soft_new avgt 9 57,640 ? 0,264 ns/op ReferenceClear.weak avgt 9 53,018 ? 1,285 ns/op ReferenceClear.weak_new avgt 9 57,227 ? 0,483 ns/op # Intrinsic ON (default) ReferenceClear.phantom avgt 9 0,780 ? 0,017 ns/op ReferenceClear.soft avgt 9 0,784 ? 0,022 ns/op ReferenceClear.weak avgt 9 0,793 ? 0,033 ns/op ReferenceClear.phantom_new avgt 9 3,018 ? 0,015 ns/op ReferenceClear.soft_new avgt 9 3,268 ? 0,014 ns/op ReferenceClear.weak_new avgt 9 3,004 ? 0,057 ns/op On x86_64 m7a.16xlarge, which only suffers from the native call: Benchmark Mode Cnt Score Error Units # Intrinsic OFF ReferenceClear.phantom avgt 9 14.643 ± 0.049 ns/op ReferenceClear.soft avgt 9 14.939 ± 0.438 ns/op ReferenceClear.weak avgt 9 14.648 ± 0.081 ns/op ReferenceClear.phantom_new avgt 9 19.859 ± 2.405 ns/op ReferenceClear.soft_new avgt 9 20.208 ± 1.805 ns/op ReferenceClear.weak_new avgt 9 20.385 ± 2.570 ns/op # Intrinsic ON (default) ReferenceClear.phantom avgt 9 0.821 ± 0.010 ns/op ReferenceClear.soft avgt 9 0.817 ± 0.007 ns/op ReferenceClear.weak avgt 9 0.819 ± 0.010 ns/op ReferenceClear.phantom_new avgt 9 4.195 ± 0.729 ns/op ReferenceClear.soft_new avgt 9 4.315 ± 0.599 ns/op ReferenceClear.weak_new avgt 9 3.986 ± 0.596 ns/op ------------- PR Comment: https://git.openjdk.org/jdk/pull/20139#issuecomment-2223248114