-
Notifications
You must be signed in to change notification settings - Fork 6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[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: dart-lang/sdk#34473 dart-lang/sdk#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>
- Loading branch information
Showing
3 changed files
with
68 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters