e8b8ecfd52
Direct closure invocation on tearoffs was using the signature of the raw member reference rather than the checked entry function. These don't always have the same signature and therefore it was possible to generate an invalid code by putting the incorrect # of parameters on the stack. The added test fails prior to this fix when assertions are enabled. Also include some small changes that helped with debugging this. Change-Id: I8c50dca3999781213ea251c6ab97eb1eaf7d0c8b Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/467500 Reviewed-by: Martin Kustermann <kustermann@google.com> Commit-Queue: Nate Biggs <natebiggs@google.com>