dart-sdk/tests
Teagan Strickland e01457d138 Reland "[vm/aot] Remove object wrapping of bare instructions for AOT snapshots."
Now, when writing an AOT snapshot in bare instructions mode, only
the actual instructions in the RawInstructions payload are serialized
instead of the entire RawInstructions object.

Since there are no longer RawInstructions objects in these AOT
snapshots, we also change how Code objects are serialized. Instead
of just containing a reference to the RawInstructions object, we
serialize two pieces of information: where the instructions
payload for this Code object begins and whether there was a single
entry for the instructions payload. (To save space, the single
entry bit is serialized as the low order bit of the unchecked
offset, which was already being serialized).

While we also need the length of the instructions payload, we
approximate it for all but the last Code object by subtracting
the next Code object's payload start from this Code object's
payload start. For the last Code object, we assume it extends
to the end of the instructions image.

Changes on flutter gallery in release mode:
armv7: instructions size -2.70%, total size -1.73%
armv8: instructions size -6.04%, total size -3.63%

Fixes https://github.com/dart-lang/sdk/issues/38451.

Cq-Include-Trybots: luci.dart.try:vm-kernel-precomp-linux-release-x64-try,vm-kernel-precomp-linux-release-simarm-try,vm-kernel-precomp-linux-release-simarm64-try,vm-kernel-precomp-linux-release-simarm_x64-try,vm-kernel-precomp-android-release-arm64-try,vm-kernel-precomp-android-release-arm_x64-try,vm-kernel-precomp-mac-release-simarm64-try,vm-kernel-precomp-win-release-x64-try
Change-Id: Ia0a5c4e5e47c956776dc62503da38ec55a143c04
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134325
Commit-Queue: Teagan Strickland <sstrickl@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2020-02-10 15:08:04 +00:00
..
.dart_tool Fix package_config.json configVersion field. 2020-02-07 23:39:38 +00:00
angular
co19 [co19] Handle builders using co19 with test selectors 2019-12-17 17:24:09 +00:00
co19_2 Remove dart:mirrors library from dart2js and ddc SDKs 2020-02-07 17:34:54 +00:00
compiler [dart2js] Remove typedefs from backend. 2020-02-05 01:09:47 +00:00
corelib Cleaning up corelib test migrations. 2020-02-03 19:06:17 +00:00
corelib_2 Update all Slow tests to be Slow, Pass. 2020-02-01 00:17:42 +00:00
dart
ffi [vm/ffi] Support Linux on Arm 32-bit (hardfp) 2020-02-05 14:22:59 +00:00
ffi_2 [vm/ffi] Support Linux on Arm 32-bit (hardfp) 2020-02-05 14:22:59 +00:00
kernel Remove the old "preview Dart 2" flags from the test runner. 2019-09-05 16:59:43 +00:00
language Migrate language_2/assert to NNBD. 2020-02-06 22:47:25 +00:00
language_2 Migrate language_2/assert to NNBD. 2020-02-06 22:47:25 +00:00
lib Migrate lib_2/typed_data/typed_data_view_sublist_test.dart to NNBD. 2020-02-06 14:59:11 +00:00
lib_2 [vm/aot/tfa] Tree shake write-only fields 2020-02-06 19:31:32 +00:00
modular [dartdevc] Cleanup all temporary nnbd modular tests 2019-12-18 00:43:44 +00:00
search
standalone [nnbd] Migrate standalone/io to NNBD. 2020-02-07 14:41:36 +00:00
standalone_2 Reland "[vm/aot] Remove object wrapping of bare instructions for AOT snapshots." 2020-02-10 15:08:04 +00:00
legacy_status_dart2js.csv [infra] Remove non-essential test expectations with comments from general status files 2019-10-01 06:18:59 +00:00
light_unittest.dart
README.md Update tests/README to point to new doc. 2019-08-06 22:19:42 +00:00

This directory contains tests of the language and core library implementations. For more information, see https://github.com/dart-lang/sdk/wiki/Testing.