[VM] Enables --lazy-async-stacks for Precompilation (AOT).

This change applies to stand-alone Dart.
Many other embedders (e.g. Flutter) have this already enabled.

Benchmarking shows improvements:
- Isolate.SendReceiveBytes.. +15-50%
- Calls.Await.. -35-90%
- FileIO_read.. +15-20%

Change-Id: I20cc74d9cafcda47d70fb0cf10d9e15d7cdb0bbb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153144
Commit-Queue: Clement Skau <cskau@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
This commit is contained in:
Clement Skau 2020-07-03 13:05:27 +00:00 committed by commit-bot@chromium.org
parent 3cde9904d9
commit 3dec28a20c
2 changed files with 10 additions and 0 deletions

View file

@ -84,7 +84,15 @@ dart/generic_field_invocation_test: SkipByDesign # KBC interpreters do not suppo
dart_2/generic_field_invocation_test: SkipByDesign # KBC interpreters do not support --no_lazy_dispatchers
[ $compiler == dartkp ]
dart/causal_stacks/async_throws_stack_no_causal_non_symbolic_test: SkipByDesign # --no-lazy... does nothing on precompiler.
dart/causal_stacks/async_throws_stack_no_causal_test: SkipByDesign # --no-lazy... does nothing on precompiler.
dart/causal_stacks/async_throws_stack_non_symbolic_test: SkipByDesign # --no-lazy... does nothing on precompiler.
dart/causal_stacks/async_throws_stack_test: SkipByDesign # --no-lazy... does nothing on precompiler.
dart/v8_snapshot_profile_writer_test: Pass, Slow # Can be slow due to re-invoking the precompiler.
dart_2/causal_stacks/async_throws_stack_no_causal_non_symbolic_test: SkipByDesign # --no-lazy... does nothing on precompiler.
dart_2/causal_stacks/async_throws_stack_no_causal_test: SkipByDesign # --no-lazy... does nothing on precompiler.
dart_2/causal_stacks/async_throws_stack_non_symbolic_test: SkipByDesign # --no-lazy... does nothing on precompiler.
dart_2/causal_stacks/async_throws_stack_test: SkipByDesign # --no-lazy... does nothing on precompiler.
dart_2/v8_snapshot_profile_writer_test: Pass, Slow # Can be slow due to re-invoking the precompiler.
[ $compiler != dartkp ]

View file

@ -106,6 +106,8 @@ static void PrecompilationModeHandler(bool value) {
FLAG_reorder_basic_blocks = true;
FLAG_use_field_guards = false;
FLAG_use_cha_deopt = false;
FLAG_causal_async_stacks = false;
FLAG_lazy_async_stacks = true;
#if !defined(PRODUCT) && !defined(DART_PRECOMPILED_RUNTIME)
// Set flags affecting runtime accordingly for gen_snapshot.