On Mon, 2 Mar 2026 13:38:22 GMT, Damon Fenacci <[email protected]> wrote:

> `CompiledEntrySignature::initialize_from_fingerprint()` was building 
> `_sig_cc` and `_sig_cc_ro` the same way, but for virtual methods with an 
> inline‑type receiver they must differ: `_sig_cc` should include the 
> receiver’s scalarized fields, while `_sig_cc_ro` should represent the 
> receiver as a single `T_OBJECT`.
> This change fixes `_sig_cc_ro` construction so that when the receiver is an 
> inline type, its fields are skipped and a single object entry is emitted 
> instead.
> It also adds asserts for `_sig_cc_ro` as a regression test proved to be hard 
> to isolate and the asserts trigger immediately with any test if the RO 
> signature is wrong.
> 
> Tests: 
> * Tier 1-3+
> * Assert makes even build crash without fix

This pull request has now been integrated.

Changeset: 357956b5
Author:    Damon Fenacci <[email protected]>
URL:       
https://git.openjdk.org/valhalla/commit/357956b5fc1096b4a7aff261059dd4bc19e8dd1a
Stats:     36 lines in 1 file changed: 31 ins; 0 del; 5 mod

8377670: [lworld] RO adapter signature should not scalarize inline receiver in 
CompiledEntrySignature::initialize_from_fingerprint()

Reviewed-by: mchevalier, thartmann

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

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

Reply via email to