mirror of
https://github.com/dart-lang/sdk
synced 2024-11-02 10:49:00 +00:00
0914835773
Builds on top of https://dart-review.googlesource.com/c/sdk/+/228660, introduces vm:vm:always-consider-inlining that tell inliner not to give up inlining of a function. HashMap constructor got prefer-inline pragma to accommodate shift in inlining away from where it used to be inlined due to large size of inlined HashMap, greater than FLAG_inline_getters_setters_smaller_than heuristic. Notable performance changes: JIT (x64) === ListCopy.List.of.fixed.100 27.37% ListCopy.List.of.fixed.2 16.31% AOT (x64) === Empty -9.978% InstantiateTypeArgs.Instantiate1 -8.262% ... ListCopy.List.of.fixed.2 13.73% ListCopy.spread.num.2 15.51% ListCopy.List.of.2 15.08% MapCopy.Map.String.of.Map.100 55.62% MapCopy.Map.Thing.of.Map.100 56.06% flutter release === flutter_gallery_apk_size (Pixel 2) -0.0074% (1.0 noise)41809568.00 41812676.00 Addresses https://github.com/dart-lang/sdk/issues/49408 TEST=Inliner_always_consider_inlining, Inliner_List_of_inlined Change-Id: I7f8fc7cb0ac4a69310c108cf519518c384dc0164 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/253740 Reviewed-by: Alexander Markov <alexmarkov@google.com> Commit-Queue: Alexander Aprelev <aam@google.com> |
||
---|---|---|
.. | ||
compiler | ||
images | ||
infra | ||
aot_binary_size_analysis.md | ||
async.md | ||
dwarf_stack_traces.md | ||
gc.md | ||
glossary.md | ||
index.md | ||
pragmas.md | ||
snapshot_profiling.md | ||
types.md |