> `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
Damon Fenacci has updated the pull request incrementally with one additional commit since the last revision: JDK-8377670: add receiver_handled flag ------------- Changes: - all: https://git.openjdk.org/valhalla/pull/2185/files - new: https://git.openjdk.org/valhalla/pull/2185/files/dde1cce0..266e1040 Webrevs: - full: https://webrevs.openjdk.org/?repo=valhalla&pr=2185&range=01 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=2185&range=00-01 Stats: 3 lines in 1 file changed: 2 ins; 0 del; 1 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
