[lworld] RFR: 8368875: [lworld] UseParallelGC fails null narrow klass assertion failure

Paul Hübner phubner at openjdk.org
Fri Oct 3 17:40:08 UTC 2025


On Fri, 3 Oct 2025 14:07:47 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:

> This seems to pass multiple stressHierarchy test invocations with -XX:+UseParallelGC, and runtime/valhalla/inlinetypes tests. I think there's probably further investigation that needs to be done but hopefully this helps with the parallel GC test failures.
> Testing with tier1-4.

src/hotspot/share/oops/markWord.hpp line 310:

> 308:   bool must_be_preserved() const {
> 309:     return (!is_unlocked() || !has_no_hash() ||
> 310:       (EnableValhalla && (is_larval_state() || is_inline_type() || is_flat_array() || is_null_free_array())));

Doesn't `is_inline_type` imply `is_larval_state`?  (edit: other way around)

src/hotspot/share/oops/oop.inline.hpp line 100:

> 98: // This is for parallel gc, which doesn't always have the klass.
> 99: // markWord::must_be_preserved preserves the original prototype header bits for EnableValhalla,
> 100: // I don't know why serial gc doesn't work the same.

We should probably find out why. I can ask around.

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

PR Review Comment: https://git.openjdk.org/valhalla/pull/1655#discussion_r2402105631
PR Review Comment: https://git.openjdk.org/valhalla/pull/1655#discussion_r2402113000


More information about the valhalla-dev mailing list