Files
sdk/pkg/front_end/testcases
Martin Kustermann ddcd028cde [vm] Avoid expensive runtime function type checks in Future implementation
The `_FutureListener.callback` field is used for multiple purposes
(possibly to save memory by avoiding additional fields) so it cannot
have a specific function type.

This causes the `Function?` typed `_FutureListener.callback` field to be
casted to proper function types such as `T Function(S)`.
=> Those runtime type checks are very expensive.

To avoid introducing more fields we use an `unsafeCast<T>()` for those
casts, since the implementation guarantees they are going to suceed.

Issue https://github.com/dart-lang/sdk/issues/48225

TEST=ci

Change-Id: I6f0cc87600462c8ca5baceeb511ce8a06c61237e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/230240
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Lasse Nielsen <lrn@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2022-02-04 14:19:22 +00:00
..
2021-12-10 14:02:30 +00:00
2021-12-10 14:02:30 +00:00
2021-12-10 14:02:30 +00:00
2021-12-10 14:02:30 +00:00
2021-12-10 14:02:30 +00:00
2021-12-10 14:02:30 +00:00
2021-12-22 11:49:01 +00:00
2022-01-27 13:09:01 +00:00
2021-12-10 14:02:30 +00:00
2021-12-10 14:02:30 +00:00
2021-12-10 14:02:30 +00:00
2021-12-10 14:02:30 +00:00
2021-12-10 14:02:30 +00:00
2021-12-10 14:02:30 +00:00
2021-12-10 14:02:30 +00:00
2021-12-10 14:02:30 +00:00
2021-09-13 09:32:59 +00:00
2021-12-10 14:02:30 +00:00

Overview

The testcases in this directory and its subdirectory are all compiled in various different configurations designed to test various aspects of Fasta (or more generally, package:front_end).

The configurations are described below.

The source of truth for these configurations is the file pkg/front_end/testing.json.

Dart 1.0 Compilation

./pkg/front_end/tool/fasta testing -DupdateExpectations=true compile/test1 compile/test2 ...

Dart 1.0 Outlines

./pkg/front_end/tool/fasta testing -DupdateExpectations=true outline/test1 outline/test2 ...

Dart 2.0 (strong mode)

./pkg/front_end/tool/fasta testing -DupdateExpectations=true -DupdateComments=true strong/test1 strong/test2 ...

Note: strong mode configuration additionally parses comments in the test file and can precisely match internal details of the compiler such as the inferred type of an expression or if a warning was emitted at a given location.