dc30f815f1
Previously, inliner was able to inline closure calls only when closure was allocated in the current function (or in a function which was inlined so far). This is not true for local functions declared in outer functions (they are allocated at declaration site). Now, when calling local functions, target of closure call is always known regardless of where the function is declared, so calls to local functions can be inlined. TEST=runtime/tests/vm/dart/inline_local_functions_il_test.dart Fixes https://github.com/dart-lang/sdk/issues/52695 Fixes https://github.com/dart-lang/sdk/issues/15558 Change-Id: I0e51dbaf63a6d4427bff366b40414ca5fac3d418 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/311465 Reviewed-by: Ryan Macnak <rmacnak@google.com> Reviewed-by: Martin Kustermann <kustermann@google.com> Commit-Queue: Alexander Markov <alexmarkov@google.com>