Commit Graph

4787 Commits

Author SHA1 Message Date
Sigmund Cherem d6cecab694 [dart2js]: Improve deferred loading documentation
This moves the algorithm comment to be more visible at the top of the library,
and expands it with more details about how the algorithm works.

Change-Id: I74eeec52e71c55ba77df8d7d35473570c9d1f6e5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/209441
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Joshua Litt <joshualitt@google.com>
2021-08-10 23:53:11 +00:00
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
Stephen Adams 5ff2459d88 Remove obsolete internal dart2js annotations
These annotations have all been replaced with @pragma('dart2js:xxx')
versions:

@ForceInline, @NoInline, @NoThrows, @NoSideEffects, @AssumeDynamic.

Change-Id: Ia4730670c6864ccbe0fa4120108c3c16ab887c23
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/208863
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2021-08-04 23:27:18 +00:00
Stephen Adams 23b50dfa7d [dart2js] Add dart:_dart2js_runtime_metrics library and package
The internal dart:_dart2js_runtime_metrics library is accessed via
package:dart2js_runtime_metrics.

There is currently one API: startupMetrics.

On non-dart2js configurations the API is stubbed for ease-of-use.

Change-Id: I80c56a83fd166ec19c3846fb6937cf0440ed2c6b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/208563
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2021-08-03 18:25:00 +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
Johnni Winther 8038ecab65 [cfe] Generate equivalence visitor
+ use it to allow discrepancy in incremental_dart2js_load_from_dill_test

Change-Id: I0adad30af1e502d81e870b26eb63a03b70e42333
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/205796
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2021-08-02 19:50:20 +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
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
Joshua Litt 40a837d213 [dart2js] Run 'dart format --fix' on deferred_load.dart.
Change-Id: Id90ac415fe497c8258ac990737bbc35c43e0dff9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/208281
Auto-Submit: Joshua Litt <joshualitt@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2021-07-28 18:08:05 +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 6372615e06 [dart2js] Cleanup type_test_registry.
Change-Id: Iacdbfc24cc306bf0b2f51c366913b05138b26fcf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/207622
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
2021-07-26 17:20:06 +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
Johnni Winther 66f6a490d7 [cfe] Handle TypedefTearOff(Constant) in constant evaluation
+ fix bug in TypedefTearOff.getStaticType and implement
TypedefTearConstant.hashCode to match operator==

Closes #46674

Change-Id: I95d9e058865b7290208429f671e8f276b1d7993c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/207660
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2021-07-22 18:09:29 +00:00
Stephen Adams 90ee35cdf9 [dart2js] Tweak 'flavor' comment
There is now only the 'fast startup emitter', so that comment is
irrelevant. Replaced that with the null-safety variant, which is a
function of the source code and command line.

Change-Id: I979c56b8e716a44651f35887e41dd1ee253e7c1d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/207721
Reviewed-by: Joshua Litt <joshualitt@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2021-07-21 23:31:38 +00:00
Johnni Winther 4a02a33538 [dart2js] Migrate Dart2jsTarget and dependencies to null safety
Change-Id: I4090d545c93e2e6820a0d03b6b7fa3025e44fbcc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/207132
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2021-07-20 20:10:20 +00:00
Johnni Winther faed4bacb3 [cfe] Add RedirectingFactoryTearOff(Constant)
+ rename RedirectingFactoryConstructor to RedirectingFactory
+ change encoding of RedirectingFactory to use FunctionNode

TEST=existing

Change-Id: I80778acc215a36ab6b87518824389a293b96f0a7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/206780
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2021-07-19 16:46:29 +00:00
Mayank Patke a8f2262c10 [dart2js] Consolidate logic for ensuring valid JS identifiers.
Change-Id: Iada48123c4400179192d699035488ee4402fe51a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/203960
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2021-07-16 22:55:02 +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
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 99704187c1 [dart2js] Cleanup handling for --enable-experiment=non-nullable.
Change-Id: Iae6fe75990eae0c034eda1fc22831f720697538b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/206324
Auto-Submit: Mayank Patke <fishythefish@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2021-07-09 00:26:05 +00:00
Mayank Patke 4bd9d05b65 [dart2js] Check for sound null safety before specially handling
createSentinel in inference.

Change-Id: If93df9f8409c6d60ccad1b2a2e917d941d909cdf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/206320
Auto-Submit: Mayank Patke <fishythefish@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2021-07-08 20:03:33 +00:00
Johnni Winther a0d57b0a4d [cfe] Initial implementation for constructor tear off lowering
TEST=pkg/front_end/testcases/constructor_tearoffs/lowering/*

Change-Id: Ie8a36df4068093dc4d239b48c31f47d03054ba2b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/206080
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2021-07-08 11:05:04 +00:00
Mayank Patke 431cd1734e Revert "[dart2js] Enable by default and remove the"
This reverts commit 681e292b02.

Reason for revert: g3 size regression

Original change's description:
> [dart2js] Enable by default and remove the
> --experiment-late-instance-variables flag.
>
> Change-Id: Ibb3cfa6d7b02883c82909930f7eb1142803dbc0f
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/200902
> Commit-Queue: Mayank Patke <fishythefish@google.com>
> Reviewed-by: Stephen Adams <sra@google.com>

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I45aa51b3f35a53ecbe613294c33272f1f9428702
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/205920
Reviewed-by: Mayank Patke <fishythefish@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2021-07-02 23:55:25 +00:00
Mayank Patke 8cd2fc25d9 [dart2js] Add explanatory comment for createSentinel during inference.
Change-Id: I2ab36d5f2e9d93b6b67ad3758b8f75bd8ff881d5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/205742
Auto-Submit: Mayank Patke <fishythefish@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2021-07-01 21:27:42 +00:00
Mark Zhou 7e3b17f9dc [dart2js] Emitting some static functions with ES6 method definition syntax.
Only emitted when legacy mode is disabled.

Change-Id: Ifa30d1fb9a4ce635e5309b589377b648c21e11ff
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/201284
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Mark Zhou <markzipan@google.com>
2021-07-01 18:36:43 +00:00
Mayank Patke 681e292b02 [dart2js] Enable by default and remove the
--experiment-late-instance-variables flag.

Change-Id: Ibb3cfa6d7b02883c82909930f7eb1142803dbc0f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/200902
Commit-Queue: Mayank Patke <fishythefish@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2021-07-01 18:20:15 +00:00
Mayank Patke 3aaf5cc80c [dart2js] Specially handle createSentinel in type inference.
Change-Id: I72f1065bfb6637f2ef617e99e64f483852e2bc17
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/202361
Commit-Queue: Mayank Patke <fishythefish@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2021-07-01 16:56:07 +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
Joshua Litt 57641e8f9b [dart2js] Force canary when benchmarking experiments.
Change-Id: Ie6345a34acf8626f6a01ef3a8a8f37f9deec10fa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/205624
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
2021-07-01 00:07:28 +00:00
Joshua Litt e249e58f63 [dart2js] Add flag to stop after program split.
Change-Id: I5b28f6de050c54f8d1e6e157ef60403e83ab4ad1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/205561
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
2021-06-30 22:52:28 +00:00
Dmitry Stefantsov d3e1cdfb16 [cfe] Add more Kernel nodes to support constructor tear-off feature
TEST=Covered by existing tests.

Change-Id: Idb6451ec66bd89a5abc7c4f799a1e66fd26697cf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/204980
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2021-06-30 11:27:42 +00:00
Joshua Litt 7a1e05c225 [dart2js] Fix assert in program_builder.
Change-Id: I865e2ce58a7d65860967a6af39aaf896c0f8d848
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/205362
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
2021-06-30 00:43:51 +00:00
Mark Zhou de5bd75238 [dart2js] Emitting instance methods using ES6 method definition syntax.
Only emitted when legacy mode is disabled.

Change-Id: I484e69a681a29dbc2a8973c81035053344d353ac
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/204944
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Mark Zhou <markzipan@google.com>
2021-06-29 23:06:09 +00:00
Joshua Litt fc7aa585ea [dart2js] Minor cleanup of classes needed for rti computation.
Change-Id: I641ed8f7c91f8b0d52b4542559a13b60d82e42e8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/205244
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
2021-06-29 19:06:29 +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
Joshua Litt 5377034390 Revert "[dart2js] Use library as key for some holder properties."
This reverts commit 889659e876.

Reason for revert: This CL is too limiting.

Original change's description:
> [dart2js] Use library as key for some holder properties.
>
> Change-Id: I24d21dd6239191ab0242387d97d6b47cdf9582b5
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/203826
> Reviewed-by: Stephen Adams <sra@google.com>
> Commit-Queue: Joshua Litt <joshualitt@google.com>

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: Id4d3d401a5b96a1c8e42afd87513520e52b725d9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/204746
Reviewed-by: Joshua Litt <joshualitt@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
2021-06-23 22:44:27 +00:00
Mayank Patke 3405b94338 [dart2js] Remove Symbol.validated.
Bug: https://github.com/dart-lang/sdk/issues/46397
Fixes: https://github.com/dart-lang/sdk/issues/46397
Change-Id: I307f486deb7afe72c347bfeb6779cb9389d1ff13
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/204601
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2021-06-23 20:58:18 +00:00
Stephen Adams 11991056b6 Specialize closures for 0 and 2 arguments
Change-Id: Ia21249cb9671960eb3e0d96afef5e5efb8ba7ee2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105200
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Joshua Litt <joshualitt@google.com>
2021-06-23 16:54:41 +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 889659e876 [dart2js] Use library as key for some holder properties.
Change-Id: I24d21dd6239191ab0242387d97d6b47cdf9582b5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/203826
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
2021-06-21 16:40:29 +00:00
Joshua Litt 73f4e9e3ba [dart2js] Remove globalObjectForLibrary from deferred holder expression.
Change-Id: Iac54b4994730decb63c0e569aa3d6b5e1de35e65
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/203580
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
2021-06-17 19:11:51 +00:00
Stephen Adams 1c3ea7878e [dart2js] Do not do null assertions on operator==
`operator==` is special.

In the specification, `operator==` methods cannot be called with `null`,
so do not _need_ a null-check for `--null-assertions`.

However, in the dart2js implementation, `operator==` methods are
augmented to handle a `null` argument rather than check the argument
for `null` at every call site. So it is necessary to be _ensure_ there
is no code added for the `--null-assertions` check.



Change-Id: I859b99d680f6d0fad698e1b59eafa1ba0b1749b2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/203842
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2021-06-17 16:47:41 +00:00
Stephen Adams 8a60ce9e6d [dart2js] Pass tear-off parameters in an object
- Pass tear-off parameters in an object rather than a large number
  of variables.

- Reduce number of fields for BoundClosure. This speeds up tear-off
  creation 7-20%

-

Change-Id: Idf5313d5709a098cd5c877871417304f4e4c5b56
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/203445
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2021-06-15 22:19:13 +00:00
Joshua Litt f4b95f0657 [dart2js] Move generateGettersSetters to program_builder.
Change-Id: Icddbc9827f2509dbff20438cfab7b8a40bbdd35f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/203582
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
2021-06-15 22:03:33 +00:00
Mark Zhou 6fef1894cd [dart2js] Realigning source entry boundaries for methods.
Also fixes some minor typos from the initial implementation change.

Change-Id: I6c17ff94009298f6ab4e1d9fbdb88db633ae8aca
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/203285
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Mark Zhou <markzipan@google.com>
2021-06-14 18:34:33 +00:00
Joshua Litt 24291e0115 Reland "[dart2js] Only emit holders into a part file if they are used."
This is a reland of 7af28d8274

I have added a regression test for the empty holders case.

Original change's description:
> [dart2js] Only emit holders into a part file if they are used.
>
> Change-Id: Ie1eb4dcf71e30002e3030603f201e2b6a97d4182
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/200483
> Commit-Queue: Joshua Litt <joshualitt@google.com>
> Reviewed-by: Stephen Adams <sra@google.com>

Change-Id: I04a50fca5023f0916d63c84885a6dcfa5f3ad9cd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/202264
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2021-06-14 16:22:53 +00:00
Stephen Adams 8ee467361b [dart2js] Fix for #46175
Pass compile-time shadowing information through tearoff code, rather
than trying to feature-test for potential overrides of the method
accessed via a super-getter.

Bug: 46175

Change-Id: Idca8e440cf12bb6cbae020f305763575e6a37b08
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/202803
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2021-06-10 03:30:09 +00:00