On Wed, 18 Mar 2026 14:42:07 GMT, Benoît Maillard <[email protected]> wrote:

> This PR prevents hitting an assert in `vframeArrayElement::fill_in` when 
> escape analysis and autobox elimination are disabled.
> 
> With value classes, scalarization can take place independently of escape 
> analysis. When deoptimizing, this implies that we must always rematerialize 
> objects when `EliminateAllocations` is true, even if escape analysis is 
> disabled.
> Prior to this change, we hit an assert in `vframeArrayElement::fill_in` 
> because it is expected that scalarized objects are already reallocated there. 
> We have to make sure that `rematerialize_objects` is run before that.
> 
> ### Testing
> - [x] tier1-3, plus some internal testing
> 
> Thank you for reviewing!

This pull request has now been integrated.

Changeset: 19fe8ba0
Author:    Benoît Maillard <[email protected]>
Committer: Tobias Hartmann <[email protected]>
URL:       
https://git.openjdk.org/valhalla/commit/19fe8ba0a743eb1927ffb86c6f766ed4e18fd8e5
Stats:     55 lines in 2 files changed: 52 ins; 0 del; 3 mod

8379863: [lworld] C2: assert(!value->obj_is_scalar_replaced() || 
realloc_failures) failed: object should be reallocated already

Reviewed-by: mchevalier, thartmann

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

PR: https://git.openjdk.org/valhalla/pull/2240

Reply via email to