On Thu, 12 Feb 2026 14:30:47 GMT, Quan Anh Mai <[email protected]> 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 <[email protected]>
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

Reply via email to