commit | daae20d32e828fad298d7d12327aa30ac2927a47 | [log] [tgz] |
---|---|---|
author | Aart Bik <ajcbik@google.com> | Wed Oct 24 21:31:36 2018 +0000 |
committer | commit-bot@chromium.org <commit-bot@chromium.org> | Wed Oct 24 21:31:36 2018 +0000 |
tree | 16134a1b2ce8d6a481a7522475dfcea3d239854c | |
parent | 28a8fa50f67b442ea9e17868a16a95f4c9f39204 [diff] |
[vm/compiler] Use loop framework for AOT inline heuristics Rationale: Without proper execution counters, the inline AOT inliner marks every call site "cold", effectively disabling inlining altogether. This change introduces loop-based static heuristic that assumes statements nested inside loops are executed more frequently. This results in more inlining. Note: Conservative version is used for now which yields more performance without increasing code size too much. There is still a lot of performance left at the table which we could exploit if we fine tune heuristics regarding code size. Bug: https://github.com/dart-lang/sdk/issues/34473 https://github.com/dart-lang/sdk/issues/32167 Change-Id: I86ba60f93bdab363cd22ab6bdbcf6688f2042fea Reviewed-on: https://dart-review.googlesource.com/c/81187 Commit-Queue: Aart Bik <ajcbik@google.com> Reviewed-by: Alexander Markov <alexmarkov@google.com>
Dart is an open-source, scalable programming language, with robust libraries and runtimes, for building web, server, and mobile apps.
Visit the dartlang.org to learn more about the language, tools, getting started, and more.
Browse pub.dartlang.org for more packages and libraries contributed by the community and the Dart team.
If you want to build Dart yourself, here is a guide to getting the source, preparing your machine to build the SDK, and building.
There are more documents on our wiki.
The easiest way to contribute to Dart is to file issues.
You can also contribute patches, as described in Contributing.