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

Vladimir Kozlov kvn at openjdk.java.net
Wed Nov 25 23:35:14 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 three additional commits since the last revision:

 - 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/7bfec378..08bdd307

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

  Stats: 8771 lines in 206 files changed: 2656 ins; 872 del; 5243 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 shenandoah-dev mailing list