Commit graph

81391 commits

Author SHA1 Message Date
Daco Harkes d8093982aa [vm] Cleanup dead code RTE ClassID_getID
This has been dead code since the bytecode interpreter has been removed.

TEST=This removes dead code. Building the SDK tests this code is not
     imported. Running the CQ tests it was not executed.

Change-Id: I75ce3fc2dfccb57d3287db7e716901a8b5a0c20e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211264
Auto-Submit: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Tess Strickland <sstrickl@google.com>
Commit-Queue: Tess Strickland <sstrickl@google.com>
2021-08-27 07:09:26 +00:00
Ahmed Ashour 47b7fd4b75 Better loop for ADD_TYPE_ANNOTATION
Fixes #47015

Change-Id: I3b3c6e88e601c5da9bc60936f08007bdea52375d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211444
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-08-27 00:42:16 +00:00
Stephen Adams 5c582f82f0 [dart2js, js_runtime, js_dev_runtime] NaN-safe range checks.
`int` variables can attain NaN values because web int arithmetic
implemented by JavaScript numbers (doubles) is not closed under many
operations. It is possible get NaN using only addition:

    int a = 1, b = -1;
    while (a + a != a) { a += a; b += b; }
    int nan = a + b;

On the VM, a, b and nan are all zero.
On the web, a, b and nan are Infinity, -Infinity and NaN, respectively.

Since NaN can leak into int arithmetic, is it helpful if bounds checks
catch NaN indexes. NaN compares false in any comparison, so a test
of the form

   if (index < 0 || index >= a.length) throw ioore(a, index);

fails to detect a NaN value of `index`.
This is fixed by negating the comparisons, and applying De Morgan's law:

   if (!(index >= 0 && index < a.length)) throw ioore(a, index);

These changes have been applied to JSArray.[], JSArray.[]= and String.[]

For dart2js the change is a little more involved. Primitive indexing is
lowered to code with a HBoundsCheck check instruction. The code generated
for the instruction now uses, e.g. `!(i>=0)` instead of `i<0`.
This leads to a small code size regression.

There is no regression at -O4 since bounds checks are omitted at -O4.

At -O3 (where the regression is largest) the regression is
   0.01% for cm
   0.06% for flutter gallery -- array-heavy diff and layout
   0.21% for Meteor          -- array-heavy code
   0.30% for Box2DOctane     -- array-heavy code

I believe the regression can be largely alleviated by determining if
NaN is impossible at the index check, and if so, reverting to the smaller
code pattern. The analysis could be global, incorporating NaN into the
global abstract value domain, or a much simpler a local dataflow
analysis. Many indexes are loop driven and cannot reach infinity because
they are incremented by a small bump and eventually (even without a loop
guard) the index would stop growing when the increment falls below the
rounding error in O(2^53) iterations.


Change-Id: I23ab1eb779f1d0c9c6655e13d69f65d453db9284
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210321
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
2021-08-27 00:37:56 +00:00
Alexander Markov f0d6b8864d [vm] Faster double.floorToDouble/ceilToDouble/truncateToDouble/roundToDouble in AOT mode
This change replaces graph intrinsics and call specializer code for
certain _Double methods with a body created in FlowGraphBuilder.

double.floorToDouble micro-benchmark on AOT/x64:
Before BenchFloorToDouble(RunTime): 642.3240205523442 us.
After: BenchFloorToDouble(RunTime): 268.0320289466631 us.

double.floor micro-benchmark on AOT/x64:
Before BenchFloor(RunTime): 760.7630277672118 us.
After: BenchFloor(RunTime): 537.2132688691916 us.

TEST=ci
Issue: https://github.com/dart-lang/sdk/issues/46650
Change-Id: I47f5d8a1bdc0f71965ad1763c7bc46540428c6cd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210652
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Slava Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2021-08-27 00:33:46 +00:00
Alexander Markov 25d0ae2304 [vm/compiler] Support UnboxedDouble representation in unoptimized code
In the unoptimized code unboxed double inputs are now unboxed in the
instruction prologue, and unboxed double output is boxed in the
instruction epilogue. Double values are still always boxed on the
expression stack in the unoptimized mode.

Support for unboxed doubles in unoptimized code allows us to have
one implementation of double and dart:math built-in functions,
shared across optimized and unoptimized modes.

TEST=ci
Issue: https://github.com/dart-lang/sdk/issues/46650
Change-Id: Ic1e42b72ee80cb2c12019b7abab8111240b05efd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211302
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Slava Egorov <vegorov@google.com>
2021-08-26 23:21:56 +00:00
Kevin Moore 9dceb362ef Drop http_throttle from .packages
Follow-up to c8b0f9c915

Change-Id: Ie2ef22705a20f2a694e5f797d542acff70fee6cf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211466
Auto-Submit: Kevin Moore <kevmoo@google.com>
Commit-Queue: Kevin Moore <kevmoo@google.com>
Commit-Queue: Nate Bosch <nbosch@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
2021-08-26 21:16:46 +00:00
Konstantin Shcheglov d4c00fdfcc Issue 46968. Fix resolution when a function typed field formal parameter has type parameters.
Bug: https://github.com/dart-lang/sdk/issues/46968
Change-Id: I20ba948b26040e00635612f52af7cf7e51230695
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211465
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-08-26 21:08:59 +00:00
Sam Rawlins 59216c7949 analyzer: tearoff function reference w/ type args as part of method call
Fixes https://github.com/dart-lang/sdk/issues/47005

Change-Id: I0ea2dcd337030ef471123fd0e02b4398e1ace671
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211463
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2021-08-26 20:48:15 +00:00
Ahmed Ashour 88cd302eb0 ADD_TYPE_ANNOTATION to handle multiple variables with the same type
Fixes #46997

Change-Id: If64125dcd232472a49ffaa94b4bc8bdc5131d3cf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211284
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-08-26 20:35:39 +00:00
Ahmed Ashour e30a55d74a CREATE_MISSING_OVERRIDES to create brackets if missing
Fixes #37903

Change-Id: I13ed4e1bf34bf7d5cfd0bdc78d6191c6964cc28a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210961
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-08-26 20:15:30 +00:00
Brian Wilkerson dd5b4cb05c Fix a concurrent modification exception
Fixes https://github.com/dart-lang/sdk/issues/47011

Change-Id: Ied724d32198831944a086de1bc045ef1e4b1909a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211462
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-08-26 20:14:49 +00:00
Konstantin Shcheglov 3dd14b8a3e Resolve combined code, remove generated from the result.
Change-Id: I66dc2fb505d4938b3d8b8ea8fb126f9a696af71f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211307
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-08-26 19:02:48 +00:00
Liam Appelbe 011068f824 [ VM / Service ] Add reportLines flag to getSourceReport RPC
Every known user of the coverage report just wants the line numbers. At
the moment they have to do a second RPC to get the Script object, so
they can translate the token positions into line numbers.

Slower test times with coverage are usually caused by the extra time it
takes to run the RPCs. So reporting the line number directly will halve
the time it takes to get coverage, for most users.

Bug: https://github.com/flutter/flutter/issues/86722
Change-Id: I7b8d436669713ebc7b7096790a02593b9cb94dda
TEST=CI
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211081
Commit-Queue: Liam Appelbe <liama@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2021-08-26 18:42:58 +00:00
Johnni Winther 888e41b5a2 [cfe] Add test for duplicate instantiation
Change-Id: I0ccd02622ab2ddc9f134011c7d29b0219e640116
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211442
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2021-08-26 17:39:38 +00:00
Erik Ernst 9b5db137a9 New test: Testing ambiguity management for explicit instantiations
Change-Id: I3ea0be4032c3f9999239f2ae58514d21df9045d6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211281
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2021-08-26 17:36:19 +00:00
Johnni Winther 114ccb2c5c [cfe] Handle redirecting factory invocation in cloned expressions
Change-Id: I82f2c60da94017dae8dc5e258402d9ee64c9cdf8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211441
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2021-08-26 16:09:08 +00:00
Alexander Aprelev aa0a4410f4 [vm/certs/win] When adding root certificates consider not_before and not_after properties, only add valid ones.
boringssl seems to be confused when expired certificates are present in trusted root, only picks up the first matching one which could be expired and ignores still-valid-ones.

TEST=secure_socket_utils_test

Fixes https://github.com/dart-lang/sdk/issues/46370

Change-Id: I5bbc0a1a3331ce4dcda46eee41b02b5b6e835b2a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211160
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2021-08-26 15:34:48 +00:00
Clement Skau 574061d3b8 [vm] Skip get_vm_timeline_rpc_test
TEST=This CL skips a test that times out and OOM.

Cq-Include-Trybots: luci.dart.try:app-kernel-linux-debug-x64-try
Change-Id: I99bd5e00e1dae672a252e932cd5501b2ac933019
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211401
Reviewed-by: William Hesse <whesse@google.com>
2021-08-26 15:34:17 +00:00
Johnni Winther 0ac8ab3385 [cfe] Add more checkState assertions in BodyBuilder
Change-Id: Ibaa3c4494f0c7a06a259671105d5d9a1d9f168cc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211282
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2021-08-26 15:17:38 +00:00
Brian Wilkerson 66f6684595 Add docs describing how to write a quick fix
Change-Id: Ie8e00fcdc860e5e4d1576ef719b4d44e9e9bf62f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211084
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2021-08-26 15:11:28 +00:00
Johnni Winther 7959f037bd [cfe] Add test for unused cyclic redirecting factories
Closes #46334

Change-Id: Iaec6a958e1850aacec21617be76062c200360f21
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211261
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2021-08-26 13:49:28 +00:00
Johnni Winther 3be0f377a5 [cfe] Update parser test expectations after parser change
Change-Id: I207fc18ce8add110e405bdc407906d0925ae2eb1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211440
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2021-08-26 13:42:28 +00:00
Johnni Winther 62b3f211e0 [cfe] Recognize tear off lowerings in check for misplaced type arguments
Change-Id: I75445a2c42f2a1b16599e5886a937558463383b2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211263
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2021-08-26 13:21:08 +00:00
Vyacheslav Egorov abe2e7fd28 [vm/arm64] Avoid conditional branch to ret in identical() stub
This is attempt to workaround a possible CPU bug on Exynos 2100 SoC.

The fix is tentative as we were unable to locate an erratum which
matches the symptoms and the specific code pattern.

https://github.com/flutter/flutter/issues/88261

TEST=user manually verified the fix on a Exynos 2100 SoC device

Cq-Include-Trybots: luci.dart.try:vm-kernel-linux-release-simarm64-try,vm-kernel-precomp-linux-release-simarm64-try,vm-ffi-android-release-arm64-try
Change-Id: I3be20d47d710a6bc520f2f7d6da81483baf74787
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211240
Commit-Queue: Slava Egorov <vegorov@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
2021-08-26 12:27:48 +00:00
Johnni Winther ce4e7705f2 [cfe] Handle explicit instantiation in implicit creation syntax
Closes #46719
Closes #46887

Change-Id: I4ad0f1bb4ab847a44f749113c6446f62a474143c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211260
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2021-08-26 11:59:48 +00:00
Jens Johansen 72de10d938 [parser] Better error message for >>> when not enabled in some cases
https://github.com/dart-lang/sdk/issues/46886

Change-Id: Ib204d0c9a7116aaff0f0079be51d551c3f89316d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211003
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-08-26 10:58:20 +00:00
Jens Johansen a557444209 [CFE] Fix compilation error on submit hooks caused by running via comitted dart
Change-Id: I4ed16b16a6dff9ded6e4abcd05e777df483121d2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211380
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2021-08-26 10:57:38 +00:00
suragch a5194c80c2 Correcting misnamed variable in doc comments
Unless I'm missing something, the map that is being referenced here is `x` from the function argument. It looks like calling it `map` was just a typo. Alternatively rename `x` to `map`.

Closes https://github.com/dart-lang/sdk/pull/47000
https://github.com/dart-lang/sdk/pull/47000

GitOrigin-RevId: 940442bfaa1517b33f811488773618e6f2e387d8
Change-Id: I0d24e28edef7f6e941d3247f7d647b22670a35b9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211360
Reviewed-by: Slava Egorov <vegorov@google.com>
Commit-Queue: Slava Egorov <vegorov@google.com>
2021-08-26 09:48:31 +00:00
Erik Ernst 054ae83903 Add test for constant factory constructor feature, cf. #46984
Change-Id: I750345600d3b47de44c060511be35aea8744eca3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211140
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2021-08-26 09:27:31 +00:00
Daco Harkes 6e6f90caec [vm] Cleanup ASSERTS in kernel_to_il
Addressing all existing occurrences of
https://dart-review.googlesource.com/c/sdk/+/210860/6/runtime/vm/object.cc#24693

TEST=This is a refactoring.

Change-Id: I9c4acd1ad09b16add164e1a844e0d49f43841272
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211262
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Tess Strickland <sstrickl@google.com>
2021-08-26 07:59:41 +00:00
Emmanuel Pellereau ba09864c94 Revert "[dart2js] Enable default constructor tear-off lowering"
This reverts commit 4ae44ffebb.

Reason for revert: breaks google (b/197789187).

Original change's description:
> [dart2js] Enable default constructor tear-off lowering
>
> Change-Id: I8e06be94cbcf3fcb28a348d38ce2542c20996cc7
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/208924
> Commit-Queue: Stephen Adams <sra@google.com>
> Reviewed-by: Mayank Patke <fishythefish@google.com>

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

Change-Id: I94086458abc52fad2419ebb64881ee064d647781
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211285
Reviewed-by: Ivan Inozemtsev <iinozemtsev@google.com>
Commit-Queue: Ivan Inozemtsev <iinozemtsev@google.com>
2021-08-26 05:24:31 +00:00
Stephen Adams 4ae44ffebb [dart2js] Enable default constructor tear-off lowering
Change-Id: I8e06be94cbcf3fcb28a348d38ce2542c20996cc7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/208924
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
2021-08-25 23:21:22 +00:00
Stephen Adams 7731eea468 [dart2js] Instantiation.== and Instantiation.hashCode
Change-Id: Ic4e9c882b27a6490a913899d74141ff73c4aebab
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210981
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2021-08-25 21:07:02 +00:00
Paul Berry d2b313227d Flow analysis: Pin down initialization behaviors before fixing #1785.
https://github.com/dart-lang/language/issues/1785 has a wide enough
impact that its fix will have to be bundled in with a language version
(i.e. future versions of Dart will have to reproduce the old buggy
behavior for code that's not opted in to the latest language version).
Therefore, we'll have to maintain tests of the behavior both before
and after the fix.  This CL is the first step in that process, adding
tests that validate the current (buggy) behavior.

Bug: https://github.com/dart-lang/language/issues/1785
Change-Id: I78f17999ac1cbc096a312ef977db24654e06a263
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210400
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2021-08-25 20:32:02 +00:00
Konstantin Shcheglov cf46f2848f Remove ResolverVisitor.shouldCloneAnnotations
Change-Id: Ib1c751b7f575b8038ef6e4a9c8bd013d1c9d730f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211300
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-08-25 18:15:02 +00:00
Ahmed Ashour 92026cec44 Add a fix for "EOL at end of file" lint.
Change-Id: I5540fad40869ec85d6b8a75df3d919781998d512
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/208583
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-08-25 16:46:22 +00:00
pq 85156a691d linter 1.10.0
# 1.10.0

- improved regular expression parsing performance for common checks
  (`camel_case_types`, `file_names`, etc.)
- (internal) migrated to analyzer 2.1.0 APIs
- fixed false positive in `use_build_context_synchronously` in awaits inside
  anonymous functions
- fixed `overridden_fields` false positive w/ static fields
- fixed false positive in `avoid_null_checks_in_equality_operators` w/
  non-nullable params
- fixed false positive for deferred imports in `prefer_const_constructors`



See: https://github.com/dart-lang/linter/pull/2804

Change-Id: Ib069a6eeb0f9a8ca14c01acf21cad66831c26def
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210500
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2021-08-25 16:42:42 +00:00
Danny Tuppeny 2d8764a557 [dds] Don't automatically resume when attaching to processes via DAP
Change-Id: I8b0fd4b36a9dd229226046a74e031de005908417
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210920
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-08-25 16:37:52 +00:00
Ryan Macnak b761b9d757 [vm] Fix a false-positive keeping switchable calls in the monomorphic state.
When checking if the guarded receiver CID has changed, we must find the original guarded CID by looking in the original ICData entries array. The first entry in the current ICData entries array might not correspond to the original entry because we sometimes re-order entries. For example, insert the Smi case at the beginning.

TEST=ci
Bug: https://github.com/dart-lang/sdk/issues/46948
Bug: https://github.com/dart-lang/sdk/issues/46980
Change-Id: Id0904de3a68fbb77842f552329a14c3127ee9fc8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211082
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2021-08-25 16:32:32 +00:00
Sam Rawlins 1f06c7462b analyzer: Save one SimpleIdentifierResolver
Change-Id: I5c7076c98c92f9eef876634f9a389f92ffa42a15
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211221
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2021-08-25 15:54:12 +00:00
Konstantin Shcheglov 965af148f3 Issue 46758. LATE_FINAL_FIELD_WITH_CONST_CONSTRUCTOR.
Does not pass https://dart-review.googlesource.com/c/sdk/+/211140
yet, because requires one more fix, not reporting
CONST_CONSTRUCTOR_WITH_NON_FINAL_FIELD for const redirect constructors.

Bug: https://github.com/dart-lang/sdk/issues/46985
Bug: https://github.com/dart-lang/sdk/issues/46758
Change-Id: If6289b595545216d2d4e247214c5176a6a9d4a31
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/209222
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-08-25 15:30:47 +00:00
Konstantin Shcheglov 8d5c80ce83 Remove scope elements, such as type parameters, after using when writing summaries.
Bug: https://github.com/dart-lang/sdk/issues/46981
Change-Id: I2f7ad246e376bffc9e67f548d979c211894668a3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211200
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-08-25 15:30:44 +00:00
Johnni Winther 2a5c85e7cf [parser] Add useImplicitCreationExpression
This flag prepares for the removal of the special case of implicit
creation syntax, `foo<bar>.baz()`, which with constructor-tearoffs
doesn't have to be a creation expression. Since both the analyzer
and the CFE needs to support parsering without special casing
before it can be removed, the flag is added to ensure both
implementations will agree on what the future parser behavior will be.

The CL hard-wires the CFE use of the parser to a single constant value.

Change-Id: I04724f039d2e698f3cf67e8b0b56dfa7e96ed3b4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211000
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2021-08-25 11:44:53 +00:00
Jens Johansen c0a9d571ce [kernel] Add 'dill_forensic' tool
Tool will try to extract useful information from invalid (e.g. partial
or wrong version) dill.
This is a first stab and could possibly be extended and improved in the
future.

Change-Id: Ib381794a3fe80036bb845800488fa0e1a7f04f83
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211241
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2021-08-25 11:37:42 +00:00
Dmitry Stefantsov 1069cbe03c [cfe] Make undeclared return context undefined for async functions
Closes #46956.

Bug: https://github.com/dart-lang/sdk/issues/46956
Change-Id: I90b8e88864201fb522c5e626843e1dff262f591a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211023
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
2021-08-25 09:56:05 +00:00
Johnni Winther b3af778a38 [cfe] Add UnresolvedKind for fine grained unresolved reporting
- including tests for issues 46719 and 46887

Change-Id: I601fcfcb956e059f502cbece29fb2a6a00f68846
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210464
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2021-08-25 09:51:54 +00:00
Ivan Inozemtsev 7da68152fb Revert "[vm, gc] Make the generational barriers in the runtime multi-thread safe."
This reverts commit a81945ed5c.

Reason for revert: b/196919000#comment34

Original change's description:
> [vm, gc] Make the generational barriers in the runtime multi-thread safe.
>
> TEST=ci
> Bug: https://github.com/dart-lang/sdk/issues/46909
> Change-Id: I24a93c0293e9b559d113bc504f731fb2df24f82a
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211080
> Reviewed-by: Siva Annamalai <asiva@google.com>
> Commit-Queue: Ryan Macnak <rmacnak@google.com>

TBR=rmacnak@google.com,asiva@google.com

Change-Id: Idb925c2c639cb00952c7d4fecfb98582270a36ee
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/46909
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211242
Reviewed-by: Slava Egorov <vegorov@google.com>
Commit-Queue: Slava Egorov <vegorov@google.com>
2021-08-25 09:18:46 +00:00
Stephen Adams 2f66afbfb4 [js_ast] dart format --fix
Formatted with `--fix`, followed by some small manual changes:

- Reflowed some comments to 80 columns.
- Replaced Map/Set constructor calls with {} literals.
- Removed type argument when on both sides of initialization.

Change-Id: I3f5d29dd7e144f96a02efa95db8b40bf63484442
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210940
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
2021-08-25 03:08:21 +00:00
Konstantin Shcheglov 10125490a9 Report CONST_CONSTRUCTOR_WITH_NON_FINAL_FIELD for generative const constructors.
...and don't report for const factory redirecting constructors.

Bug: https://github.com/dart-lang/sdk/issues/46985
Change-Id: I4be654eaa923865de2372779f2ddf880ee98edcc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/211162
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-08-25 01:14:16 +00:00
Danny Tuppeny eff9280e55 [dds] Add support for vmServiceInfoFile to DAP attachRequest
Change-Id: Ibc3e4aef140cb2a2b061bb91b0328230ca70053d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210861
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-08-25 00:47:34 +00:00