> `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

Reply via email to