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
