RFR: 8264271: Avoid creating non_oop_word oops [v3]
Stefan Karlsson
stefank at openjdk.java.net
Tue Mar 30 07:44:40 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 pull request now contains 10 commits:
- Merge remote-tracking branch 'origin/master' into 8264271_avoid_creating_non_oop_word_oops
- Merge branch '8264268_dervied_pointer_types' into 8264271_avoid_creating_non_oop_word_oops
- Remove unused value_fn parameter
- star alignment cleanup
- Merge remote-tracking branch 'origin/master' into 8264268_dervied_pointer_types
- Add static assert
- Cleanups
- derived_pointer enum class
- 8264271: Avoid creating non_oop_word oops
- 8264268: Don't use oop types for derived pointers
-------------
Changes: https://git.openjdk.java.net/jdk/pull/3215/files
Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=3215&range=02
Stats: 58 lines in 7 files changed: 38 ins; 10 del; 10 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