[lworld] Integrated: 8377803: [lworld] C2: Expansion of value object arguments should only be done for non-osr Parse
Quan Anh Mai
qamai at openjdk.org
Sun Feb 15 03:33:32 UTC 2026
On Thu, 12 Feb 2026 14:30:47 GMT, Quan Anh Mai <qamai at openjdk.org> wrote:
> Hi,
>
> We traverse the local slots at the start of parsing and expand all value object parameters. This misses the peculiar case where we are in an OSR parse, and an argument has previously been overwritten with a larval oop. I move the block into `Parse::do_method_entry` so that it is only called for non-osr parse, this also builds the duality with `Parse::load_interpreter_state` which expands value objects in the JVMS for OSR parse.
>
> This PR also removes `GraphKit::cast_to_non_larval` which was used because we did not track larval-ness in `ciTypeFlow` before. Now it can be removed.
>
> Please take a look and leave your reviews, thanks a lot.
This pull request has now been integrated.
Changeset: 81fe6c8f
Author: Quan Anh Mai <qamai at openjdk.org>
URL: https://git.openjdk.org/valhalla/commit/81fe6c8f1f5a868d250da258eb91f6adfc24aab8
Stats: 246 lines in 7 files changed: 82 ins; 151 del; 13 mod
8377803: [lworld] C2: Expansion of value object arguments should only be done for non-osr Parse
Reviewed-by: thartmann
-------------
PR: https://git.openjdk.org/valhalla/pull/2091
More information about the valhalla-dev
mailing list