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
Johnni Winther
1eda15854d
[cfe] Allow experiments only in current sdk version
...
Experiments that have not be enabled by default should only be allowed
in the current version of the sdk.
Closes #45460
Change-Id: I159f390ac85fe37943920717ce11a4c817d5b4a9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193480
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2021-03-31 15:20:08 +00:00
Joshua Litt
70db4908e4
Revert "[dart2js] Avoid reserializing the closed world alongside type inference."
...
This reverts commit 7b022a7f2f .
Reason for revert: Missed one of the references to write-data
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 >
TBR=johnniwinther@google.com ,sigmund@google.com ,joshualitt@google.com
Change-Id: Icc8082462f02bc7336953c915ef2203697085358
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193584
Reviewed-by: Joshua Litt <joshualitt@google.com >
Commit-Queue: Joshua Litt <joshualitt@google.com >
2021-03-30 22:29:03 +00:00
Joshua Litt
4bd278742b
[dart2js] Remove omitted output units from deferred_loading_test.
...
Change-Id: I69f728129b865cae3ec46426af2890127378e44b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193090
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Commit-Queue: Joshua Litt <joshualitt@google.com >
2021-03-30 18:17:23 +00:00
Joshua Litt
7b022a7f2f
[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 >
2021-03-30 16:59:41 +00:00
Joshua Litt
2febc7d526
[dart2js] Create abstractions to support bundling.
...
Change-Id: I2d8a7ecae963aa5b51e1405652633b72545f7cd9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/191468
Commit-Queue: Joshua Litt <joshualitt@google.com >
Reviewed-by: Stephen Adams <sra@google.com >
2021-03-25 20:59:14 +00:00
Mayank Patke
400939dfe7
[dart2js] Support additional types of instantiations in RTI need.
...
Bug: https://github.com/dart-lang/sdk/issues/41681
Change-Id: Ibf2f822740168e5545b110319738849a667752ea
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/191860
Commit-Queue: Mayank Patke <fishythefish@google.com >
Reviewed-by: Stephen Adams <sra@google.com >
2021-03-25 00:43:33 +00:00
Ben Konyi
c4bfca9b6a
[ dart:io / package:vm_service ] Add HTTP request profiling service
...
extensions
This change adds HTTP request profiling support to the dart:io service
extensions and removes HTTP request/response body logging to the
timeline due to memory constraints.
Fixes https://github.com/dart-lang/sdk/issues/44950
TEST=pkg/vm_service/test/get_http_profile_test.dart
Change-Id: I85642296c3d6595197f3365022477c7685c452bf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189881
Commit-Queue: Ben Konyi <bkonyi@google.com >
Reviewed-by: Kenzie Schmoll <kenzieschmoll@google.com >
2021-03-24 23:01:03 +00:00
Joshua Litt
fd4eefc22d
[dart2js] Move determination of fragments to emitter phase.
...
Change-Id: I0aaf02a8900445fc76b87de17e21b6488ca2fe46
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/191240
Reviewed-by: Stephen Adams <sra@google.com >
Commit-Queue: Joshua Litt <joshualitt@google.com >
2021-03-23 21:55:53 +00:00
Jens Johansen
22551d35c2
[CFE/dart2js] Don't set exit code to 1 in unit tests running analyzer
...
The testing system - sometimes (see http://dartbug.com/45408 ) - exits
and turns the bot purple when the exit-code from a test is (e.g.) 1.
This CL removes some instances of having an exit code of 1.
Change-Id: Ic831d151346a28dabe9180e80a8e462af227bf41
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192381
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2021-03-23 08:36:56 +00:00
Joshua Litt
6f6afa4dba
[dart2js] Add component detection to deferred fragment merge.
...
This is to avoid merging unrelated code into language files.
Change-Id: Ief514d0761fbb471a0460c78db35c0a07bf78f6d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/191800
Commit-Queue: Joshua Litt <joshualitt@google.com >
Reviewed-by: Stephen Adams <sra@google.com >
2021-03-22 18:57:24 +00:00
Joshua Litt
c5c80648b9
[dart2js] Land accurate compute merging dependency algorithm.
...
Change-Id: If47a670631c4c4d63b0fd834a01dc30275b416d8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/191241
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Commit-Queue: Joshua Litt <joshualitt@google.com >
2021-03-17 17:27:44 +00:00
Johnni Winther
12f510fbd1
[dart2js] Use new method invocation encoding
...
Change-Id: Iab73f25a19fe8718cb68327fef5878d25b735030
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188523
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Mayank Patke <fishythefish@google.com >
2021-03-17 17:26:25 +00:00
Sam Rawlins
18bc70b898
Remove unnecessary imports from compiler/test
...
Bug: https://github.com/dart-lang/sdk/issues/44569
Change-Id: Iacb5553755af38e931431cb5aa4e3495cd34539f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190602
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Commit-Queue: Samuel Rawlins <srawlins@google.com >
2021-03-16 19:44:10 +00:00
Dmitry Stefantsov
8ddc7465a8
[cfe] Move ExtensionType into pkg/kernel/lib/ast.dart
...
Change-Id: I2e8231dad00accafb09d1ec88416242d3d5815a4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190483
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2021-03-12 19:02:27 +00:00
Mayank Patke
3c5767ccd3
[dart2js] Ensure RTI need/checks account for instantiations.
...
If a type variable T is used in an `is` or `as` expression (e.g.
`42 is T` or `42 as T`) or is part of a subtype check, then any types
which may be substituted for T via instantiation must also be treated as
participating in a type check.
This CL ensures that the RTI need computation includes type arguments
for those substituted types and that those types are included in the
list of implicit checks.
Additionally, in order for this to work, this CL fixes a bug in which
the impact transformer was failing to register generic instantiations
occurring in (partial) constants.
Fixes: https://github.com/dart-lang/sdk/issues/45046
Change-Id: I98ae0eca0adcbbb26cdd664318da0da578b289b5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190460
Reviewed-by: Stephen Adams <sra@google.com >
Commit-Queue: Mayank Patke <fishythefish@google.com >
2021-03-12 04:47:59 +00:00
Johnni Winther
ab694d352d
[dart2js] Handle promotion in inference of locals known to be null
...
In the inferrer code like `local == null` would use the type information
for the operands to determine whether the call was `o == null` or
`null == o`. This had the side effect that if the left operand was a
local variable known to have value `null` the case would be treated as
`null == o` and the local would not be promoted to non-null on the false
branch.
Change-Id: I5fa08f8c891578f4c8e337e6cf5882fc2383063f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189210
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Mayank Patke <fishythefish@google.com >
2021-03-11 10:39:41 +00:00
Sam Rawlins
f887834783
compiler: Remove unused system import
...
Change-Id: I98fc091a7f2a701f3f325543aeecd451120a6ae7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189660
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Commit-Queue: Samuel Rawlins <srawlins@google.com >
2021-03-09 22:08:32 +00:00
Stephen Adams
39aa454e7b
[dart2js] Implement int.>>> optimizations
...
Change-Id: I7d54bc523bb81c5ae8d6fed4ec2e6df473206788
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/187340
Commit-Queue: Stephen Adams <sra@google.com >
Reviewed-by: Joshua Litt <joshualitt@google.com >
2021-03-09 02:20:06 +00:00
Joshua Litt
20475fe5da
[dart2js] Add script to start generating better tests for deferred_loading.
...
Change-Id: Iffe5b7010ad0ada09a9c99246bef6386f255586c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188841
Commit-Queue: Joshua Litt <joshualitt@google.com >
Reviewed-by: Stephen Adams <sra@google.com >
2021-03-08 22:54:03 +00:00
Johnni Winther
cdfbac278b
[dart2js] Support AssertInitializer in dart2js
...
Closes #37881
Change-Id: I2606a3cf9bcbc047c58d075585aec01e10e0ea90
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189200
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Stephen Adams <sra@google.com >
2021-03-05 09:14:37 +00:00
Johnni Winther
f1fb79f73c
[dart2js] Handle new method invocation encoding in inferrer
...
Change-Id: I74b191dcad4c83359688657e9434ff27ea550766
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188280
Reviewed-by: Mayank Patke <fishythefish@google.com >
2021-03-04 17:06:29 +00:00
Joshua Litt
dcd5735345
[dart2js] Create cycle-free trivial merge algorithm.
...
Change-Id: I20c8a5741121ceecee0520adffdc2f51d6f1c291
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188360
Commit-Queue: Joshua Litt <joshualitt@google.com >
Reviewed-by: Stephen Adams <sra@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2021-03-02 00:10:50 +00:00
Dmitry Stefantsov
c191551fac
[cfe] Remove BottomType
...
TEST=Covered by existing tests.
Change-Id: Ied8be1874164e68e0a3a48e1b2f9a33310071381
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/183009
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2021-02-24 13:21:55 +00:00
Johnni Winther
9a74bcef97
[dart2js] Support new method invocation encoding in static type visitor
...
This is the first part of using the new encodings of MethodInvocation,
PropertyGet and PropertySet in dart2js. In this CL the new visitors
are implemented in static_type.dart. This change is done by refactoring
the existing implementation into helpers and new registration methods
that can be used by both the old and the new encoding but lends itself
to take advance of the new encoding. The new encoding is not enabled
until all of dart2js has been migrated to the new encoding. The
refactoring is intentionally not changing the outcome of the
static_type.dart to make it easier to detect accidental regressions
introduced by the migration.
Change-Id: I93d2033969c33d4c7a5957ad7a6c0b1cdf47fe6f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/184220
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Mayank Patke <fishythefish@google.com >
2021-02-22 10:12:08 +00:00
Johnni Winther
bfee879e19
[dart2js] Add tests for bug in dart2js type promotion
...
Dart2js type promotion wrongfully uses the type promotion result of
the last argument of an invocation as the result of the invocation
itself.
Change-Id: I188514fdac4edbea24dffbd858c0f8be6cd6ccf0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/185781
Reviewed-by: Mayank Patke <fishythefish@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2021-02-22 08:56:18 +00:00
Joshua Litt
4dabdbd028
[dart2js] Create flag to dump the graph shape.
...
Change-Id: I4b9658985e9dcd1d30172aca1363db515463f601
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/185260
Commit-Queue: Joshua Litt <joshualitt@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2021-02-18 23:58:20 +00:00
Lasse R.H. Nielsen
d352bc28b8
Remove (most) uses of the "non-nullable" experiment flag.
...
Since the flag is now enabled by default, there should be no mention of it.
There are still some uses in front_end/testcases that are not just removable
(it also uses `no-non-nullable`). There migth be more uses that are not
as easily found as grepping for `--enable-experiment
Removes two VM tests where fixing them meant they were just duplicating
the corresponding non *_2/ tests.
Fixes #44941
TEST= Large number of tests chaged.=(no-)?non-nullable`.
Change-Id: Ief755981ccde9a5482fcdf408c2929c74433a710
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/183688
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com >
Reviewed-by: Nate Bosch <nbosch@google.com >
2021-02-12 17:16:54 +00:00
Stephen Adams
cb06d6c86a
[dart2js] Rename JSDouble to JSNumNotInt
...
JSDouble was really "double *excluding integral values*".
This was confusing, with JSDouble sometimes used assuming it was all doubles.
Rename JSDouble to JSNumNotInt to avoid future errors like #44818
Change-Id: I96bf33d5531b94aaf33b582e584702f47ed50395
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/183201
Commit-Queue: Stephen Adams <sra@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2021-02-09 17:51:07 +00:00
Stephen Adams
08f90cad84
[dart2js] Use 'num(ber)' wherever possible instead of 'double'
...
JSDouble represents doubles that are not integers. It is usually wrong
to use JSDouble, so use JSNumber instead where we mean 'all double
values'.
This fixes #44818 by not mistakenly pretending that division cannot
have an integral result.
Will follow up with a CL to rename JSDouble.
Fixed: 44818
Change-Id: Ic324df2ee1f2c7434bc0b064c0dbd7b6800ad93b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/183360
Commit-Queue: Stephen Adams <sra@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2021-02-08 22:06:54 +00:00
Johnni Winther
531a3a4ffd
Reland [dart2js] Remove GlobalsLocalsMap from JClosedWorld
...
The removes the GlobalsLocalsMap from JClosedWorld and instead includes
it as a part of GlobalInferenceResults.
Previously landed in https://dart-review.googlesource.com/c/sdk/+/181620
but reverted.
Change-Id: I384b21bf285009c82ca9ec8740443cda0a6fa493
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/183001
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2021-02-06 08:11:16 +00:00
Johnni Winther
6849d737a6
Reland: [dart2js] Refactor closure data to use AST nodes instead of locals
...
This CL avoids creating locals using KernelToLocalsMap when computing
closure data for the J-model. Instead the closure data uses
ir.VariableDeclaration, JTypeVariable, and internal locals (ThisLocal
and BoxLocal) internally, and the accessor function require passes
a KernelToLocalsMap to convert the internal model to a Locals upon use.
The converted Locals are cached internal for performance only.
This prepares for splitting the GlobalLocalsMap and KernelToLocalsMap
from the JClosedWorld.
Previously landed in https://dart-review.googlesource.com/c/sdk/+/180820
but reverted.
Change-Id: Ic6a2ab63de7cb31c89dd50ca2af3f205a792fd74
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/183000
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2021-02-06 08:11:16 +00:00
Johnni Winther
b66bab009c
[dart2js] Ensure that the class member environment for [node] is computed for live members
...
This CL ensures that the member environment for the enclosing class
of a live member is computed.
Static members and mixed in members a member can be become live
through static access and mixin application, respectively, which does
not require lookup into the class members.
Since the J-model class environment is computed from the K-model
environment, not ensuring the computation of the class members, can
result in a live member being present in the J-model but unavailable
when queried as a member of its enclosing class.
Closes #44754
Change-Id: I5a735f4605737947cca082450803c35887b0b7a0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/181801
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2021-02-05 09:27:52 +00:00