Skip to content

Commit 5425631

Browse files
alexmarkovcommit-bot@chromium.org
authored andcommitted
[vm] Always inline List.generate
Micro-benchmark creating 100,000 lists using List<int>.generate(1000, (int x) => x, growable: false); in AOT mode on x64: 1006ms -> 311ms Flutter gallery size in release mode on armv7 +6890 bytes (+0.0778%). Flutter gallery size in release mode with size optimizations on armv7 +9303 bytes (+0.1222%). Issue: #42283 Change-Id: I283c4dbaf90396dfbefdb59c2cd346def88e186a Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151082 Reviewed-by: Régis Crelier <[email protected]> Commit-Queue: Alexander Markov <[email protected]>
1 parent fda4238 commit 5425631

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

sdk_nnbd/lib/_internal/vm/lib/array_patch.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ class List<E> {
6969
}
7070

7171
@patch
72+
@pragma("vm:prefer-inline")
7273
factory List.generate(int length, E generator(int index),
7374
{bool growable = true}) {
7475
final List<E> result =

0 commit comments

Comments
 (0)