On Wed, 18 Mar 2026 10:29:33 GMT, Marc Chevalier <[email protected]> wrote:
> Given this, I don't understand how the code under the case T_METADATA: > ensures we are adding as T_OBJECT only the receiver, and not every scalarized > argument when _has_inline_recv is true If I get your question right, I think the missing point is that the receiver is the first argument (for non‑static methods), and the fingerprint should preserve that order, so the first `T_METADATA` encountered while `value_object_count == 0` is the receiver’s inline‑type start. That’s why it emits a single `T_OBJECT` there and sets `skipping_inline_recv`. It then "ignores" all receiver fields until the matching `T_VOID` brings `value_object_count` back to 0 and clears the `skipping_inline_recv` flag. Any later inline‑type arguments should occur after this point, with `skipping_inline_recv` already false, so they are handled normally and are not "collapsed" to `T_OBJECT`. I hope this makes sense somehow... > Should we rename the PR/issue to be more descriptive? Good idea! Renaming... ------------- PR Comment: https://git.openjdk.org/valhalla/pull/2185#issuecomment-4082146697
