`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 ------------- Commit messages: - JDK-8377670: cleanup if - JDK-8377670: add RO assert - JDK-8377670: fix _sig_cc_ro computation - Merge branch 'lworld' into JDK-8377351 - Revert "JDK-8377670: [lworld] CompiledEntrySignature::initialize_from_fingerprint() looks broken" - Merge branch 'lworld' into JDK-8377351 - JDK-8377670: [lworld] CompiledEntrySignature::initialize_from_fingerprint() looks broken Changes: https://git.openjdk.org/valhalla/pull/2185/files Webrev: https://webrevs.openjdk.org/?repo=valhalla&pr=2185&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8377670 Stats: 34 lines in 1 file changed: 29 ins; 0 del; 5 mod Patch: https://git.openjdk.org/valhalla/pull/2185.diff Fetch: git fetch https://git.openjdk.org/valhalla.git pull/2185/head:pull/2185 PR: https://git.openjdk.org/valhalla/pull/2185
