Commit Graph

4698 Commits

Author SHA1 Message Date
Mayank Patke 573f470615 [dart2js] Represent nullability as a field.
Change-Id: I12f4c7acfa294b0e92d3f94f7099ffa2aa9cc0a1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134792
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-02-14 01:59:12 +00:00
Nicholas Shahan 35cd61819a Remove dart:mirrors library from dart2js and ddc SDKs
A followup change will delete the patches that are no longer needed once
these changes have been "mirrored" :P to the libraries files in the
flutter repos.

Change-Id: I7d255838b97922198248b29311facd4956001e25
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134405
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-02-07 17:34:54 +00:00
Mayank Patke 8d76edf4a8 [dart2js] Remove type unaliasing.
Now that typedefs are gone, unaliasing is a no-op.

Change-Id: I2fbe4555d06e11c12b1c1149af23a23e09df42b9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134503
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2020-02-05 22:27:49 +00:00
Johnni Winther 88635446ec [cfe] Implement weak mode constants semantics
Closes #40124

Change-Id: Ia54490d9f5162a27e52c4e9c4d74c5cfaa28472b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134284
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-02-05 07:07:07 +00:00
Mayank Patke 450924a8cd [dart2js] Remove typedefs from backend.
Change-Id: Ia170535b5d35d97003cff93acbf33cb3fe75725f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134206
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2020-02-05 01:09:47 +00:00
Johnni Winther 7c837ce30a [dart2js] Remove all unneeded casts
Some of the implicit casts were need for covariance checks. Now these
can be identified and actively preserved.

Change-Id: Ibfff4f68cc4af7956372adb2f4d846b079f0b508
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134162
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-02-04 07:01:09 +00:00
Mayank Patke a5cfdf6586 [dart2js] Use flags to choose between legacy/NNBD in RTI.
Change-Id: I42705320aabcdfecc12098f40ca16a2c623a1033
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134091
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2020-01-31 20:04:52 +00:00
Mayank Patke 023f286772 [dart2js] Update generic function subtyping.
We now test bounds for mutual subtyping rather than structural equality
up to renaming of bound type variables and equating all top types.

Change-Id: I7dd23a3211a1631e463ea90c3173f3deae46ca23
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134042
Commit-Queue: Mayank Patke <fishythefish@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-01-31 18:33:02 +00:00
Jens Johansen 3d5530ff22 [CFE] Transformations can now tell of they changed the structure of a class
By allowing a transformation to tell if it change dthe structure of a
class we can make sure to update the class hierarchy accordingly,
making sure it's up to date for the next computeDelta call in the
incremental compiler.

Change-Id: Iefed3bb1ecbd17b142266ce4a9e1e477f9d2fc87
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133222
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-01-31 13:45:12 +00:00
Stephen Adams 5b2da85e25 [dart2js] Make 'return null;' more reliable
The reduction 'return null;' --> 'return;' now happens only at return
statements that do not have an expression.

There is a slight increase in code size, 0.11% for flutter gallery
minified, 0.105% for acx gallery minified, 0.04% CM.

Change-Id: I0723a398267aede5e8dd04d7d45beae2f306c1be
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133863
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-01-31 03:06:36 +00:00
Mayank Patke a52d6ea9b9 [dart2js] Fork backend subtyping into legacy and null-safe variants.
Change-Id: I64a20b5c64d700b873ac6210e5845c8d59192991
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133331
Commit-Queue: Mayank Patke <fishythefish@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-01-30 17:02:38 +00:00
Stephen Adams deae9152e0 [dart2js] Use HInvokeExternal for native calls
A new instruction, HInvokeExternal, codes a variety of calls to JavaScript.
'native' and js-interop calls use this instruction instead of
HForeignCode. This leads to fewer places generating similar JavaScript
patterns, and slightly better scheduling around call sites.
More js-interop calls are now lowered to direct JavaScript calls rather
than interceptor calls.

Change-Id: I8d30827bb099d27f4cc2ad469449769418ccb6da
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133021
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-01-29 21:19:00 +00:00
Sigmund Cherem bf6c439e9a [dart2js] SSA: Avoid emitting generate-at-use twice
This seems to happen in a check-chain when the input is unnamed.  I'd
rather name something than do this, since it interferes with counting
occurrences for sharing constants.

Fixed: 40349
Change-Id: I6a077707b172cee7505130119e41f856244f9424
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133624
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2020-01-29 00:26:37 +00:00
Nate Bosch 833c70be61 Add the first Kernel check for invalid JS interop
Add a visitor that checks for invalid JS interop usage and reports
diagnostics. Wire the visitor up to the `DevCompilerTarget` and `Dart2jsTarget`.

- Add a message without an analyzer code for this error. In the long term we may
  want to also add it to analyzer.
- Add a new package `_js_interop_checks` to share the kernel visitor between
  dart2js and ddc. Some of the code is copied from ddc, and in the long term we
  can centralize more of the detection of JS interop annotations to this
  package.
- Implement the first check to detect definitions of `operator []` or
  `operator []=` which are not allowed in JS interop classes.

Change-Id: I095a4b7f4732796dbc3cae55b32d5fc9bcdbd798
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130733
Commit-Queue: Nate Bosch <nbosch@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-01-28 22:39:10 +00:00
Stephen Adams 6b34a69496 [dart2js] Cleanup of a few dynamic calls
Change-Id: I8d616c98fedc12c9c4ee937bf5e6df55e8d9fe2d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133338
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2020-01-25 02:14:34 +00:00
Stephen Adams 5f780997a2 [dart2js] Redirecting a selector should clear cached element
Change-Id: Ib3b37378df32dfc17449ea127b560e9a0be430fe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133332
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-01-25 02:14:06 +00:00
Mayank Patke 4f516c61c8 [dart2js] Redirect all subclasses of JavaScriptObject.
Change-Id: I23b42b7f4b7632b3ecfc29bfe66bbf25a2b3cf75
Bug: https://github.com/dart-lang/sdk/issues/40296
Fixes: https://github.com/dart-lang/sdk/issues/40296
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133300
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2020-01-24 20:59:04 +00:00
Stephen Adams 782c83fe5a [dart2js] Fix incorrect SideEffects for native members
Change-Id: Idc99607693cc52550f0012828e93153a002ef718
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133280
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2020-01-24 20:11:23 +00:00
Sigmund Cherem f910a7575f dart2js nnbd setup
- fixes check_nnbd_sdk.dart to run on dart2js patch files
- splits golden file used by that script by target
- adds it to the old-rti bot (until we get the new nnbd bot)
- adds a suite that runs legacy tests in nnbd weak mode

Change-Id: I0a89534dcd1cf7338849d59ab3e5d989d2ecf3d0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131885
Reviewed-by: Vijay Menon <vsm@google.com>
2020-01-21 06:22:51 +00:00
Sigmund Cherem b74620ba85 Update the nnbd-mode flag name according to the proposed specification.
See: https://github.com/dart-lang/language/pull/779/files

Currently this only handles one or the other configuration via the flag.
We might have to add extra logic to change the default when no flag is provided
depending on how that proposal lands (likely the requirement will be to default
to weak if the main entry point is opted-out, but default to strong otherwise).

Change-Id: Iebf573f251de6a3a9cf93781b76061f41c181f3c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131761
Reviewed-by: Mayank Patke <fishythefish@google.com>
2020-01-21 06:22:51 +00:00
Jens Johansen 128771af8a [CFE] Version 2 of incremental compiler invalidation strategy
Change-Id: Iff860e2665dee64fc005a50237ae890986ddb0f1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127896
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-01-16 07:50:39 +00:00
Johnni Winther 99e2a348b3 [dart2js,cfe] Move filenames.dart to _fe_analyzer_shared
... and use it fix perf_test on Windows

`currentDirectory` is replaced by `Uri.base` (the former sounded more magical than it was!)

Change-Id: I5fb8dc5dba004ebad221d4b39d213d51964c5ea2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131622
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-01-15 10:12:23 +00:00
Stephen Adams ee3c221a76 [dart2js] Remove unused method
TBR: sigmund@google.com

Change-Id: I8e6d373b3f02f28f5ae92ab6e2d5a4e46c88a8f7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131709
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2020-01-14 21:26:04 +00:00
Johnni Winther d08f070b28 [cfe] Add canonical way to detect the synthesized redirecting factory field
Change-Id: Ied5ffe786558856c4e63881880cbd19fa0bd6c68
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131620
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-01-14 09:42:45 +00:00
Mayank Patke aaaaa479f3 [dartjs] Remove unsound contains method from AbstractValueDomain.
Change-Id: Ib84dad1acea6fa5783e9f40788a0cf3b8315368b
Bug: https://github.com/dart-lang/sdk/issues/39287
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130565
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2020-01-14 00:01:53 +00:00
Sigmund Cherem 8a1a4e75ec Add flag to specify which null-safety semantics to use for codegen
Change-Id: I0abca982a76139a18d186f3a979a34f508d18065
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131442
Reviewed-by: Mayank Patke <fishythefish@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2020-01-13 20:39:37 +00:00
Sigmund Cherem a92a9f1ba2 (dart2js) initialize the receiver type to its static type during inference
This also reverts the use of indirection for `==` during global inference, as it
turns out the bulk of edges from that selector were added because of the missing
static type data.

Change-Id: I970fea214983c7b2350466fc932ef45d6f7ad96e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130501
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2020-01-11 00:28:31 +00:00
Sigmund Cherem 529913fd39 (dart2js) remove unnecessary uses of receiverMask
Removes uses in static, constructor, super calls, and closures. Also moves the
mask field to the dynamic call site nodes (direct and indirect) to avoid
confusion.

Change-Id: I97d3217c18d15bad7db1723b2a8b20e4dc616f68
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130560
Reviewed-by: Stephen Adams <sra@google.com>
2020-01-11 00:28:31 +00:00
Sigmund Cherem 4bc9c8b52c (dart2js) rename typeOfSend, delete unused typeOfGetter
Change-Id: Ief7421845f89c2f6569230b8497981d96f46ce61
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130520
Reviewed-by: Stephen Adams <sra@google.com>
2020-01-11 00:28:31 +00:00
Stephen Adams e643b423ca [dart2js] Fix over-eager NullCheck removal
Change-Id: I6a6a7ca3bb4621eac35305b96dec6039bc630d9e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130966
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2020-01-10 05:08:07 +00:00
Sigmund Cherem b233061a90 Ensure native methods default to have all side-effects
note: NativeBehavior also has a SideEffect property, which is only used for
foreign helpers. If we add annotations in the future, we could move the effects
there and consume them at this point in inference.
Change-Id: I3e62faa3d80c0ba96a2626972c332c27eb52c142
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130964
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2020-01-10 04:48:47 +00:00
Mayank Patke 7ad7e9aa55 [dart2js] Implement new subtype algorithm structure for DartTypes.
Change-Id: Ib5144c7960dda82a82a16da7cef0b302e34a4b18
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130464
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2020-01-10 01:20:06 +00:00
Stephen Adams 3947b15b29 [dart2js] nnbd: Implement NullCheck
Use NullCheck for inlining and remove 'isNullCheck' from HFieldGet.

Change-Id: Ic9908739a26367243002c1c71f9193660a8c08e8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130222
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-01-09 23:49:37 +00:00
Stephen Adams 395daaa3ec Revert "Remove HInstruction.isControlFlow()"
This reverts commit f6ec68444f.

Reason for revert: the 'isControlFlow()' property did actally have a use orthogonal to 'isJsStatement'.

Original change's description:
> Remove HInstruction.isControlFlow()
> 
> The use of this property was confused.
> It was not clear if it referred to HControlFlow instructions (the last instruction in a block),
> or whether it will be generated as JavaScript containing control-flow.
> 
> We keep isJsStatement() for HInstructions that must be generated in statement position.
> If the instruction has an output, it must be one of the inputs and variable allocation
> makes the input/output available as a JavaScript variable.
> 
> 
> Change-Id: I8018335f42787727b14ae26297fd96fbf52adb7d
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130640
> Reviewed-by: Sigmund Cherem <sigmund@google.com>
> Commit-Queue: Stephen Adams <sra@google.com>

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

Change-Id: I175a1112319fcc839076218f97b75425ee72d51b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130888
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2020-01-09 18:33:56 +00:00
Stephen Adams f6ec68444f Remove HInstruction.isControlFlow()
The use of this property was confused.
It was not clear if it referred to HControlFlow instructions (the last instruction in a block),
or whether it will be generated as JavaScript containing control-flow.

We keep isJsStatement() for HInstructions that must be generated in statement position.
If the instruction has an output, it must be one of the inputs and variable allocation
makes the input/output available as a JavaScript variable.


Change-Id: I8018335f42787727b14ae26297fd96fbf52adb7d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130640
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2020-01-09 03:25:57 +00:00
Mayank Patke 43495c489c [dart2js] Handle nullability correctly in
UnionTypeMask.locateSingleMember().

Change-Id: Ibdffdb958d37cc52792fb47ecaa0dd03edef6db6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130728
Commit-Queue: Mayank Patke <fishythefish@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-01-09 02:12:17 +00:00
Dmitry Stefantsov 1eacac48cf [cfe] Make .{thisF,f}unctionType nullability-aware
Change-Id: I4a83f4db7d6412165882e4a1f08c7fded6b9ea3d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130373
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
2020-01-08 11:52:06 +00:00
Johnni Winther 35f14f3eff [dart2js] Remove ConstantExpression/Constructor/Evaluation
Change-Id: Iea3f12e5f14eeff1aa2a57e86a41c65d468dcc86
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129706
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-01-08 08:21:59 +00:00
Johnni Winther 64dae246db [dart2js] Use CFE constant evaluator for non-required constants
Change-Id: Id363332caf29e98307553ec048c2dea36c739d95
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129701
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2020-01-08 08:21:59 +00:00
Johnni Winther 4cdf5c77b5 [dart2js] Remove code dependent on non-cfe-constants
Change-Id: Id53d0610f5640d597050cff987f3febe4218fcd3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129700
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-01-08 08:21:59 +00:00
Mayank Patke 0c51615dd9 [dart2js] Add TYPE_REF<T>().
Change-Id: I0cb576502575cd67031f3189a11d80e51dd70f0b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125462
Commit-Queue: Mayank Patke <fishythefish@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-01-07 19:51:30 +00:00
Mayank Patke 497005dd05 [dart2js] Represent nullability as its own bit on UnionTypeMasks.
Change-Id: I2edab02eb6d611215e490defb6f4919ce19f0f3f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130462
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-01-07 19:51:30 +00:00
Sigmund Cherem d735f1f12d (dart2js): enable new-rti by default
This change:
* adds the `--use-old-rti` flag to revert to the old behavior
* enables the new behavior by default
* changes the -rti- builders to run the old rti instead of the new rti
* documents the change in CHANGELOG.md

I've kept around the logic as `useNewRti` to avoid swapping all the conditions
in the compiler.

Change-Id: I773ac33b658cb60f72e0b6beef83375abec31bad
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127492
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
2020-01-04 00:44:25 +00:00
Mayank Patke 4bc01d0dd4 [dart2js] Treat type variable bounds checks as implicit is-tests.
Change-Id: I19e26c1d16f9515b9307073318532c6467af5cf1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130126
Commit-Queue: Mayank Patke <fishythefish@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-01-03 21:47:29 +00:00
Johnni Winther e3a20bf361 [analyzer,cfe,dart2js] Support annotated code generation
Add support for generating annotations from actual data using
option -g

Change-Id: I88d9cdb62a38d579234b15097c9e9bb3d81ebe8c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129708
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-01-03 13:57:39 +00:00
Sigmund Cherem 4eae39672a (dart2js) release some data-structures after resolution.
The resolution-world-builder and impact transformer were holding onto a
class-hierarchy-builder in dart2js, which uses a lot of space.

On a some artificial sample apps with thousands of classes this
reduces the overall memory capacity by 25%. On a large internal app
this reduced the overall memory capacity from 13G to 11G.

Change-Id: I5d0d40764649364f2cd2411ef1346812beb411c4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129544
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-01-03 00:24:08 +00:00
Mayank Patke b5bf014eb1 [dart2js] Add redirections for unneeded native classes in ruleset.
Change-Id: Ic29686447c87b7707480a161e76ab500c1455617
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130011
Commit-Queue: Mayank Patke <fishythefish@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-01-03 00:11:27 +00:00
Mayank Patke a62e63f0cc [dart2js] Add new RTI impact for is-tests and type checks.
Change-Id: Ib93def2db9b4f0d4ee5aab843c0a894129e773e7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130082
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2020-01-02 23:58:17 +00:00
Stephen Adams 75fc15c7e1 [dart2js] Use cache in CommonMasks.isInterceptor
Change-Id: I8e9bf8b1c93d7bb03c3a7c4b39d603e056338270
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129310
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-12-24 01:29:30 +00:00
Stephen Adams 424ae5c7ef [dart2js] interceptor_simplifier cleanup
Delete some outdated comments and use a set literal.

Change-Id: I60885c1fea5d4d94ce5a405e195ffeaf97e521a4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128313
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2019-12-17 00:56:19 +00:00