dart-sdk/pkg
Aske Simon Christensen 1c2d378068 [vm/aot] Use TFA to eliminate unused selectors in dispatch table.
For each selector, count the number of calls to the selector that are
both reachable and polymorphic according to the TFA. Only include
selectors in the table with non-zero counts.

This reduces the dispatch table size by 30% in dart2js and by 49% in
Flutter Gallery (312k memory use reduction on ARM64).

Call counts are transferred in a dedicated metadata block with
per-selector information. This mechanism also prepares for transferring
other per-selector information in the future.

Change-Id: Iba15aa4d6c50e67e53c3fd8e542123d3fc98bd07
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132603
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2020-02-13 15:32:48 +00:00
..
_fe_analyzer_shared [CFE] Use package config v2 2020-02-12 10:07:25 +00:00
_js_interop_checks Add the first Kernel check for invalid JS interop 2020-01-28 22:39:10 +00:00
analysis_server Start converting dartdoc style in analysis_server 2020-02-13 15:00:03 +00:00
analysis_server_client Update generators to not produce type annotations for variable declarations 2020-01-25 16:31:15 +00:00
analysis_tool [analyzer] enable implicit-casts: false for several projects 2019-08-13 16:26:41 +00:00
analyzer Stop using 'factory something() => null;' in most cases. 2020-02-12 22:58:57 +00:00
analyzer_cli Support for --default-language-version flag in analyzer_cli. 2020-02-11 23:38:35 +00:00
analyzer_fe_comparison [CFE] Fix crash caused by name clash of loadLibrary tearoff method 2019-12-06 09:29:19 +00:00
analyzer_plugin Stop using 'factory something() => null;' in most cases. 2020-02-12 22:58:57 +00:00
async_helper Migrate lib_2/async to NNBD. 2020-01-09 22:04:37 +00:00
build_integration
compiler [CFE] Use package config v2 2020-02-12 10:07:25 +00:00
dart2js_tools Use source-maps in test runner to expand JavaScript stack traces. 2020-01-24 20:00:13 +00:00
dart2native [vm] Refactor debug info handling code into a new package. 2020-01-23 10:14:17 +00:00
dart_internal Widen the SDK constraint on dart_internal to include 2.7.0. 2019-12-06 00:54:30 +00:00
dartdev Initial working 'dartdev format *' tool with the set of args and flags to match the 'flutter format *' tool 2020-02-06 00:09:19 +00:00
dartfix Convert dartfix to use underscores rather than hyphens for fix names 2020-01-26 22:56:36 +00:00
dev_compiler [dart2js] migrate dart:_interceptors and dart:internal patch files 2020-02-13 02:16:57 +00:00
diagnostic
expect [test] Update copied mirrors tests for Dart 3. 2020-01-23 18:09:37 +00:00
front_end [CFE] Use package config v2 2020-02-12 10:07:25 +00:00
frontend_server Fix expression compiler tests on windows 2020-02-12 16:20:27 +00:00
js Fix pub.dev URLs throughout SDK repo 2019-11-20 11:30:48 +00:00
js_ast [dart2js] Defer ground type recipes until assembly 2019-10-11 20:12:06 +00:00
kernel [cfe] Fix isSubtypeOf for FutureOrs 2020-02-12 07:55:37 +00:00
meta typos 2020-01-02 23:09:17 +00:00
modular_test [dartdevc] Cleanup all temporary nnbd modular tests 2019-12-18 00:43:44 +00:00
native_stack_traces [pkg/native_stack_traces] Find instruction sections via dynamic symbols. 2020-02-07 11:34:59 +00:00
nnbd_migration Implement analysis options modification. 2020-02-11 20:14:06 +00:00
smith [vm] AOT blobs snapshots are obsolete. Remove dead code. 2020-02-13 14:16:49 +00:00
sourcemap_testing Move ID testing infrastructure into _fe_analyzer_shared. 2019-11-01 12:39:00 +00:00
status_file [vm] DBC is obsolete. Remove dead code. 2019-10-27 18:18:29 +00:00
telemetry [analyzer] send additional data to crash reporting 2019-11-27 00:16:50 +00:00
test_runner [vm] AOT blobs snapshots are obsolete. Remove dead code. 2020-02-13 14:16:49 +00:00
testing [CFE] Messages test doesn't allow status updates for spelling tests 2020-01-24 10:15:26 +00:00
vm [vm/aot] Use TFA to eliminate unused selectors in dispatch table. 2020-02-13 15:32:48 +00:00
vm_service Reland "[ VM / Service ] Added getClientName, setClientName and requireResumeApproval RPCs" 2020-02-05 18:14:39 +00:00
.gitignore [analyzer] update the pkg/.gitignore file to ignore the pkg/analysis_server/language_model/ dir 2019-07-26 21:28:51 +00:00
BUILD.gn
pkg.status [dartdev] add a dartdev 'create' command 2020-02-02 02:23:13 +00:00