Dmitry Stefantsov
c191551fac
[cfe] Remove BottomType
...
TEST=Covered by existing tests.
Change-Id: Ied8be1874164e68e0a3a48e1b2f9a33310071381
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/183009
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2021-02-24 13:21:55 +00:00
Johnni Winther
56f46b0659
Remove non-nullable experiment flag from front_end test cases.
...
This changes the CFE expectation test suites to use unsound null safety
as default to avoid passing --enable-experiments=no-non-nullable to opt
out old test folders.
This change removes most test folders from the 'strong' tester, since
this now only supports sound null safety, which requires all libraries
to be opted in. Instead, the 'weak' tester now runs all test folders.
Additionally the 'outline' tester is changed to use unsound null safety
so that it call be used on all test folders.
The 'fast_strong' tester is removed since it should just be run locally
and it can be run by passing an option to the other testers.
References to non-existing 'shaker' folder has been removed from
testing.json.
Change-Id: Ibcc306f7b27d06b9637c205238bc408194f1d062
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/184787
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2021-02-18 12:29:18 +00:00
Lasse R.H. Nielsen
fe7efd5606
Update documentation in dart:core.
...
Fix null safety issues and tweak documentation where it can be improved.
Change-Id: Ia8cc20274ae151c454662bf5f137913787365a64
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/177960
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com >
Reviewed-by: Nate Bosch <nbosch@google.com >
2021-01-12 13:06:41 +00:00
Alexander Markov
9d1a307954
[vm] Add specialized factory constructors for small list literals
...
Flutter gallery in release mode:
AOT snapshot size arm64 -0.22%, arm -0.21%
instructions size arm64 -0.46%, arm -0.4%
TEST=existing tests
Fixes https://github.com/dart-lang/sdk/issues/44391
Change-Id: I4733e91ecf4601c0bcde725cf9e97f5db0b8bc13
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175821
Commit-Queue: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2021-01-11 19:32:30 +00:00
Johnni Winther
5645bd0e06
[cfe] Don't replace dispatch target with interface target on super property set
...
In response to b/176332835
Change-Id: Id131ba44817aa55399ba3b44b9fe5db833847f75
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/177100
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-12-28 14:43:14 +00:00
Johnni Winther
76dcd9e37d
[cfe] Ensure implicit-as and typedef reference are legacy erased
...
TEST=existing expectation tests
Change-Id: I48571347ef95b709a0804d284902ac6af7115afd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/176083
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-12-15 15:34:40 +00:00
Jens Johansen
c1d2c25ef1
[CFE] Add constant coverage in expect files
...
Change-Id: I0fc009708aa6e330366ad0689c4634a1df90d9c8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175368
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-12-10 08:57:17 +00:00
Johnni Winther
8103c90dbf
[cfe] Use combined member signature in override inference in legacy code
...
+ emit only one message per method given that it now always has the
same root cause, namely that the combined member signature does not
exist.
Closes #31797
Change-Id: Id89a5557c5fdda1db087c20cbe92847dd08216a3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175305
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-12-09 17:33:20 +00:00
Clement Skau
2d36c85ff8
[vm] Removes support for --causal-async-stacks
...
All existing embedders have been opted into --lazy-async-stacks, the
VM also uses it as it's default in all configurations.
After this CL, any user of --causal-async-stacks will get an error
message when trying to use it.
=> In any such case, please simply remove the flag.
TEST=Exhaustive CQ.
Bug: https://github.com/dart-lang/sdk/issues/37668
Change-Id: Ia440afcf2dba464aa8b8cf381b93bbac8eb9f8dc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/172564
Commit-Queue: Clement Skau <cskau@google.com >
Reviewed-by: Clement Skau <cskau@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2020-12-01 07:27:14 +00:00
Dmitry Stefantsov
d54e2bb568
[cfe,ddc,dart2js,vm] Add NullType
...
This CL is the sum of the following 5 CLs:
* https://dart-review.googlesource.com/c/sdk/+/170342/
* https://dart-review.googlesource.com/c/sdk/+/170344/
* https://dart-review.googlesource.com/c/sdk/+/170345/
* https://dart-review.googlesource.com/c/sdk/+/170346/
* https://dart-review.googlesource.com/c/sdk/+/170347/
The reason for landing the 5 CLs as one CL is to prevent potential
troubles with bisecting over the branch because the change is fully
functional only with all 5 CLs.
Closes #40122 .
TEST=Verified by changes in .expect files in pkg/vm/.
Bug: https://github.com/dart-lang/sdk/issues/40122
Change-Id: Ib8197802fdc69694387ae47ac990c58b3aaab7a5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/170689
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-11-06 12:43:52 +00:00
Clement Skau
27ca552ddb
[SDK] Replaces async's _AsyncAwaitCompleter with _Future.
...
Run time (less is better) impact:
dart:
- Calls.AwaitAsyncCall -43.95% ~ -55.50%
- Calls.AwaitAsyncCallClosureTargetPolymorphic -40.33% ~ -53.58%
- Calls.AwaitAsyncCallInstanceTargetPolymorphic -42.69% ~ -55.65%
- Calls.AwaitFutureOrCallInstanceTargetPolymorphicManyAwaits -42.05% ~ -56.14%
- Calls.Await... 0% ~ -13%
dart-aot:
- Calls.AwaitAsyncCall -9.748% ~ -11.13%
- Calls.AwaitAsyncCallClosureTargetPolymorphic -8.673% ~ -13.19%
- Calls.AwaitAsyncCallInstanceTargetPolymorphic -9.799% ~ -11.74%
- Calls.AwaitFutureOrCallInstanceTargetPolymorphicManyAwaits -5.412% ~ -13.43%
Code size impact:
- flutter_gallery_app_so_brotli_size -0.1237% ~ -0.2410%
- flutter_gallery_readonlydata_size 0.1693% ~ 0.2041%
- flutter_gallery_instructions_size 0.1157% ~ 0.1779%
- flutter_gallery_total_size 0.1021% ~ 0.1413%
Bug: https://github.com/dart-lang/sdk/issues/39119
Change-Id: I64d28a8bea078277946d7be43737e265920c8f16
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126322
Commit-Queue: Clement Skau <cskau@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2020-11-05 09:51:13 +00:00
Johnni Winther
941fcbaaf8
[cfe] Only mark member signatures as forwarding stubs if covariance is changed
...
Change-Id: Ibe294b51afa6c7e3e6d683ca1a6b08817280d449
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/168954
Reviewed-by: Jens Johansen <jensj@google.com >
2020-10-26 07:44:35 +00:00
Johnni Winther
45e3fb696d
Revert "[cfe] Use origin location for member signatures"
...
This reverts commit ed3b948b88 .
This CL caused out-of-memory on some Flutter tests.
Change-Id: Ib693f5b4a7271a070c1bab5861e49ac22437b8ca
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/168952
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-10-24 09:19:24 +00:00
Johnni Winther
ed3b948b88
[cfe] Use origin location for member signatures
...
This is relanding https://dart-review.googlesource.com/c/sdk/+/168203
after it was reverted due to a problem in
https://dart-review.googlesource.com/c/sdk/+/168200
Change-Id: Id70d3e960b1edf1c5cdf92518b8e476084b1bb49
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/168645
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-10-22 07:45:29 +00:00
Clement Skau
7f0bd5e811
[VM] Removes _Future's and _StreamImpl's _awaiter.
...
Changes debugger.cc to use the 'lazy async stack' mechanism for
unwinding async stacks, which means we no longer have to manually
keep track of the caller.
This also allows us to get rid of _asyncStarListenHelper.
Bug: https://github.com/dart-lang/sdk/issues/42457
Change-Id: I536e9da4af275998140ae5f05e3a43e07c77cfc7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/167561
Commit-Queue: Clement Skau <cskau@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2020-10-21 12:38:23 +00:00
Johnni Winther
137c7b6c84
[cfe] Explicitly run front_end unittest without non-nullable
...
This prepares front_end unittests for turning on non-nullable by default.
Change-Id: I9588a2d026ab9f5b1dcf08a140d25bd5dca3d5bd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/168346
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-10-20 13:13:33 +00:00
Michal Terepeta
5f18d498a0
Revert "[cfe] Avoid transforming members in other classes to no-such-method forwarders"
...
This reverts commit 87d3e03bf8 .
Reason for revert: Breaks internal builds (http://b/171258924 )
Revert "[cfe] Use CombinedMemberSignature to create noSuchMethod forwarders"
This reverts commit 13b7a83d57 .
Reason for revert: Depends on a commit that breaks internal builds
(http://b/171258924 )
Revert "[cfe] Use CombinedMemberSignature for creating simple legacy member signatures"
This reverts commit 170f05f91b .
Reason for revert: Depends on a commit that breaks internal builds
(http://b/171258924 )
Revert "[cfe] Use origin location for member signatures"
This reverts commit 354dcf4386 .
Reason for revert: Depends on a commit that breaks internal builds
(http://b/171258924 )
Change-Id: I51f524949f259351336a77f43847bf1d0d11f104
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/168487
Reviewed-by: David Morgan <davidmorgan@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Michal Terepeta <michalt@google.com >
2020-10-20 12:23:53 +00:00
Johnni Winther
354dcf4386
[cfe] Use origin location for member signatures
...
Change-Id: Iee3f79db7aa7600e9116e402d2d921308b07f8f6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/168203
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-10-19 15:34:17 +00:00
Johnni Winther
b2e33ee550
[cfe] Check getter/setter types on top level and extension members
...
Closes #43714
Change-Id: I07ee20cb3a65758dda2139e965aeb4fb36cf38c6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/166628
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-10-09 07:16:06 +00:00
Johnni Winther
5a2a435b6e
[cfe] Use combined member signature for override inference.
...
Closes #43381
Change-Id: Id3ba97d717556f807eac1115e1c3570662cab87c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/166240
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-10-08 15:29:05 +00:00
Johnni Winther
28c6ab316d
[cfe] Report errors on incompatible getter/setter types
...
Closes #42702
Change-Id: I9af4b8d616c4368c9f955f658f27e581352a3cd3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/165806
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-10-05 21:53:42 +00:00
Johnni Winther
d34287af1b
[cfe] Show regeneration command on unittest expectation failures
...
Closes #43633
Change-Id: I57f39367c5bf0827a2f0cb62e2e796692e152949
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/165660
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2020-10-02 09:52:17 +00:00
Jens Johansen
d1a6dcfd1f
[CFE] Change wording from 'successes' to 'effectively constant'
...
Change-Id: Ie498a4481bc647a564aaedb20998b8a728337a37
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/165561
Auto-Submit: Jens Johansen <jensj@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-10-01 08:46:12 +00:00
Jens Johansen
d1ca72faa5
[CFE] Turn on constant evaluation stress test by default; include in expect files
...
Change-Id: Id6baac82e423746469871ea15bd2bc29d4e3a733
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/164321
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-09-30 10:36:04 +00:00
Dmitry Stefantsov
7252a146a2
[cfe] Report nullable property access in the LHS of ??=
...
Closes #43278 .
Bug: https://github.com/dart-lang/sdk/issues/43278
Change-Id: I4b8a938441c75462a98a1d72d5fb23d50b5f92b0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/162160
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-09-21 14:01:06 +00:00
Johnni Winther
de224ac5f4
[cfe] Update ast-to-text to include member signature origins
...
Change-Id: I46e7fe831bc5e87981e78537b37565c62646210f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157961
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2020-08-17 13:41:49 +00:00
Johnni Winther
84e5eeaea4
[cfe] Ensure legacy result types for invocation and access in opt-out libraries (part 2)
...
- now also for binary, unary, index-get expressions
Related to #42660
Change-Id: I1bf656a901b64ec916596508167330a235f6c7e4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/154941
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-07-21 07:45:44 +00:00
Jens Johansen
6de0f53e7c
[CFE] Set correct async markers in outline phase (2nd try)
...
This reverts commit b4b44d6b4b .
Change-Id: Iae68e6e84e0fbb214b22e1dec6788057f80a50ea
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153345
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-07-07 07:49:58 +00:00
Jens Johansen
b4b44d6b4b
Revert "[CFE] Set correct async markers in outline phase"
...
This reverts commit 2ad66bbffe .
Reason for revert: Seems to break some internal tests.
Original change's description:
> [CFE] Set correct async markers in outline phase
>
> Change-Id: I4ac1fe1f4195dea2c20b8e55963b7e7dffc2d289
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152330
> Reviewed-by: Johnni Winther <johnniwinther@google.com >
> Commit-Queue: Jens Johansen <jensj@google.com >
TBR=jensj@google.com ,johnniwinther@google.com
Change-Id: Iaa272f1bee8f99dd93e9a351a03a67f67d83e871
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152641
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-06-26 07:49:57 +00:00
Jens Johansen
2ad66bbffe
[CFE] Set correct async markers in outline phase
...
Change-Id: I4ac1fe1f4195dea2c20b8e55963b7e7dffc2d289
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152330
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-06-25 10:29:28 +00:00
Dmitry Stefantsov
929d5e4a98
[cfe,ddc,dart2js,vm] Add FutureOrType
...
This CL is the sum of the following 5 CLs:
* https://dart-review.googlesource.com/c/sdk/+/149297/
* https://dart-review.googlesource.com/c/sdk/+/149299/
* https://dart-review.googlesource.com/c/sdk/+/149320/
* https://dart-review.googlesource.com/c/sdk/+/149321/
* https://dart-review.googlesource.com/c/sdk/+/149323/
The reason for landing the 5 CLs as one CL is to prevent potential
troubles with bisecting over the branch because the change is fully
functional only with all 5 CLs.
Closes #40123 .
Bug: https://github.com/dart-lang/sdk/issues/40123
Change-Id: Ice52250a98acfe455b1d7fa5bb0624c115ca5dac
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150934
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-06-15 12:18:46 +00:00
Johnni Winther
c10b41a4e2
[kernel] Add DartType.toTypeText and Constant.toConstantText
...
These are used to provide a testable textual representation
of types and constants that do not rely upon Node.toString.
Change-Id: Iff77ebb44e8299b262f4f263666b2e1d4dd5794b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/147909
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2020-05-18 11:48:20 +00:00
asiva
ce5d18b0f0
[CFE] - Update exectations of CFE unit tests to account for NNBD unfork
...
These updated expectations were generated by running the script
pkg/front_end/tool/update_all.dart
Change-Id: I6b8f7c5e50160da96e90c44fa888bd9b072efd06
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/147321
Reviewed-by: Siva Annamalai <asiva@google.com >
Reviewed-by: Régis Crelier <regis@google.com >
Commit-Queue: Siva Annamalai <asiva@google.com >
2020-05-07 23:16:21 +00:00
Clement Skau
2359f4dc68
[VM] Reworked: Remove unnecessary Closure.clone() from sync*.
...
Removes the Closure.clone() in sync* by adding an additional closure
around the rewritten sync* function body.
This is a re-worked version of the now reverted:
- https://dart-review.googlesource.com/c/sdk/+/136190
- https://dart-review.googlesource.com/c/sdk/+/144948
This CL includes changes from both the above CLs, in addition to:
- A new 'ShadowRewriter' transformer to do deep rewriting of
shadowed parameters.
Previous versions only rewrote the immediate sync* function, missing
references in nested rewritten functions.
Note: This CL is re-landing largely unchanged since the roll-blocking
issues suspected to be caused by this was later attributed to a
different set of changes.
I have independently re-run all failing external tests to verify
them passing for this CL.
Bug: https://github.com/dart-lang/sdk/issues/37753
Change-Id: Id1670a93961180e8558d7c7eca65fe7e9115f07b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145402
Commit-Queue: Clement Skau <cskau@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2020-05-05 12:04:03 +00:00
Jens Johansen
c08bcbb25e
[CFE] Enable textual outline sorting in test suite
...
Change-Id: Iccf35b9cb3dce96487ca9ba688394e3b05be2e75
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145401
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-04-30 08:25:17 +00:00
Jens Johansen
f66e1ed7be
[CFE] Textual outline expect files
...
Change-Id: I5cc3339880d0a77fbbcbd9f8a22e1186e5e2a5df
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145380
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-04-30 08:25:17 +00:00
Clement Skau
12a5c93d4a
Revert "Reland "[VM] Remove unnecessary Closure.clone() from sync*.""
...
This reverts commit 1bf25798fa .
Reason for revert: Rolling back as it breaks more external targets and is currently blocking rolls.
Original change's description:
> Reland "[VM] Remove unnecessary Closure.clone() from sync*."
>
> This reverts commit 430c75b5fa .
>
> Reason for revert: We probably don't care about the dartkb breakages.
>
> Original change's description:
> > Revert "[VM] Remove unnecessary Closure.clone() from sync*."
> >
> > This reverts commit ca94ad7112 .
> >
> > Reason for revert: Appears to break dartkb.
> >
> > Original change's description:
> > > [VM] Remove unnecessary Closure.clone() from sync*.
> > >
> > > Instead, this CL wraps sync*'s sync_op in an additional function
> > > that captures local copies of the necessary closure state.
> > > Notably this state includes the parameters of the original sync* function
> > > as these also need to be cloned for each instance.
> > >
> > >
> > > Note: a large number of .expect files have a small number of changes
> > > due to the additional wrapper function, as well as some extra plumbing.
> > >
> > > Bug: https://github.com/dart-lang/sdk/issues/37753
> > > Change-Id: If099dbfe9e5d62979626b852386fd0173fc76de5
> > > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136190
> > > Commit-Queue: Clement Skau <cskau@google.com >
> > > Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
> >
> > TBR=vegorov@google.com ,cskau@google.com
> >
> > Change-Id: I89e517196f03622337f909f0fcecbdc77c9dda93
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: https://github.com/dart-lang/sdk/issues/37753
> > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144920
> > Reviewed-by: Clement Skau <cskau@google.com >
> > Commit-Queue: Clement Skau <cskau@google.com >
>
> TBR=vegorov@google.com ,cskau@google.com
>
> Change-Id: I78589c83cbb17151ca4ab8f811b4f18f252fb9c1
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: https://github.com/dart-lang/sdk/issues/37753
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144921
> Reviewed-by: Clement Skau <cskau@google.com >
> Commit-Queue: Clement Skau <cskau@google.com >
TBR=vegorov@google.com ,cskau@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: https://github.com/dart-lang/sdk/issues/37753
Change-Id: I879df17bd282d01468fa010b94a8c89afdb8cd0d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145361
Reviewed-by: Clement Skau <cskau@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
Commit-Queue: Clement Skau <cskau@google.com >
2020-04-29 09:52:30 +00:00
Clement Skau
1bf25798fa
Reland "[VM] Remove unnecessary Closure.clone() from sync*."
...
This reverts commit 430c75b5fa .
Reason for revert: We probably don't care about the dartkb breakages.
Original change's description:
> Revert "[VM] Remove unnecessary Closure.clone() from sync*."
>
> This reverts commit ca94ad7112 .
>
> Reason for revert: Appears to break dartkb.
>
> Original change's description:
> > [VM] Remove unnecessary Closure.clone() from sync*.
> >
> > Instead, this CL wraps sync*'s sync_op in an additional function
> > that captures local copies of the necessary closure state.
> > Notably this state includes the parameters of the original sync* function
> > as these also need to be cloned for each instance.
> >
> >
> > Note: a large number of .expect files have a small number of changes
> > due to the additional wrapper function, as well as some extra plumbing.
> >
> > Bug: https://github.com/dart-lang/sdk/issues/37753
> > Change-Id: If099dbfe9e5d62979626b852386fd0173fc76de5
> > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136190
> > Commit-Queue: Clement Skau <cskau@google.com >
> > Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
>
> TBR=vegorov@google.com ,cskau@google.com
>
> Change-Id: I89e517196f03622337f909f0fcecbdc77c9dda93
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: https://github.com/dart-lang/sdk/issues/37753
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144920
> Reviewed-by: Clement Skau <cskau@google.com >
> Commit-Queue: Clement Skau <cskau@google.com >
TBR=vegorov@google.com ,cskau@google.com
Change-Id: I78589c83cbb17151ca4ab8f811b4f18f252fb9c1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/37753
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144921
Reviewed-by: Clement Skau <cskau@google.com >
Commit-Queue: Clement Skau <cskau@google.com >
2020-04-28 06:17:20 +00:00
Clement Skau
430c75b5fa
Revert "[VM] Remove unnecessary Closure.clone() from sync*."
...
This reverts commit ca94ad7112 .
Reason for revert: Appears to break dartkb.
Original change's description:
> [VM] Remove unnecessary Closure.clone() from sync*.
>
> Instead, this CL wraps sync*'s sync_op in an additional function
> that captures local copies of the necessary closure state.
> Notably this state includes the parameters of the original sync* function
> as these also need to be cloned for each instance.
>
>
> Note: a large number of .expect files have a small number of changes
> due to the additional wrapper function, as well as some extra plumbing.
>
> Bug: https://github.com/dart-lang/sdk/issues/37753
> Change-Id: If099dbfe9e5d62979626b852386fd0173fc76de5
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136190
> Commit-Queue: Clement Skau <cskau@google.com >
> Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
TBR=vegorov@google.com ,cskau@google.com
Change-Id: I89e517196f03622337f909f0fcecbdc77c9dda93
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/37753
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144920
Reviewed-by: Clement Skau <cskau@google.com >
Commit-Queue: Clement Skau <cskau@google.com >
2020-04-27 07:45:04 +00:00
Clement Skau
ca94ad7112
[VM] Remove unnecessary Closure.clone() from sync*.
...
Instead, this CL wraps sync*'s sync_op in an additional function
that captures local copies of the necessary closure state.
Notably this state includes the parameters of the original sync* function
as these also need to be cloned for each instance.
Note: a large number of .expect files have a small number of changes
due to the additional wrapper function, as well as some extra plumbing.
Bug: https://github.com/dart-lang/sdk/issues/37753
Change-Id: If099dbfe9e5d62979626b852386fd0173fc76de5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136190
Commit-Queue: Clement Skau <cskau@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2020-04-27 07:37:39 +00:00
Martin Kustermann
e2b6cc93b6
[vm/async] Update async transformation to take NNBD mode into account
...
The removal of unsafeCast causes flutter galley size regressions:
- armv7: -0.43%
- armv8: -0.21%
which we should look into recovering by having better inlining heuristics.
Issue https://github.com/dart-lang/sdk/issues/41373
Closes https://github.com/dart-lang/sdk/issues/41307
Change-Id: I7c0ba4c9598e13f01e807a607c83d50cf03e9abe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142501
Commit-Queue: Martin Kustermann <kustermann@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2020-04-11 08:56:52 +00:00
Johnni Winther
a7f1a5e677
[cfe] Handle A extends FutureOr<B> <: FutureOr<B>
...
Change-Id: Ib5580328f006b033b2c004083b575a2cf5aed551
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141541
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-04-05 06:31:19 +00:00
Martin Kustermann
c4a7c3488e
[vm/async] Make async transformer use typed variables, make async patch use function types
...
This gets rid of a slow AssertAssignable (function type test)
in _asyncThenWrapperHelper/_awaitHelper, which currently falls back to the slow table
search:
AssertAssignable
^--> TypeTestingStub
^--> SlowTypeTestStub
^--> Subtype6TestCacheStub
Issue https://github.com/dart-lang/sdk/issues/37668
Change-Id: I3b6517b7e348e39619e8096d6ac2a4b179bb3242
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142022
Commit-Queue: Martin Kustermann <kustermann@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Clement Skau <cskau@google.com >
2020-04-03 08:28:47 +00:00
Johnni Winther
4620d8fc6b
[cfe] Add context to member type inference errors
...
Change-Id: I968ac9a9e561ff37bfc25ac91e000578b023646d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140500
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-03-23 19:34:03 +00:00
Johnni Winther
d2e96aa6d3
[cfe] Report error on (un)assigned late variables
...
Closes #40601
Closes #41103
Closes #40946
Change-Id: I1a28f497ffe0be3d1f9e673f1e8be7a518bbfc7e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140403
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-03-23 14:48:53 +00:00
Johnni Winther
6c6144bb74
[cfe] Implement consolidated in ClassHierarchyBuilder
...
Closes #40414 and #40156
Change-Id: I066aa8ceef4f998230215fd9e9b446b2281cc3bc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138294
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-03-13 08:16:49 +00:00
Johnni Winther
8d9cbaf4c4
[kernel] Allow invalid types in naive_type_checker
...
Change-Id: I9a7614056fa3a14a382e41ad1e927f023fe00250
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134726
Reviewed-by: Jens Johansen <jensj@google.com >
2020-02-07 21:14:37 +00:00
Johnni Winther
80dacdf3a0
[kernel] Add Class.hasConstConstructor and Member.isNonNullableByDefault predicates
...
Closes #40440
Change-Id: I2776c165d23e2aa2bf5d7515741bd0f0d067b26d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134292
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2020-02-06 12:27:37 +00:00
Johnni Winther
54c8066f6f
[cfe] Add new flags to AsExpression and IsExpression
...
Change-Id: I31eba9b4ced051a1067945fd68e60a09b1fa6ed7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133100
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-01-31 19:55:22 +00:00
Samir Jindel
1d4c45d2d0
Re-land "[vm/cfe] Elaborate for-in statements during async transform"
...
This removes the component of the change which updates the kernel binary
format.
Change-Id: I86dbfe0ea61453bbea6eee200743961d0d0c3814
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127002
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Teagan Strickland <sstrickl@google.com >
2019-12-05 14:06:08 +00:00