Clement Skau
ad118b1718
[Kernel] Fixes bug in async transform causing reuse of temps.
...
Certain nodes will delimit(..) an Expression to some Statements, which
was resetting the temp nameIndex.
This meant any sub-expressions that generated temps would not cause the
outer expressions to see those already used temps.
Bug: https://github.com/dart-lang/sdk/issues/40662
Change-Id: Ife07052ab756b9d05f34f69380614c7eb7309a4c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136224
Commit-Queue: Clement Skau <cskau@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2020-02-21 07:35:16 +00:00
Dmitry Stefantsov
b7aff59973
[cfe] Report errors on case expressions without primitive equality
...
Bug: http://dartbug.com/40425
Change-Id: Ied2da91cc32b84f6e64c0b76541e020d1a2447b9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136227
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-02-20 13:39:09 +00:00
Alexander Aprelev
612728f970
[frontend-server] Only set VM environment defines for VM compilation target.
...
Fixes https://github.com/dart-lang/sdk/issues/40669 .
Change-Id: I9e58deed5d2c67c953de7dae10ccbf9c46ab6fd5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136411
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Jake Macdonald <jakemac@google.com >
Commit-Queue: Alexander Aprelev <aam@google.com >
2020-02-20 03:05:25 +00:00
Dmitry Stefantsov
59045afd1d
[cfe] Remove unnecesary uses of SubtypeCheckMode.ignoreNullabilities
...
Change-Id: I8b64ca39e7a153141885d428fc5bd95e446fcb49
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135640
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-02-18 12:28:29 +00:00
Jens Johansen
a314cff6ee
[CFE] Indicate NNBD compilation mode on all libraries
...
Change-Id: I01236158b593d0e4bd7cf67017459f05fb9520a8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136128
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-02-18 08:51:37 +00:00
Johnni Winther
a9485e8b14
[cfe] Encode getter/field invocation as .call on property get
...
Current semantics with respect to evaluation order is retained.
Change-Id: I6794c8a720237536696afab2fe056042f8464ec8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129702
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-02-17 13:52:45 +00:00
Dmitry Stefantsov
d22c695e89
[cfe] Fix isSubtypeOf for cases like FutureOr<FutureOr<X%>>
...
Closes #40600 .
Bug: http://dartbug.com/40600
Change-Id: Iff1fbc7f4f499bc2ba154d5fe43494dae0511f94
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135315
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-02-17 10:44:35 +00:00
Robert Nystrom
44f027b8b2
Remove the matchers_lite.dart library.
...
It was literally only used by one test, and only used a single function
not already defined in minitest. That function was only used in one
place and wasn't very useful, so just refactored to not use it.
Change-Id: Ib51ac255233aa29bcaf19aaba16bc99d7eff724d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135965
Auto-Submit: Bob Nystrom <rnystrom@google.com >
Reviewed-by: Srujan Gaddam <srujzs@google.com >
2020-02-14 20:44:52 +00:00
Daco Harkes
eceb249f88
[CFE] Add support looking up extension members to LibraryIndex
...
Change-Id: I911b5034c871507cbb051264bac6bbd9b7eef26a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135462
Reviewed-by: Jens Johansen <jensj@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-02-14 15:46:37 +00:00
Jens Johansen
2b22c37be7
[kernel] Fix binary.md specification of Extensions
...
Fixes #40629
Change-Id: If458df641553d84c7a75aa51698145b22183c3d6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135901
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-02-14 11:02:25 +00:00
Dmitry Stefantsov
6a2c350a3e
[cfe] Fix isSubtypeOf for FutureOrs
...
Previously it was assumed both A <: B implies FutureOr<A> <: FutureOr<B>
and FutureOr<A> <: FutureOr<B> implies A <: B. This CL fixes the
implementation.
Closes #38905 .
Bug: http://dartbug.com/38905
Change-Id: I2c8d105659b310e3ab5db261ebdc81cbfa456ae1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135301
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
2020-02-12 07:55:37 +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
Dmitry Stefantsov
fd992e423e
[cfe] Normalize supertypes before nnbd-top-merging them
...
Closes #40454 .
Bug: http://dartbug.com/40454
Change-Id: Ia255c99c937a04876e04a0f0f5935147e55fbd35
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134842
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-02-07 18:14:40 +00:00
Dmitry Stefantsov
535ee87c21
[kernel] Add NORM implementation
...
Change-Id: I6292a4247ed0c418f2d3d6fa841ed086894c31c9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134335
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-02-07 15:00:24 +00:00
Johnni Winther
e74c829499
[cfe] Add test for Never in opt-out code
...
Change-Id: I91683d57e25457e371aaf8f0bb0092426409186e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134526
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-02-06 13:25:51 +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
Dmitry Stefantsov
af323cfa56
[cfe] Move isTop, isBottom, isObject, and isNull to CoreTypes
...
Change-Id: I15fbcc5b853e6786244994efef530a96436fb457
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134721
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
2020-02-06 11:56:51 +00:00
Dmitry Stefantsov
4389ffa9d2
[cfe] Allow member access on Never
...
Closes #40125 .
Bug: http://dartbug.com/40125
Change-Id: I2dcb1bdc022990ba8c76c7798c4e6793c5c89108
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134326
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-02-05 12:32:09 +00:00
Johnni Winther
88635446ec
[cfe] Implement weak mode constants semantics
...
Closes #40124
Change-Id: Ia54490d9f5162a27e52c4e9c4d74c5cfaa28472b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134284
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-02-05 07:07:07 +00:00
Dmitry Stefantsov
500752d51a
[cfe] Disallow default List constructor invocations in NNBD
...
Closes #40086 .
Bug: http://dartbug.com/40086
Change-Id: I56606acfc7c0392f2aece930b1285f69a7594e61
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134287
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-02-04 13:21:31 +00:00
Johnni Winther
4d32ec8d21
[cfe] Non-nullify legacy types in opt-in libraries
...
+ preserve promotion for synthetic variables.
Closes #40255
Change-Id: I2ebe43c31a05ff0121d971205bf8ff5f0e084113
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134161
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-02-03 14:52:55 +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
Jens Johansen
94c21123a8
[CFE] Fix memory leak in incremental compiler
...
Change-Id: I5541707a4a4c7537a947d2b08cb6d3ee4ad6075d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133230
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-01-31 13:56:41 +00:00
Jens Johansen
3d5530ff22
[CFE] Transformations can now tell of they changed the structure of a class
...
By allowing a transformation to tell if it change dthe structure of a
class we can make sure to update the class hierarchy accordingly,
making sure it's up to date for the next computeDelta call in the
incremental compiler.
Change-Id: Iefed3bb1ecbd17b142266ce4a9e1e477f9d2fc87
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133222
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-01-31 13:45:12 +00:00
Jens Johansen
3f3d3dfa12
[CFE] Check class hierarchy in incremental compiler test
...
Change-Id: I963716d36bec213739bbc266f9494885edd0aa08
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133104
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-01-31 10:38:41 +00:00
Johnni Winther
00dc17687a
[cfe] Handle late variables in for loops
...
Closes #40093
Change-Id: I6ed558884f2cf6b10f2d011a80e3f3e15d64b00d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133068
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-01-24 12:41:19 +00:00
Johnni Winther
42f954d5f1
[cfe] Move type parser to package:kernel
...
Change-Id: Icbb37b586dd4113605f9a0959e585586ee94c33c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131836
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-01-21 14:37:32 +00:00
Jens Johansen
128771af8a
[CFE] Version 2 of incremental compiler invalidation strategy
...
Change-Id: Iff860e2665dee64fc005a50237ae890986ddb0f1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127896
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-01-16 07:50:39 +00:00
Johnni Winther
d302d7f10a
[cfe] Insert member signatures for nnbd aware inheritance
...
Change-Id: I86dbbd586434af81b6dc4f4ae748cbd8177d06e0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129080
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-01-15 07:36:28 +00:00
Dmitry Stefantsov
1eacac48cf
[cfe] Make .{thisF,f}unctionType nullability-aware
...
Change-Id: I4a83f4db7d6412165882e4a1f08c7fded6b9ea3d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130373
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
2020-01-08 11:52:06 +00:00
Johnni Winther
96a8282cd9
[cfe] Use structural equality for generic function types
...
Change-Id: Iecff57779243e042c5e9cad96c96139da9d93380
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129719
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-01-07 07:52:32 +00:00
Jens Johansen
8d11c1dce6
[kernel][vm] Add uris only from mixins to libraries sourceReferences
...
index to fix VMs coverage issue
This CL fixes the VM not always reporting coverage for mixin usages
properly.
* When asking the VM for coverage you can do it in one of two ways
* Ask the VM for coverage for everything; or
* Ask the VM for coverage for a specific script
* Asking the VM for coverage for everything works perfectly fine.
The VM goes through everything and reports coverage correctly.
* Asking the VM for coverage for a specific script (which is, at least
now, what the flutter tools does) doesn't work in the simple mixin
case described at http://dartbug.com/39779 : The VM goes through the
libraries, asking for the list of scripts they "know about",
and checks for matches against what you asked for.
In this case, when asking for 'master.dart', the library for
'lib.dart' says no when it shouldn't --- because of the way the mixin
transformation works the content is actually in lib.dart.
This CL updates the content of the field 'sourceReferences' on Library
to fix the issue.
Fixes #39779
Change-Id: I0c38a323c81d1784ade704837b67ece549fc95d2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128585
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2019-12-19 06:59:28 +00:00
Dmitry Stefantsov
01a8d76307
[cfe] Fix compiler crashes on for-in iterables with Null type
...
Closes #39817 .
Bug: http://dartbug.com/39817
Change-Id: Id60a3d35d73880c68e6a73adffd4c8c96e9b49fc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128664
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2019-12-18 15:14:21 +00:00
Dmitry Stefantsov
2af5aec84e
[cfe] Infer type of x! as Never if x's type is Null
...
Closes #39822 .
Bug: http://dartbug.com/39822
Change-Id: I9600efcd4e69e331de5d9fa8f2b676c402df6502
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128661
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
2019-12-18 09:01:30 +00:00
Dmitry Stefantsov
c85979a280
[cfe] Implement the NNBD variation of the assignability property
...
Change-Id: I802e5668952f918919bd4fda4fd0102623a20ae7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128544
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
2019-12-16 12:38:27 +00:00
Johnni Winther
818ec6db92
[cfe] Implement nnbd-top-merge
...
+ and use nnbd-top-merge and legacy erasure in hierarchy computation
Change-Id: I4bf06ce8d3c68a9926865ebf84b24b4029828d73
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128065
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-12-13 17:19:59 +00:00
Dmitry Stefantsov
4df5b5458a
[cfe] Implement NNBD-aware lower / upper bound algorithms
...
Change-Id: I1def2843f41938e8aee39d12fc4e2807b0c5a1b3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126725
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2019-12-12 11:00:21 +00:00
Johnni Winther
d9fa37e85d
[kernel] Use Never as static type for throw/rethrow
...
Change-Id: Iba61a834827747e656a6dc14d73ee152f66864cd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127882
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2019-12-11 08:37:59 +00:00
Nicholas Shahan
7974f3f899
[dartdevc] Reduce the number of SDK libraries in the platform
...
We are temporarily building a smaller SDK platform to make progress building
applications against the forked sdk_nnbd sources. This is because some of the
libraries have not yet been ported and they don't compose well.
I needed to thread the status of the non-nullable experiment through the front
end entry point and into the target options, and native types.
Also includes some standardization of the flag name in DDC.
https://github.com/dart-lang/sdk/issues/39698
Change-Id: I4bdd503be694b28d7f95828d4af28d1d5fb3691f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127486
Commit-Queue: Nicholas Shahan <nshahan@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2019-12-09 22:25:48 +00:00
Johnni Winther
de11b7b373
[cfe] Implement legacy erasure
...
Change-Id: I4f152264469e7cb6d23c7502e277004cd35e8527
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127463
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-12-09 13:07:07 +00:00
Jens Johansen
db525fe0f9
[kernel] Remove old unused 'method call' transformer
...
Change-Id: I20afd79daa0d3668c96d52fcc83c78fb5e3fb4bf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127620
Reviewed-by: Martin Kustermann <kustermann@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2019-12-09 10:14:57 +00:00
Johnni Winther
97c2ca5ff1
[cfe] Use valid static types and file offsets in collections transformation
...
Closes #39566
Change-Id: I589d0dd568b3ea939bb1238b1c61fca6867e737e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127320
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2019-12-06 10:58:20 +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
Dmitry Stefantsov
47a9ebea76
[cfe] Make API of as-instance-of and legacy LUB/GLB library-specific
...
Change-Id: I1991c66e654ef537243d9f25f17070acbfa13af9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126380
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2019-12-05 13:32:28 +00:00
Johnni Winther
e4e3f3fbc4
[cfe] Handle for-in on type variables in TypeEnvironment.forInElementType
...
Closes #39565
Change-Id: I5b4c437879be0a97b306c5cc3579faac917d7e7c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127162
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2019-12-05 12:26:58 +00:00
Clement Skau
c1565a7e64
[SDK] Cleans up a few unused functions in core_types.dart.
...
Change-Id: I5fc97b26f194434e70c814ba78ae6d17f97f4fbf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127145
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Clement Skau <cskau@google.com >
2019-12-05 12:04:38 +00:00
Alexander Markov
f56b0f6907
[vm/aot/tfa] Whole-program constant propagation
...
Size:
flutter_gallery total size -2.48% (arm), -2.3% (arm64)
flutter_gallery instructions size -2.91% (arm), -2.77% (arm64)
velocity_tracker_bench total size -7.5% (arm), -7.1% (arm64)
Performance:
SkeletalAnimation +46.02% (Intel Core i5), +37.75% (Intel Xeon), +24.86% (arm), +39.75% (arm64).
FfiMemory.Pointer* +44-64% (x64)
FfiMemory.PointerPointer +436-465% (x64), +443% (arm64).
Issue: https://github.com/dart-lang/sdk/issues/37710
Change-Id: I6221bfa02b165ccc17d4ee8b857bb89212febaff
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125936
Reviewed-by: Régis Crelier <regis@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
Commit-Queue: Alexander Markov <alexmarkov@google.com >
2019-12-04 19:19:29 +00:00
Clement Skau
f9327d3bac
[SDK] Adds --lazy-async-stack support for async*.
...
Bug: https://github.com/dart-lang/sdk/issues/39525
Change-Id: I53cd334243649901ea8e0f9799d9f41c126e3627
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126729
Commit-Queue: Clement Skau <cskau@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-12-04 12:47:48 +00:00
Clement Skau
89e31069e8
Revert "[vm/cfe] Elaborate for-in statements during async transform"
...
This reverts commit 63333deed6 .
Reason for revert: Causes failures on Flutter HHH CI in the "flutter test hostonly_devicelab_tests" step due to kernel binary format version mismatch.
Original change's description:
> [vm/cfe] Elaborate for-in statements during async transform
>
> This allows us TFA to analyze the iterator calls and we generate much tighter
> code in AOT.
>
> However, due to the increased inlining opportunities, we end up emitting 0.5%
> more code. Inlining of the _GrowableList iterator specifically also includes the
> concurrent modification check and error handling.
>
> Calls to get:iterator, moveNext and get:current account for 7.12% of all InstanceCall
> instructions in Flutter Gallery.
>
> Fixes https://github.com/dart-lang/sdk/issues/39516
> Issue https://github.com/dart-lang/sdk/issues/39566
> Issue https://github.com/dart-lang/sdk/issues/39565
>
> Change-Id: I8dcc08b7571137e869a16ceea8cc73539eb02a5a
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126381
> Commit-Queue: Samir Jindel <sjindel@google.com >
> Reviewed-by: Martin Kustermann <kustermann@google.com >
TBR=kustermann@google.com ,sjindel@google.com ,johnniwinther@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: I89b88c3d9f7c743fc340ee73a45c3f57059bcf30
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126734
Reviewed-by: Clement Skau <cskau@google.com >
Reviewed-by: Teagan Strickland <sstrickl@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
Commit-Queue: Clement Skau <cskau@google.com >
2019-12-03 12:29:35 +00:00
Johnni Winther
5013ce6e5d
[cfe] Use correct types and errors in late lowering
...
Change-Id: I6e7dcbd96e151a69fc67a6cd5e5af1620760b02a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126647
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com >
2019-12-02 15:00:18 +00:00