On Apr 9, 2018, at 1:17 PM, Ioi Lam <ioi....@oracle.com> wrote:
> So why is this first argument not declared as a MethodHandle?
The short answer is to simplify the plumbing of lambda forms.
Method handles are strongly typed but the underlying IR of
lambda forms is weakly typed. This keeps the IR simple.
To make up the difference, casts are inserted where necessary.
Most (not all) uses of MHs are inlined and/or customized,
in which case the JIT simply drops the casts.
mlvm-dev mailing list