RFR: 8352565: Add native method implementation of Reference.get() [v6]

Kim Barrett kbarrett at openjdk.org
Tue May 20 22:16:55 UTC 2025


On Tue, 20 May 2025 18:43:16 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:

>> Kim Barrett 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 10 additional commits since the last revision:
>> 
>>  - Merge branch 'master' into native-reference-get
>>  - use new waitForRefProc, some tidying
>>  - Merge branch 'master' into native-reference-get
>>  - remove timeout by using waitForReferenceProcessing
>>  - make ill-timed gc in non-concurrent case less likely
>>  - fix test package use
>>  - add package decl to test
>>  - parameterized return type of native get0
>>  - test native method
>>  - native Reference.get helper
>
> src/java.base/share/classes/java/lang/ref/Reference.java line 366:
> 
>> 364: 
>> 365:     /* Implementation of unintrinsified get().  Making get() native may lead
>> 366:      * C2 to sometimes prefer the native implementation over the intrinsic.
> 
> Can you share more details on this?

See review thread slightly above here, specifically https://github.com/openjdk/jdk/pull/24315/files#r2094884157.
I've looked at the intrinsics for Object.clone() and Object.hashCode(), but only enough to decide I
understand the approach being taken here better than what's in those.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24315#discussion_r2098956661


More information about the core-libs-dev mailing list