Commit Graph

178 Commits

Author SHA1 Message Date
Stephen Adams c9ebc7c13f [dart2js/kernel] Fix poor code with nested List.generate
Cloning of InstanceInvocation kernel ast nodes was dropping the
isInvariant and isBoundSafe flags, causing the nested List.generate
expansion to not be as well optimized. `-O3` and `-O4` were 'hiding'
the problem by removing the checks anyway.

Change-Id: Id20f2eb4ef5396691a2dd5cbdd847e2d361a21d0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/209442
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2021-08-09 20:38:50 +00:00
Joshua Litt 3fb85e4342 [dart2js] Break out classes from deferred_load.dart.
Change-Id: Ic0433eb087d6ae59bfd57d5e79b91ab2c7dcb6ad
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/208562
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2021-08-03 17:16:19 +00:00
Joshua Litt 23ba8d564f [dart2js] Move 'deferred_load.dart' to deferred_load/.
Change-Id: Ie9b4b772c1286f2d6c4f7fc647a1d0777f62e13d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/208343
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
2021-08-02 21:10:00 +00:00
Riley Porter b36dcbf00b [ddc] Print AST of compiled libraries with summarize-text flag.
Moves dart2js DebugPrinter and Indentation to pkg/kernel/lib/text
and produces the AST of compiled libraries when ddc is run using
the --summarize-text flag.

Change-Id: I195ff99a0929ac12791b4f7b6c5e755b19065c23
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/208460
Commit-Queue: Riley Porter <rileyporter@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2021-08-02 17:36:10 +00:00
Kevin Moore be2e01e61d Ignore acceptable analysis hints
Change-Id: I92c43f283f13531eca99303be6d640f414db6a70
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/208364
Auto-Submit: Kevin Moore <kevmoo@google.com>
Commit-Queue: Kevin Moore <kevmoo@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2021-07-30 00:21:22 +00:00
Stephen Adams 4d65548fd4 [dart2js] Remove deprecated member Compiler.fromEnvironment
Change-Id: Ie0f175494bf4bddf4393b7ad991dc0f0572f56cb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/208440
Commit-Queue: Stephen Adams <sra@google.com>
Commit-Queue: Kevin Moore <kevmoo@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2021-07-29 22:46:04 +00:00
Johnni Winther cb3a9b0043 [cfe] Remove old method invocation encoding nodes
TEST=existing

Change-Id: I05ee649ecfa7945e2e0f5e5d09441d8916a9c46e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/208185
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2021-07-28 15:44:04 +00:00
Joshua Litt 9ed2c687f2 [dart2js] Add features to flavor string.
Change-Id: Id6b4b76f1fb49ecef0b8d67d0684308837f7e8b4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/207885
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2021-07-23 19:43:41 +00:00
Stephen Adams 1e7db45b31 [dart2js] Remove ConstantProtoMapClass
Change-Id: I1917db995d12bbde3024f774de49e75bced3b6a5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/207101
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
2021-07-16 19:28:47 +00:00
Mayank Patke c559cf04c3 [dart2js] Some DartTypeVisitor cleanup.
This CL deletes BaseDartTypeVisitor and makes all of the visit* methods
in DartTypeVisitor abstract. This forces subclasses of DartTypeVisitor
to provide definitions for all of these methods rather than relying on
some default.

The old code led to a series of bugs with the same root cause: when a
new kind of DartType was added (and a corresponding visit* method added
to DartTypeVisitor), not all concrete implementations of the visitor
were updated to handle the new DartType. This didn't produce static
errors because DartTypeVisitor provided default no-op implementations
for visit* methods. In some cases, this was the desired behavior anyway,
but in practice, any time a new DartType is added, we want our tools to
yell at us until we've validated that it's properly handled everywhere
(even if the proper handling turns out to be "do nothing").

This CL also updates Namer.getTypeRepresentationForConstant to use a
visitor pattern.

Fixes: https://github.com/dart-lang/sdk/issues/46589
Change-Id: I451b592ae1ce4afff40de913535798a62e17b8b6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/206943
Reviewed-by: Joshua Litt <joshualitt@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2021-07-15 19:04:25 +00:00
Joshua Litt 902709109c [dart2js] Upstream deferred_loading_test_helper.
Change-Id: I24b06251902d142afd1a5c62a8137459a283348e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/206663
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
2021-07-13 23:26:49 +00:00
Joshua Litt 727207910b [dart2js] Fix minor bug in regenerating annotations.
Change-Id: Ia6b5a2cef3815b000f5a88f5560ca0782fb7b53c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/206561
Auto-Submit: Joshua Litt <joshualitt@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2021-07-12 17:40:15 +00:00
Mark Zhou 4b858b95f8 [dart2js] Moving 'legacyJavascript' flag to shipping.
This effectively enables ES6 language features in Dart2JS by default.
Also adapts some tests to expect ES6 Method Definition syntax.

Change-Id: Iec36fbf9d22afd1083f7560a16fa73fbf15fb85c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/205741
Commit-Queue: Mark Zhou <markzipan@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Joshua Litt <joshualitt@google.com>
2021-07-09 20:32:56 +00:00
Mayank Patke f15eb22c39 [dart2js] Update output sinks to recursively create needed directories.
Change-Id: Ic43f8334cabf2c89f533ed4c3a3aab825e33e9c0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/203961
Commit-Queue: Mayank Patke <fishythefish@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2021-07-01 16:49:37 +00:00
Stephen Adams 3d081f907a [dart2js] Clean up tear-off code
- Simplify tear-off signatures
- Make BoundClosure have consistent Dart receiver
- Use receiver/interceptor terminology rather than self / self+receiver

Change-Id: Ifb6c52cc7a9475b79e468efb19eb76f70ec5cd09
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/204680
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2021-06-25 21:51:20 +00:00
Joshua Litt 202277c689 [dart2js] Create holder per output unit.
Change-Id: I3c6083f0732c3533a57c5857b3e69e2dc791ce7e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/198580
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2021-06-24 15:38:38 +00:00
Johnni Winther 1adf5dc7c6 [cfe] Verify that only new method invocation nodes are generated when supported
Closes https://github.com/dart-lang/sdk/issues/46339

Change-Id: I404a8afd141f615cfcb6050f280a1410adaac0ab
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/204580
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2021-06-23 09:41:35 +00:00
Joshua Litt 9b4764066e [dart2js] Add new class to help manage releasable features.
Change-Id: Ib20f5565f08081f67cd2b394b5d3ebd213f913dd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/202733
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2021-06-09 16:15:01 +00:00
Mark Zhou b72588aa3e [dart2js] Extending pkg/js_ast to support arrow functions and methods.
* Adds a couple of arrow function and method tests
* Does not add support for method interpolation (like in DDC).

Change-Id: I73ccbbf2907611dae6f1720f7933e3469d4eb9b4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/198883
Commit-Queue: Mark Zhou <markzipan@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2021-06-03 00:15:04 +00:00
Stephen Adams acf463616e Redo again "[dart2js/js_ast] Escape strings in the printer"
Patchset 1 is original change.

Change-Id: I19832574012af4a81f6d32c8ea46b196b6f306a5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/201101
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
2021-06-02 02:05:05 +00:00
Stephen Adams 43b9fca8df Revert "Redo "[dart2js/js_ast] Escape strings in the printer""
This reverts commit 7817468526.

TBR=fishythefish@google.com

Change-Id: I6d1b4864ea483073f636718ac650d13e1f782d0d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/201080
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2021-05-21 22:49:08 +00:00
Stephen Adams 7817468526 Redo "[dart2js/js_ast] Escape strings in the printer"
Fix analyzer diagnostics in js_ast.

- remove unused import
- bump SDK requirements to allow Set literal
- remove unused compareTo method

TBR=fishythefish@google.com

Change-Id: Iabf8d9aeea1d6ceeda1bf85ff7e80914c67c9d63
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/200780
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2021-05-20 05:55:37 +00:00
Stephen Adams 8564caf29a Revert "[dart2js/js_ast] Escape strings in the printer"
Revert while I fix the cbuild errors.

This reverts commit dc92f126e2.

TBR=fishythefish@google.com

Change-Id: I4e3afa19d62bdeecc344bf1a413a2fd3e3a7aca2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/200760
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2021-05-19 23:51:22 +00:00
Stephen Adams dc92f126e2 [dart2js/js_ast] Escape strings in the printer
The old way was for the JavaScript string literals to be pre-escaped.
This was cumbersome since each place that creates a JavaScript string
literal needs to make a decision about whether escaping is needed and
the kind of escaping (UTF8 or ASCII).

This change moves the responsibility for escaping into the js_ast printer.
The escaped text exists only while printing, which reduces the heap in a
large modular compile link scenario by 220MB, since the unescaped string
is in memory anyway.

There were three kinds of escaping - ASCII, UTF8, and 'legacy', if not
specified. This has been reduced to ASCII (default) and UTF8, chosen by
a printer option.


Change-Id: Ic57d8fb70a213d3518244f1a152cd33e54103259
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/200400
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
Reviewed-by: Joshua Litt <joshualitt@google.com>
2021-05-19 21:32:52 +00:00
asiva fb90f11f4b [dart:io] - Fix incorrect setting of socket options for UNIX-DOMAIN sockets
- setting of UNIX-DOMAIN socket options was not throwing the correct error
- listen in HTTPServer was trying to set TCP_NODELAY for UNIX-DOMAIN sockets

Fixes :
 https://github.com/dart-lang/sdk/issues/45977
 https://github.com/dart-lang/sdk/pull/45978
 https://github.com/dart-lang/sdk/issues/45975

TEST=new test cases added

Change-Id: Ie0341f26b1ba0f9423c08a8de968053a2af1c730
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/199640
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2021-05-14 01:53:48 +00:00
Joshua Litt b8a1cd4850 [dart2js] Cleanup obsolete 'getGlobalFromName' builtin.
Change-Id: Ie2b0f586fedbd183ea98b08fc766d5acf52d9e7b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/198881
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
2021-05-13 20:47:38 +00:00
Stephen Adams 5b93e8d44b [dart2js] Remove staticFieldsForReflection
Change-Id: I0ee3ec5528df50e413d861eae495a6440a029602
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/199620
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
2021-05-13 16:39:45 +00:00
Sam Rawlins d9ff433081 Remove unnecessary imports in pkg/compiler
In each library where an import is removed, the library uses some elements
provided by the import, BUT there is another import which provides all of the
same elements, and at least one more which the library uses.

In this change, we remove the imports which can be simply removed in favor of
the other already present imports.

See https://github.com/dart-lang/sdk/issues/44569 for more information.

Change-Id: I38a6422e5fc59767fe54eae78a5e24357f1cc030
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/199461
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2021-05-12 15:12:40 +00:00
Stephen Adams 823b429d86 [dart2js] js_ast.Name does not need to be Comparable
- js_ast.Name is no longer Comparable
- _NameReference is used on demand rather than for every occurrence.
  This saves 50MB in the big link scenario.
- remove unused asVariableUse() method


Change-Id: I37f55044d394b7e047ca88c527641471bc94c641
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/198981
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Joshua Litt <joshualitt@google.com>
2021-05-11 01:53:33 +00:00
Stephen Adams b7d2dbe9b5 [js_runtime] Cleanup some dynamic calls
Change-Id: I7fe4dab27f1d6fb2e52a171bd8f373c3decc0b7e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/197562
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2021-05-07 22:47:47 +00:00
Joshua Litt 7b9cdf0cf0 [dart2js] Defer holder names.
Change-Id: I32f8d1462674ba035d945ac160e28d643303fa44
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/195300
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2021-05-06 01:15:12 +00:00
Stephen Adams a2f48e931a [dart2js] Remove soft-deferred code
The soft-deferred experiment no longer generates working code and is
in the way of some work in progress.

Change-Id: I3f1043b5e289981ab9351247e7b02ee9671f565f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/196551
Reviewed-by: Joshua Litt <joshualitt@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2021-04-26 17:57:17 +00:00
Stephen Adams 3ec6a72b93 [dart2js] Cleanup triple-shift flags
Bug: 45335
Change-Id: I4fc2f970884439d9e4f0957dd4f756c13511306a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/196560
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2021-04-24 18:55:12 +00:00
Joshua Litt bf02e85330 [dart2js] Use DeferredStatement in existing Finalizers.
Change-Id: Iadc4b2d6f1fa0bebb57ac25012571078b9bfcdb4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/195189
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
2021-04-22 17:37:46 +00:00
Stephen Adams b529afd10a [dart2js] rename setRuntimeTypeInfo to _setArrayType
For a long time now this is used only to put types on JSArray.

Change-Id: I31f15d313d7e131eecac76697a8938c197f83e7d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/195940
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2021-04-22 02:06:31 +00:00
Johnni Winther 6ec6fd7b4a [dart2js] Remove equals-null work-arounds
Change-Id: I4fad40687cda6bb8a21a6d249fe9ecda2a576ff0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/195265
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2021-04-20 04:53:29 +00:00
Stephen Adams 7754a868dd [dart2js] Remove static state accessors
Change-Id: I58391845d3e28b041b7bb1746e696610d113ea7f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/195511
Reviewed-by: Joshua Litt <joshualitt@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2021-04-16 03:43:17 +00:00
Joshua Litt 298795da23 [dart2js] Create DeferredHolderExpression to defer holder names.
Change-Id: I5a6b2f56d0e63e8979687e16841a8696b9c6507f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/194113
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2021-04-14 18:27:25 +00:00
William Hesse 0cb6607cf1 [sdk] Bump version to 2.14
TEST=CI presubmit with added tryjobs

Change-Id: I6c4f7de9d3fbe6d1031f6f0161e8ffebcea822a4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/195062
Commit-Queue: William Hesse <whesse@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2021-04-13 12:47:27 +00:00
Stephen Adams acd5f6e997 [dart2js] Add test for string method specializers
Change-Id: I4bbc7d7353c6ccc5eb3b0b9feb08c16f35c24fb6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/194885
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2021-04-13 06:53:39 +00:00
Joshua Litt 28aa79ddd7 Reland "[dart2js] Add support for bundling fragments."
This is a reland of d0f55d0e42

Original change's description:
> [dart2js] Add support for bundling fragments.
>
> Also changes the default to bundling rather than interleaving fragments.
>
> Change-Id: Id79d03a8a8b5be7465b8535f6c9c47dfad120c9c
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/191484
> Commit-Queue: Joshua Litt <joshualitt@google.com>
> Reviewed-by: Stephen Adams <sra@google.com>
> Reviewed-by: Sigmund Cherem <sigmund@google.com>

Change-Id: I0347ddb6dd93eb57f0abc259fc477ec3a9d7231b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/194323
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
2021-04-08 17:46:50 +00:00
Joshua Litt 05a0e79a76 Revert "[dart2js] Add support for bundling fragments."
This reverts commit d0f55d0e42.

Reason for revert: Investigating 5% spike in memory usage

Original change's description:
> [dart2js] Add support for bundling fragments.
>
> Also changes the default to bundling rather than interleaving fragments.
>
> Change-Id: Id79d03a8a8b5be7465b8535f6c9c47dfad120c9c
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/191484
> Commit-Queue: Joshua Litt <joshualitt@google.com>
> Reviewed-by: Stephen Adams <sra@google.com>
> Reviewed-by: Sigmund Cherem <sigmund@google.com>

TBR=sra@google.com,sigmund@google.com,joshualitt@google.com

Change-Id: I3d61f14981d9314163974c6a38d5a5e0d76b5a98
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/194322
Reviewed-by: Joshua Litt <joshualitt@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
2021-04-07 23:53:20 +00:00
Mayank Patke c089922d2a Reland "[dart2js] Implement Cell abstraction for late lowering."
This is a reland of b647020318

Original change's description:
> [dart2js] Implement Cell abstraction for late lowering.
>
> Change-Id: Ib5fe8ed8e43513283a4e05f216e068241e8d63da
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193587
> Commit-Queue: Mayank Patke <fishythefish@google.com>
> Reviewed-by: Stephen Adams <sra@google.com>

Change-Id: I75501a556819463dab09842be11790b5f4ef1c7b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193890
Reviewed-by: Mayank Patke <fishythefish@google.com>
2021-04-07 19:43:07 +00:00
Joshua Litt d0f55d0e42 [dart2js] Add support for bundling fragments.
Also changes the default to bundling rather than interleaving fragments.

Change-Id: Id79d03a8a8b5be7465b8535f6c9c47dfad120c9c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/191484
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2021-04-07 18:30:47 +00:00
Joshua Litt 617e05ee49 [dart2js] Update deferred loading test to golden pre and final fragments.
Change-Id: If452f1bf1e36c3dcf5947beff6ff07be01674217
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/194202
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2021-04-07 16:48:17 +00:00
Stephen Adams 0087b0538b Revert "[dart2js] Implement Cell abstraction for late lowering."
This reverts commit b647020318.

Reason: test failures.
Change-Id: I1c4987ede89bebfcc5f14273f0bfbaf809507a43
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193883
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2021-04-02 16:59:31 +00:00
Mayank Patke b647020318 [dart2js] Implement Cell abstraction for late lowering.
Change-Id: Ib5fe8ed8e43513283a4e05f216e068241e8d63da
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193587
Commit-Queue: Mayank Patke <fishythefish@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2021-04-01 23:57:27 +00:00
Joshua Litt d5f3189c91 [dart2js] Extends the graph_isomorphizer with more coverage.
This cl adds support for generating classes, classes used only for
types, mixins, closures, and constants, to the graph_isomorphizer.

Change-Id: I04e5590a9ff903b0b32daf1f4607fb1b0920e0cc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189841
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2021-04-01 17:06:52 +00:00
Joshua Litt 5ca3b45541 [dart2js] Remove unused 'classesOnlyNeededForRti' field.
Change-Id: I424fd9fcf6c7f8a9d0f724b5599fc96242bb9042
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192943
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
2021-03-31 17:30:29 +00:00
Joshua Litt 81092839c7 Reland "[dart2js] Avoid reserializing the closed world alongside type inference."
This is a reland of 7b022a7f2f

Original change's description:
> [dart2js] Avoid reserializing the closed world alongside type inference.
>
> This cl adds a temporary flag '--no-closed-world-in-data' in order to
> support serializing global inference results with and without the closed
> world.
>
> This flag only exists to allow us to roll this into google3. Afterwards,
> it will be removed.
>
> Change-Id: I6e9712739edd148edcf43007b6ece35efa688538
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192124
> Commit-Queue: Joshua Litt <joshualitt@google.com>
> Reviewed-by: Sigmund Cherem <sigmund@google.com>
> Reviewed-by: Johnni Winther <johnniwinther@google.com>

Change-Id: I47c08edb868f272c7501ae139a9533fa07d4176f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193585
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
2021-03-31 16:11:39 +00:00