The lworld branch has support for null-restricted arrays, and to support this code has been adjacent to the code that perform array copy check casts. The code that performs the check casts used to be located inside the GC access barriers, but the code that finally threw exceptions were located in the runtime code. In the lworld branch the code that throws the check cast exception and the new null pointer exception has been moved into the GC access barriers.
I propose that we revert back to the old style where the exception throwing was somewhat decoupled from the GC access barriers. ------------- Commit messages: - Move exception throwing out of GC arraycopy barriers Changes: https://git.openjdk.org/valhalla/pull/1792/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=1792&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8373567 Stats: 305 lines in 14 files changed: 81 ins; 62 del; 162 mod Patch: https://git.openjdk.org/valhalla/pull/1792.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/1792/head:pull/1792 PR: https://git.openjdk.org/valhalla/pull/1792
