RFR: 8373801: Adopt arraycopy OopCopyResult from the lworld branch
Stefan Karlsson
stefank at openjdk.org
Tue Dec 16 14:56:15 UTC 2025
In the Valhalla project there's code to restrict nulls in object arrays. In the GC arraycopy barrier we there have to both do null checks in addition to the already existing cast checks. If one of these two failed the code needs to propagate this up through the callers to the code that asked to do the checks. There it will throw the suitable exception. Previously, it was enough to say success or failed, and a boolean was enough. Now we need three states. So the bool was replaced with an OopCopyResult enum.
See: https://github.com/openjdk/valhalla/pull/1792
I propose that we bring this over to the mainline to lower the diff between lworld and the openjdk/jdk.
-------------
Commit messages:
- 8373801: Adopt arraycopy OopCopyResult from the lworld branch
Changes: https://git.openjdk.org/jdk/pull/28850/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=28850&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8373801
Stats: 199 lines in 12 files changed: 70 ins; 13 del; 116 mod
Patch: https://git.openjdk.org/jdk/pull/28850.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/28850/head:pull/28850
PR: https://git.openjdk.org/jdk/pull/28850
More information about the shenandoah-dev
mailing list