RFR: 8264271: Avoid creating non_oop_word oops [v2]

Stefan Karlsson stefank at openjdk.java.net
Mon Mar 29 09:46:57 UTC 2021


> Some parts of the JVM puts an marker to show that a location does not contain a valid oop. The code that handles this typically look like this:
> 
> oop* p = ...
> if (*p != Universe::non_oop_word())
> 
> This means that sometimes the *p will create an oop that contains the non_oop_word. This makes it problematic to add stricter oop verification. I propose that we add a new function that checks the value of locations without converting it to an oop. 
> 
> (Note: I'm testing the new dependent pull Skara feature with this PR. It builds depends on the pr/3214 branch)

Stefan Karlsson 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 two additional commits since the last revision:

 - Merge branch '8264268_dervied_pointer_types' into 8264271_avoid_creating_non_oop_word_oops
 - 8264271: Avoid creating non_oop_word oops

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/3215/files
  - new: https://git.openjdk.java.net/jdk/pull/3215/files/b3c1b292..41ce5fd1

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

  Stats: 1813 lines in 122 files changed: 1075 ins; 189 del; 549 mod
  Patch: https://git.openjdk.java.net/jdk/pull/3215.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/3215/head:pull/3215

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


More information about the hotspot-dev mailing list