Johnni Winther
f889bd7067
Delete JavaScriptBackend
...
* move names to Identifiers
* move resolution parts to front end strategy
* move codegen parts to backend strategy
* remove now unneeded methods from FrontendStrategy and BackendStrategy
Change-Id: I0675d56045dd212ad195177ecd23b27b0d849a80
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105742
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2019-06-13 10:09:46 +00:00
Johnni Winther
c0b967d7da
Refactor Namer and ConstantEmitter to prepare for modular compilation
...
Change-Id: I2fa8928d7c7d845df2507c9ad034107ec4bc21de
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102364
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2019-05-20 08:57:39 +00:00
Johnni Winther
0db620a2a5
Decouple Namer from RuntimeTypesEncoder and Tracer
...
Change-Id: I1c52b6740b590b1089201c3d0d8286d8e0912c48
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101824
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2019-05-10 08:58:29 +00:00
Johnni Winther
1c1af2808f
Introduce Codegen interface to decouple JavaScriptBackend from the codegen phase
...
Change-Id: I7effc20d34fa5d5da799c690182eb6f09948c6ff
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101288
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2019-05-07 07:57:06 +00:00
Johnni Winther
a1dd732ec6
Extract WorldBuilder results into an immutable BuiltWorld object
...
For resolution this is the KClosedWorld and for codegen this is the new
CodegenWorld object. This change removes the use of the world builders
after the world building has ended. It prepares for computing more of the
result data from the collected member usages.
Change-Id: I80032e3fc0e29179137b8c0380f09f68ab6fa03b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100540
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2019-04-26 07:52:58 +00:00
Johnni Winther
10abacba10
Use hasOnlyNonDeferredImportPathsToConstant to add deferred constants
...
Change-Id: Ifd8b733c526fe4e7ae837a7d17c682e91717feb5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98013
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2019-03-28 09:17:31 +00:00
Johnni Winther
87c553bf3c
Ascribe constants to the member world impacts
...
Change-Id: I978a6453196b47dd4ed5f51dde1d81feaa4f2008
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97502
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2019-03-22 12:58:40 +00:00
Johnni Winther
3de6276ad6
Handle deferred constants in the ssa builder
...
Change-Id: I8fc5e4f01d00a0f1b5ad1b2b51495476f0ec625e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97328
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2019-03-22 09:06:03 +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
Stephen Adams
651d19cdaa
Ignore --fast-startup flag, assume true
...
Change-Id: I7a41160bf7f5bb403177b19613de2889e0fa2b44
Reviewed-on: https://dart-review.googlesource.com/c/87424
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2019-01-09 21:22:57 +00:00
Johnni Winther
0fded45406
Handle serialization with --dump-info
...
Change-Id: I626eb8c7dca0b4e92f2aca79429f6e7336215840
Reviewed-on: https://dart-review.googlesource.com/c/84846
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2018-11-21 09:40:02 +00:00
Johnni Winther
41c50d9ac9
Support serialization of deferred imports
...
+ add tests for various fixes
+ add canonicalization support in serialization
Change-Id: Ib6a8bfd6073dbd93c1ba4fd9d2feff77ac43b178
Reviewed-on: https://dart-review.googlesource.com/c/81402
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Auto-Submit: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2018-10-26 09:36:18 +00:00
Johnni Winther
843b4c9c23
Refactoring to prepare for serialization
...
- pipes GlobalLocalsMap, ClosureData and OutputUnitData through JClosedWorld
Change-Id: Id1d8353a9c75217aab7e06a276bfb503f50a5811
Reviewed-on: https://dart-review.googlesource.com/c/79683
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Auto-Submit: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2018-10-17 12:05:05 +00:00
Johnni Winther
e311e12bc4
Move all data for collection for testing behind one flag
...
- to ensure that we don't retain unneeded data in production
Change-Id: I2f702e040ed99cb8540a5b60efcf88a2c6b33af0
Reviewed-on: https://dart-review.googlesource.com/72720
Reviewed-by: Stephen Adams <sra@google.com >
2018-09-10 14:44:02 +00:00
Johnni Winther
6616ddeb88
Move dart2js unittests to subfolders
...
* All helpers in /helpers/
* Tests of user-facing behavior in /end_to_end/
* Tests of internal models and unittests of internal classes in /model/
Change-Id: Ic7a7e58aa01f92f8572514ae81230804f36af67e
Reviewed-on: https://dart-review.googlesource.com/72644
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Stephen Adams <sra@google.com >
2018-09-10 08:22:53 +00:00
Johnni Winther
7c6211b1d8
Make unittests work with Dart 2
...
Change-Id: Ic2c105747dfba067464fc15e158f58417c8636a8
Reviewed-on: https://dart-review.googlesource.com/61922
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2018-06-22 20:25:05 +00:00
Johnni Winther
18407141b7
Split deferred load entity computation by class, member and local function
...
Change-Id: Ifb612de6ac945d2ececa96871f0eb3fc5ceb4052
Reviewed-on: https://dart-review.googlesource.com/55896
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2018-05-24 09:52:50 +00:00
Johnni Winther
831a6ba598
Remove useOldFrontend testing from various tests
...
Change-Id: Iff97dd60756ae18cb0a3203cffd87c8da9e53757
Reviewed-on: https://dart-review.googlesource.com/53944
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2018-05-08 08:31:43 +00:00
Sigmund Cherem
c438f8b3f4
Dart2js defaults to the new common front-end
...
Change-Id: Id0f69d258b010a746b56e259335185bcca7dafec
Reviewed-on: https://dart-review.googlesource.com/45143
Commit-Queue: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2018-03-13 19:25:59 +00:00
Sigmund Cherem
04095f7cee
Replace PrimitiveValue.primitiveValue by individual fields on the concrete
...
primitive classes (intValue, doubelValue, etc).
(This is step 1 of ?? to support int64, see https://github.com/dart-lang/sdk/issues/31788 )
Change-Id: I3fa3a69761d332640b03416e883d57fef0819e2f
Reviewed-on: https://dart-review.googlesource.com/41923
Reviewed-by: Stephen Adams <sra@google.com >
Commit-Queue: Sigmund Cherem <sigmund@google.com >
2018-02-21 17:25:27 +00:00
Johnni Winther
99feac38cc
Move unittests
...
Change-Id: I23972b65cd839b9e535e4c483312c0e66b43d374
Reviewed-on: https://dart-review.googlesource.com/34820
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2018-01-17 10:29:16 +00:00
Sigmund Cherem
497d592ac7
Fixes for deferred constants in the kernel pipeline.
...
The constant collector was inconsistent with the old frontend: we were
skipping primitives and we were not going into the body of closures.
Change-Id: I3321426da7e684d203f0ac7a2a2c7028f3138a7b
Reviewed-on: https://dart-review.googlesource.com/32663
Commit-Queue: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Emily Fortuna <efortuna@google.com >
2018-01-05 23:37:58 +00:00
Johnni Winther
e6d4ee1cc4
Move unittests, part #13 of 13
...
Change-Id: I0001b681892a5f025339ef4822191a1c72b8ec83
Reviewed-on: https://dart-review.googlesource.com/31487
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2017-12-29 13:31:52 +00:00
Sigmund Cherem
1ddb7db237
Add support for deferred globals in kernel.
...
Change-Id: I24adb7e4c67b7c1d077efd6705b9bce92406deac
Reviewed-on: https://dart-review.googlesource.com/31680
Commit-Queue: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Emily Fortuna <efortuna@google.com >
2017-12-29 07:17:53 +00:00
Johnni Winther
6d40c7629e
Move unittests, part #4 of ?
...
- add 'deferred' folder for deferred load tests
Change-Id: I60b07b09df80bf6c8d3df6dcec9bce12bdcbafb8
Reviewed-on: https://dart-review.googlesource.com/30862
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2017-12-21 10:24:49 +00:00