Mayank Patke
05d9c60a22
Revert "Move the JavaScript constant system into constants/constant_system.dart"
...
This reverts commit 1702b986c8 .
Reason for revert: <INSERT REASONING HERE>
Original change's description:
> Move the JavaScript constant system into constants/constant_system.dart
> in preparation to merge it with the base constant system and flatten the
> constant system hierarchy.
>
> Change-Id: I6ef27b210515140d4516336fea015f74c8a0cd6a
> Reviewed-on: https://dart-review.googlesource.com/c/93840
> Reviewed-by: Sigmund Cherem <sigmund@google.com >
> Reviewed-by: Johnni Winther <johnniwinther@google.com >
TBR=johnniwinther@google.com ,sigmund@google.com ,fishythefish@google.com
Change-Id: If1b6291508c9792a6135a2ad5333b4bb3b800f69
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/94103
Reviewed-by: Mayank Patke <fishythefish@google.com >
Commit-Queue: Mayank Patke <fishythefish@google.com >
2019-02-22 21:50:57 +00:00
Mayank Patke
388f8e7731
Revert "Merge the JavaScript constant system into the base constant system and"
...
This reverts commit cf51eb2fba .
Reason for revert: <INSERT REASONING HERE>
Original change's description:
> Merge the JavaScript constant system into the base constant system and
> flatten the inheritance hierarchy.
>
> dart2js only needs one constant system at most.
>
> Change-Id: I72e446652ea44298677e986b06e63152e381353b
> Reviewed-on: https://dart-review.googlesource.com/c/93880
> Reviewed-by: Sigmund Cherem <sigmund@google.com >
> Reviewed-by: Johnni Winther <johnniwinther@google.com >
TBR=johnniwinther@google.com ,sigmund@google.com ,fishythefish@google.com
Change-Id: I2d403834ac3ac41371e041d21eec3d83d152343a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/94102
Reviewed-by: Mayank Patke <fishythefish@google.com >
Commit-Queue: Mayank Patke <fishythefish@google.com >
2019-02-22 21:46:52 +00:00
Mayank Patke
2c3dfa9e71
Revert "Eliminate singleton/static access to the constant system and expose its"
...
This reverts commit 027b76ecbf .
Reason for revert: <INSERT REASONING HERE>
Original change's description:
> Eliminate singleton/static access to the constant system and expose its
> functionality at the top level.
>
> Use sites have been updated to import the library with a prefix.
>
> Change-Id: I0f5e4e47bec089d2d0dc2fcd50caccfd98947cf5
> Reviewed-on: https://dart-review.googlesource.com/c/93842
> Reviewed-by: Sigmund Cherem <sigmund@google.com >
> Reviewed-by: Johnni Winther <johnniwinther@google.com >
TBR=johnniwinther@google.com ,sigmund@google.com ,fishythefish@google.com
Change-Id: I65310b2579c6746620ed6129e670206ed9bf5e91
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/94101
Reviewed-by: Mayank Patke <fishythefish@google.com >
Commit-Queue: Mayank Patke <fishythefish@google.com >
2019-02-22 21:42:52 +00:00
Mayank Patke
163c49fef9
Revert "Flatten constant operations to implement JS semantics by default."
...
This reverts commit 8172270c95 .
Reason for revert: <INSERT REASONING HERE>
Original change's description:
> Flatten constant operations to implement JS semantics by default.
>
> Change-Id: Id93e9a1ce77d8035928ba0b9c338a1030d0e13bd
> Reviewed-on: https://dart-review.googlesource.com/c/93960
> Commit-Queue: Mayank Patke <fishythefish@google.com >
> Reviewed-by: Sigmund Cherem <sigmund@google.com >
> Reviewed-by: Johnni Winther <johnniwinther@google.com >
TBR=johnniwinther@google.com ,sigmund@google.com ,fishythefish@google.com
Change-Id: I228c171ba25d24ab672add95e92e3f5d0656ddc4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/94100
Reviewed-by: Mayank Patke <fishythefish@google.com >
Commit-Queue: Mayank Patke <fishythefish@google.com >
2019-02-22 21:38:49 +00:00
Mayank Patke
8172270c95
Flatten constant operations to implement JS semantics by default.
...
Change-Id: Id93e9a1ce77d8035928ba0b9c338a1030d0e13bd
Reviewed-on: https://dart-review.googlesource.com/c/93960
Commit-Queue: Mayank Patke <fishythefish@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2019-02-22 21:34:47 +00:00
Mayank Patke
027b76ecbf
Eliminate singleton/static access to the constant system and expose its
...
functionality at the top level.
Use sites have been updated to import the library with a prefix.
Change-Id: I0f5e4e47bec089d2d0dc2fcd50caccfd98947cf5
Reviewed-on: https://dart-review.googlesource.com/c/93842
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2019-02-22 21:34:47 +00:00
Mayank Patke
cf51eb2fba
Merge the JavaScript constant system into the base constant system and
...
flatten the inheritance hierarchy.
dart2js only needs one constant system at most.
Change-Id: I72e446652ea44298677e986b06e63152e381353b
Reviewed-on: https://dart-review.googlesource.com/c/93880
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2019-02-22 21:34:47 +00:00
Mayank Patke
1702b986c8
Move the JavaScript constant system into constants/constant_system.dart
...
in preparation to merge it with the base constant system and flatten the
constant system hierarchy.
Change-Id: I6ef27b210515140d4516336fea015f74c8a0cd6a
Reviewed-on: https://dart-review.googlesource.com/c/93840
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2019-02-22 21:34:47 +00:00
Mayank Patke
5af8de8954
Remove the Dart constant system and move all required classes into the
...
JavaScript constant system.
Change-Id: I2a31ea743270459284c42b615b0dffd1c7aa2584
Reviewed-on: https://dart-review.googlesource.com/c/93746
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2019-02-22 21:34:47 +00:00
Johnni Winther
8e2fcf7782
Advanced tracking of field initialization
...
Change-Id: I8c8edb517bc3a3805ac0d72388f4e5c7fc34247f
Reviewed-on: https://dart-review.googlesource.com/c/93680
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2019-02-22 16:08:16 +00:00
Johnni Winther
60e4f194b0
Recognize and inline effectively constant fields
...
Change-Id: I243ee80ebc45d9cdab2f7c944cf5eceb26185b2c
Reviewed-on: https://dart-review.googlesource.com/c/93436
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Stephen Adams <sra@google.com >
2019-02-22 14:06:05 +00:00
Stephen Adams
af65aec21f
[dart2js] Fix assignment chaining
...
TBR=sigmund@google.com
Change-Id: Iac7e40d60b39a7dd32b8a8ecc24a68781eb716fa
Reviewed-on: https://dart-review.googlesource.com/c/93932
Reviewed-by: Stephen Adams <sra@google.com >
Commit-Queue: Stephen Adams <sra@google.com >
2019-02-22 02:23:45 +00:00
Stephen Adams
bb8396592b
[dart2js] Add tracing for codegen phases
...
Change-Id: Iace4d6037e7071d7642e510f0616c869cf30946b
Reviewed-on: https://dart-review.googlesource.com/c/93928
Commit-Queue: Stephen Adams <sra@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2019-02-22 01:18:05 +00:00
Stephen Adams
b60a55510b
[dart2js] Disable assignment chaining optimization
...
Disable while we look into variable allocator assertion.
Change-Id: Ib1e7c2eb869020ae8ecfa123801009adb6a742c7
Reviewed-on: https://dart-review.googlesource.com/c/93925
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Commit-Queue: Stephen Adams <sra@google.com >
2019-02-22 00:10:23 +00:00
Stephen Adams
2b9e57e4b2
Move assignment chaining to own pass
...
- We get simplification from running after removal of HTypeKnown.
- Added chaining when the chain is used several times.
The best size improvement on apps I tested is 0.25% (minified).
Change-Id: If2c50dea5899efb402782ea92c76c4fe628e1c1d
Reviewed-on: https://dart-review.googlesource.com/c/93800
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Commit-Queue: Stephen Adams <sra@google.com >
2019-02-21 21:01:39 +00:00
Sigmund Cherem
e3b8065625
Add support for --dump-info=binary
...
We continue to accept `--dump-info`, but now also accept `--dump-info=binary` so
we can use the new cheaper encoding.
Change-Id: I971cb9a3634ae1a333cfee14b2927c0e25000a01
Reviewed-on: https://dart-review.googlesource.com/c/93823
Reviewed-by: Stephen Adams <sra@google.com >
Commit-Queue: Sigmund Cherem <sigmund@google.com >
2019-02-21 17:54:39 +00:00
Stephen Adams
0e453c637b
[dart2js] Chain static assignments
...
Extend the logic for chaining field assignments to static variables.
Change-Id: Ia87d8ff3400d6f04257a546c7a1bb74775a3019e
Reviewed-on: https://dart-review.googlesource.com/c/93620
Commit-Queue: Stephen Adams <sra@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2019-02-20 20:07:55 +00:00
Johnni Winther
7edb7dddd8
Merge allocator analysis with collection of elided fields
...
- and rename to field analysis.
This prepares for recognizing effectively constant fields.
Change-Id: I1caa2e1a4f6d90fcd2562ec17d3093bff3a9b0d8
Reviewed-on: https://dart-review.googlesource.com/c/93427
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Stephen Adams <sra@google.com >
2019-02-20 16:03:24 +00:00
Johnni Winther
596e0aa645
Include FieldInitializer in allocator analysis
...
Change-Id: Id3ce8113816193408f704045c130e65fe65e6244
Reviewed-on: https://dart-review.googlesource.com/c/93424
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Stephen Adams <sra@google.com >
2019-02-20 10:53:01 +00:00
Stephen Adams
43c4749f7e
[dart2js] Turn on local aliases optimization
...
Change-Id: Ib916485202215545f8b1f68fdec7afd6008eeb46
Reviewed-on: https://dart-review.googlesource.com/c/93580
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Commit-Queue: Sigmund Cherem <sigmund@google.com >
2019-02-19 21:36:51 +00:00
Stephen Adams
db71576ef3
[dart2js] Generator bodies can be on super mixin applications
...
Bug: 35965
Change-Id: Ib611ba596d5778b6da2131e4712bfa669cf5e2b3
Reviewed-on: https://dart-review.googlesource.com/c/93465
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Stephen Adams <sra@google.com >
2019-02-18 16:57:23 +00:00
Stephen Adams
711dd8e82e
[dart2js] Avoid generating 'return' statement in setter
...
Setters don't need to return anything. Recognize the
ir.ReturnStatement in
set foo(x) => this._foo = x;
This reduces some large apps that use that style by a few KB.
Change-Id: I87edced1024ab6e596564fa748484d9e07f9f2d7
Reviewed-on: https://dart-review.googlesource.com/c/93368
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Stephen Adams <sra@google.com >
2019-02-18 16:54:03 +00:00
Johnni Winther
8e5f644d0a
Use constant evaluation in allocator analysis
...
Change-Id: I93543c7f295d4b325a34ced632c2d0a7555391e6
Reviewed-on: https://dart-review.googlesource.com/c/92421
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Stephen Adams <sra@google.com >
2019-02-18 13:18:31 +00:00
Johnni Winther
885f1cbe31
Fix constant folding of type literal equality
...
Closes #35853
Change-Id: I1c6caa1c8e074e8fd80c47699d6b0837bec166e0
Reviewed-on: https://dart-review.googlesource.com/c/92422
Reviewed-by: Stephen Adams <sra@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2019-02-18 10:34:20 +00:00
Mayank Patke
6b5424a7e7
Use SSA nodes to infer map key/value types.
...
This consolidates our logic for inferring element types for lists, sets,
and maps.
Change-Id: Ic57a3d857e2462f11482e8b89d884a5537f5eb90
Reviewed-on: https://dart-review.googlesource.com/c/93367
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Commit-Queue: Mayank Patke <fishythefish@google.com >
2019-02-15 23:50:27 +00:00
Stephen Adams
1ac61b0c35
[dart2js] Basic chaining of field assignments
...
t4 = t3.tooltip;
t2._tooltipText = t4;
this.currenttooltip = t4;
--->
this.currenttooltip = t2._tooltipText = t3.tooltip;
future = new P._Future(0, $.Zone__current, [P.bool]);
this._stateData = future;
return future;
--->
return this._stateData = new P._Future(0, $.Zone__current, [P.bool]);
Change-Id: I8a1c4dae85b8a10f8b2c099668033f0c1ea9b6c4
Reviewed-on: https://dart-review.googlesource.com/c/93342
Commit-Queue: Stephen Adams <sra@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2019-02-15 22:45:46 +00:00
Mayank Patke
99a5057bca
Add set tracing.
...
Change-Id: I889c5ac8d6207c9a25721d939b0f01b4e945a940
Reviewed-on: https://dart-review.googlesource.com/c/92149
Commit-Queue: Mayank Patke <fishythefish@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2019-02-15 20:44:46 +00:00
Mayank Patke
c291757bed
Finish handling SetLiterals in the inferrer and SSA builder kernels.
...
Change-Id: I9e8a537e57eb51195b57bb2dccb64c9730c553f9
Reviewed-on: https://dart-review.googlesource.com/c/92148
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2019-02-15 20:44:46 +00:00
Mayank Patke
d11dd982dd
Add typeinfo for sets and their elements and start tracing them in the inferrer.
...
Change-Id: Ib9a4e46b77a15ab17396d519166969a221b63da4
Reviewed-on: https://dart-review.googlesource.com/c/92168
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2019-02-15 20:44:46 +00:00
Mayank Patke
61ab8e7816
Add kernel and backend impacts for set literals.
...
Change-Id: Id4eca9807b8170ef9c81b7d66236530802a2960c
Reviewed-on: https://dart-review.googlesource.com/c/92167
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2019-02-15 20:44:46 +00:00
Mayank Patke
d87482a3e1
Add SetLiteralUse and start tracking them in resolution.
...
Change-Id: Ib5f36a2e24631007a4ddb9c9779abcc892a6f7c0
Reviewed-on: https://dart-review.googlesource.com/c/92166
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2019-02-15 20:44:46 +00:00
Mayank Patke
97bfcd4a3a
Add remaining support for sets to the abstract value domain. This lets us create set values and access their element types in the inferrer.
...
Change-Id: Ic2fd082e0ecb043a4c47db48e57ff8d6f2ae1c84
Reviewed-on: https://dart-review.googlesource.com/c/92147
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2019-02-15 20:44:46 +00:00
Mayank Patke
e53cd30112
Add SetTypeMask.
...
Change-Id: I9f202506c364cc1387efa8cea4cca6038f350470
Reviewed-on: https://dart-review.googlesource.com/c/92146
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2019-02-15 20:44:46 +00:00
Mayank Patke
15cd12beb4
Add SetConstantValue and SetConstantExpression plus their visitors.
...
Change-Id: I0580d773c7ec358d67e1ca2e504836b58fb258f3
Reviewed-on: https://dart-review.googlesource.com/c/92145
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2019-02-15 20:44:46 +00:00
Mayank Patke
c841f050c0
Add set types to the abstract value domain. We cannot yet allocate sets.
...
Change-Id: I7012d69d877884dbba1019b35d61a8d05d7ac668
Reviewed-on: https://dart-review.googlesource.com/c/92164
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2019-02-15 20:44:46 +00:00
Mayank Patke
51db39a6ae
Implement basic SetLiteral visitors. Builder kernels will come later.
...
Change-Id: Iaab7d73cbc5f15d3b8d5ade49ccee9df1db13ff6
Reviewed-on: https://dart-review.googlesource.com/c/92163
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2019-02-15 20:44:46 +00:00
Mayank Patke
a164e95582
Update CommonElements with set types.
...
Change-Id: I2f26b565d367346f1de431c90ad2a8cacdf2156c
Reviewed-on: https://dart-review.googlesource.com/c/92162
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2019-02-15 20:44:46 +00:00
Sigmund Cherem
6588eaf794
Fix calls to generator-bodies to correctly model elided parameters
...
Bug: https://github.com/dart-lang/sdk/issues/35924
Change-Id: If4e2597c1e92f12675f537a1cfba4cb14f9551d8
Reviewed-on: https://dart-review.googlesource.com/c/92862
Reviewed-by: Stephen Adams <sra@google.com >
Commit-Queue: Sigmund Cherem <sigmund@google.com >
2019-02-12 21:58:31 +00:00
Sigmund Cherem
c507acfae4
Fix Js-interop factory calls which broke when eliding optional parameters.
...
The issue derives from the fact that `parameterStructure` has only the preserved parameters,
however the SSA was emitting values for all arguments.
I fixed this by emitting all parameters. I also noticed that the parameter order should
probably be the native-ordering here as well (it doesn't matter for the factory, but it may
matter for other static native calls, if any)
Bug: https://github.com/dart-lang/sdk/issues/35916
Change-Id: I2e93c7f8e3baf5c9285107d23786bb3bf4f3a511
Reviewed-on: https://dart-review.googlesource.com/c/92626
Commit-Queue: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Stephen Adams <sra@google.com >
2019-02-12 18:53:43 +00:00
Stephen Adams
66c404a26e
dart2js: Reduce assert helpers
...
Change-Id: Ic2ce0e485e3fd27b8f4e92371eb17a076d5192c1
Reviewed-on: https://dart-review.googlesource.com/c/92668
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Commit-Queue: Stephen Adams <sra@google.com >
2019-02-12 18:34:34 +00:00
Aske Simon Christensen
250f9665fb
[CFE] Get constants backend from backend target.
...
Change-Id: I04286cd38eb45ca38f8335d896c503becad16566
Reviewed-on: https://dart-review.googlesource.com/c/92136
Commit-Queue: Aske Simon Christensen <askesc@google.com >
Reviewed-by: Kevin Millikin <kmillikin@google.com >
Reviewed-by: Jenny Messerly <jmesserly@google.com >
2019-02-12 09:56:57 +00:00
Johnni Winther
60527d7b97
Support computation of ResolutionImpact through ImpactData based on kernel
...
This is a pre-step to modularizing the world impact computation.
Change-Id: I4f59f9767e7399fdcf9a070074864e6873b61a52
Reviewed-on: https://dart-review.googlesource.com/c/92044
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2019-02-08 12:02:33 +00:00
Johnni Winther
52f5e34dbf
Move JsToFrontendMap to js_world_builder and add toBackendConstant.
...
We had two implementations of TypeConverter. These are now merged.
Since native behavior can contain free function type variables the
type converter currently conditionally allow these.
Change-Id: I4591d4b628a9eb75b1316a1884e82b31f2fca97f
Reviewed-on: https://dart-review.googlesource.com/c/92286
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2019-02-08 10:16:58 +00:00
Johnni Winther
30d760e0c9
Add unittest of allocator analysis for the K model
...
This is a prestep towards tracking initialization through field
initializers with the aim at discovering effectively constant instance
fields.
Change-Id: Iefc36382589e4fbe03e1bc4314230f62fb925b9a
Reviewed-on: https://dart-review.googlesource.com/c/92265
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Stephen Adams <sra@google.com >
2019-02-08 10:09:49 +00:00
Johnni Winther
45f55183c5
Refactor processing of pragma annotations
...
Change-Id: I3d4efdab560557d5d9bbab748d003cd360efbe3d
Reviewed-on: https://dart-review.googlesource.com/c/92264
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2019-02-08 09:55:28 +00:00
Johnni Winther
3fab17ee58
Display CFE message contexts
...
Change-Id: I6e1ab11a3520e284e9adef2210249a171cfc1eab
Reviewed-on: https://dart-review.googlesource.com/c/92285
Reviewed-by: Peter von der Ahé <ahe@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2019-02-08 09:01:29 +00:00
Johnni Winther
33bc628235
Treeshake unread fields
...
Change-Id: I188df5fd18163e5b32213a364d0fc163300db7b9
Reviewed-on: https://dart-review.googlesource.com/c/92130
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2019-02-07 09:58:19 +00:00
Johnni Winther
c591454dd3
Inline unprovided optional parameters
...
Change-Id: I61c82216965062feee8e01ba2533d0ea7c0052ef
Reviewed-on: https://dart-review.googlesource.com/c/90700
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2019-02-07 08:44:49 +00:00
Peter von der Ahé
52bd3d9159
Complain about use of deprecated members
...
Change-Id: I76a66cb143027bed83fe6df3c5f19c8a7879a4ca
Reviewed-on: https://dart-review.googlesource.com/c/91926
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2019-02-05 09:09:04 +00:00
Johnni Winther
e4b809f0e6
Add unit testing of (some) invoke dynamic specializers
...
Change-Id: I7c3b100da899050a7eb234d53a70d235b3186675
Reviewed-on: https://dart-review.googlesource.com/c/91829
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2019-02-04 10:24:03 +00:00