On Mon, 27 Jul 2026 08:13:51 GMT, Tobias Hartmann <[email protected]> wrote:
> This is a regression from the recent merge which changed an if into an assert: > https://github.com/openjdk/valhalla/blame/828c729cdd5f937547f4a9034ce8d8f7aa119b6b/src/hotspot/share/opto/macro.cpp#L763 > > While building scalarized debug info, > `create_scalarized_object_description()` calls > `add_array_elems_to_safepoint()`, which recursively reconstructs flattened > fields through `inline_type_from_mem()` -> `value_from_mem()` -> > `value_from_alloc()`. > > That method cannot decompose an arbitrary oop initializer into scalar fields > and deliberately returns `nullptr` which must propagate outward to abort > scalar replacement: > https://github.com/openjdk/valhalla/blob/828c729cdd5f937547f4a9034ce8d8f7aa119b6b/src/hotspot/share/opto/macro.cpp#L548-L550 > > The fix is to revert the code back to what it was before the merge. I can > reliably reproduce this with > `serviceability/jvmti/valhalla/Heapwalking/ValueHeapwalkingTest.java` and > therefore did not add a targeted regression test. > > Thanks, > Tobias > > --------- > - [x] I confirm that I make this contribution in accordance with the [OpenJDK > Interim AI Policy](https://openjdk.org/legal/ai). Thank you for fixing this, @TobiHartmann. This looks good! I went ahead and added the `noreg-sqe` label to the bug. ------------- Marked as reviewed by mhaessig (Committer). PR Review: https://git.openjdk.org/valhalla/pull/2669#pullrequestreview-4785101490
