RFR: 8256999: Add C2 intrinsic for Reference.refersTo and PhantomReference::refersTo [v3]

Vladimir Kozlov kvn at openjdk.java.net
Sat Nov 28 23:30:13 UTC 2020


> JDK-8188055 added the function Reference.refersTo. For performance, the supporting native methods Reference.refersTo0 and PhantomReference.refersTo0 should be intrinsified by C2.
> 
> Initial patch was prepared by @fisk.
> 
> Tested hs-tier1-4. Added new compiler tests to test intrinsics.
> 
> Ran new test with Shenandoah. Found only one issue. As result I disable  PhantomReference::refersTo intrinsic for COOP+ Shenandoah combination. Someone from Shenandoah team have to test changes if that is enough.

Vladimir Kozlov 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 four additional commits since the last revision:

 - Merge branch 'master' into JDK-8256999
 - Merge branch 'master' into JDK-8256999
 - Added ZLoadBarrierElided = 0 definition.
   Removed is_exact argument in load_field_from_object().
   Added Shenandoah support for narrow phantom accesses.
 - 8256999: Add C2 intrinsic for Reference.refersTo and PhantomReference::refersTo

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/1425/files
  - new: https://git.openjdk.java.net/jdk/pull/1425/files/08bdd307..962d54d5

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=1425&range=02
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=1425&range=01-02

  Stats: 5258 lines in 151 files changed: 2571 ins; 1881 del; 806 mod
  Patch: https://git.openjdk.java.net/jdk/pull/1425.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/1425/head:pull/1425

PR: https://git.openjdk.java.net/jdk/pull/1425


More information about the core-libs-dev mailing list