Commit Graph

79322 Commits

Author SHA1 Message Date
Konstantin Shcheglov 97655f06b5 Use null aware invocation in removeUnusedFiles().
Change-Id: I67175e8cdf6ddd678a57a13d32ec55c06b205dfe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190302
Reviewed-by: Keerti Parthasarathy <keertip@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-09 23:40:02 +00:00
Brian Wilkerson 7a862df2d8 Compute the context_type feature in instance creation expressions
Change-Id: I72c34e7ecb24377605b8983bcbdb98bdfd73c6f8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190281
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-09 23:27:02 +00:00
Konstantin Shcheglov 8d25fccb52 Fix for NPE when checking for OVERRIDE_ON_NON_OVERRIDING_METHOD.
Saw it in crash logs.

Change-Id: I8e4cbfeafa8e3310f89373707e30c8eac6bed544
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190300
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-09 23:03:54 +00:00
Nate Bosch 30ed286877 Update to the null safe package:http_retry
Change-Id: Ibb5a35b50a23a0d906df903ccad012c34e2a3f3c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190280
Auto-Submit: Nate Bosch <nbosch@google.com>
Commit-Queue: Nate Bosch <nbosch@google.com>
Commit-Queue: Jake Macdonald <jakemac@google.com>
Reviewed-by: Jake Macdonald <jakemac@google.com>
2021-03-09 23:00:12 +00:00
Konstantin Shcheglov f94484c8d2 Fix AvailableSuggestionSetsTest on Windows.
Change-Id: I1736cb9b28b82b43c5f49661c157fac477ed3a34
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190260
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-09 22:20:44 +00:00
Konstantin Shcheglov 72e5ac075d Restore linter in analyze tests.
Change-Id: Id96e8669a5242fac4eee0745fd359e50c37fb706
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190240
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-09 22:10:22 +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
Keerti Parthasarathy b4adea8f46 Add flutter assist test for Cider
Change-Id: Icc04283fd2d37638fcb7382c55f8d409a627a97f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189880
Commit-Queue: Keerti Parthasarathy <keertip@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2021-03-09 21:32:12 +00:00
Vyacheslav Egorov fa12114202 [vm] Remove traces of LLVM backend
The code has been dead for quite some time.

TEST=ci

Change-Id: Iddcb63e14e9e4d95230f006ac05da64f444f0712
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190024
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2021-03-09 20:37:20 +00:00
Vyacheslav Egorov 0e12cdb7fa [vm] Remove unused field in TimeoutQueue
TEST=ci

Change-Id: I82bda5017d9af36c32d0bbc413b6e6a2aa492566
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189209
Auto-Submit: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2021-03-09 20:28:05 +00:00
Ryan Macnak d1605bc5c5 [vm, compiler] Don't touch memory in AssertBoolean and BooleanNegate.
AssertBoolean may assume its input is nullable bool. BooleanNegate may assume its input is non-nullable bool. Use fixed alignment bits to distinguish true, false and null.

TEST=ci
Change-Id: Ife694e66c1225d943881c2325cd67f18575a47e7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189240
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2021-03-09 20:27:00 +00:00
Ryan Macnak 927d45d013 [vm, gc] Remove data race updating TypedDataView::pointer_ during parallel scavenge.
TEST=tsan

Bug: https://github.com/dart-lang/sdk/issues/45217
Change-Id: I0045b793767b8397c62ce992cc775eff989e8642
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189800
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2021-03-09 20:20:00 +00:00
Riley Porter 0affbdce8c Clean up arguments in getProperty lowering.
Change-Id: I8a03d445c303891fd0cb91b9c639125ed3e88b88
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189922
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Riley Porter <rileyporter@google.com>
2021-03-09 17:52:30 +00:00
Brian Wilkerson 038c653c08 Fix a bug in the sort_child_property_last fix
Fixes: https://github.com/dart-lang/sdk/issues/45220
Change-Id: I6634443de0fd87983097cb452238b6b1588ae818
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190101
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-09 17:51:00 +00:00
Anna Gringauze 14eeb7507f First version of incremental DDC mode for expression compilation
- Support evaluate() calls from VM service in expression compiler
  - emit all accessed symbols, types, constants, extension symbols,
    and imports as part of synthetic evaluation function
    - Note: this fixes missing symbol issues in evaluateInFrame()
      as well
  - update expression evaluation tests
  - fix expression compilation broken after hot reload

See widget inspector layout explorer, a result of evaluate() call:
https://drive.google.com/file/d/16UdSE5_V1ZRXAf2KeBxNwYNHMfo1RbnT/view?usp=sharing&resourcekey=0-HZcPm68VbsVzrZ672CApvA

Closes: https://github.com/dart-lang/sdk/issues/41480
Closes: https://github.com/dart-lang/sdk/issues/44979
Closes: https://github.com/dart-lang/sdk/issues/44713
Closes: https://github.com/dart-lang/sdk/issues/44933
Closes: https://github.com/dart-lang/sdk/issues/44813
Closes: https://github.com/dart-lang/sdk/issues/44686
Change-Id: I96c74578c51503adbc4bfe6d6e6112319addc959
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188400
Commit-Queue: Anna Gringauze <annagrin@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Mark Zhou <markzipan@google.com>
2021-03-09 17:23:05 +00:00
asiva 9f6e64a06f [VM/runtime] Fix a warning
TEST=ci

Change-Id: I3bdfa6b1069f4f6f0f889eedf07c4c6527fe13f5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189943
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2021-03-09 17:21:50 +00:00
Stephen Adams c310592643 [corelib] Fix unsigned_shift_test
1. Replace unintended '>>' with '>>>'

2. If infinity is an int, it is a large shift count and not an error.

3. Improve web coverage: Put the dynamic validation tests their own
(multi)parts so that failures of validation are separate to incorrect
results so can't mask incorrect results.

Change-Id: I569135507f1f23a01bde1f85f7ce91dec2bd8df4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189960
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2021-03-09 17:15:00 +00:00
Konstantin Shcheglov ce4817643c Remove ContextCache, in build mode get analysis options from the file.
Change-Id: I6bd5e7878bc243a973149daddb9ed8dc6bfa7440
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189920
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-09 17:01:20 +00:00
Alexander Aprelev bcf06bad4a [vm/concurrency] Fix Function bit field setters.
This is follow-up to 182d0dd156.

TEST=flaky vm/dart_2/isolates/reload_many_isolates_live_and_die_test

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

Change-Id: Ie59d26b7fc0594940742b37fe9ed0127e5871245
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190040
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2021-03-09 16:22:00 +00:00
Alexander Aprelev c0124aed87 [vm/concurrency] Fix tsan warning data race around Field guarded_cid_.
Use relaxed atomic write to match relaxed atomic read for guarded_cid_ field.

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

TEST=flaky tsan failures on  vm/dart_2/isolates/reload_many_isolates_test

Change-Id: Ib538a04187cff77ef278db4d62e551d5db9fd023
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189280
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2021-03-09 16:20:50 +00:00
Paul Berry 5572bd5aa7 Fix flow analysis debug output for try/catch.
We can't mark the fields in `_TryContext` as `late` because when
`FlowAnalysisDebug` is used, `_TryContext.toString` gets called before
they are initialized.  So we need to make them nullable.

Change-Id: I6a5d93533b85ab80d4dae8bd4ba91a5af4e2e024
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189820
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2021-03-09 15:42:10 +00:00
Martin Kustermann 546c2d8f90 [vm] Skip --deoptimize-on-runtime-call-every in AOT
TEST=Fixes broken dartkp bots.

Change-Id: Ifb6569ffc53b89afb79bcbe2503096803f4c6501
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190020
Auto-Submit: Martin Kustermann <kustermann@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2021-03-09 14:23:40 +00:00
Dmitry Stefantsov a65f9357f8 [cfe] Add resolution for other member kinds for extension types
Change-Id: Ief5b7da1e06d0b37327fb62d29c967bcfb2cbdf6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189208
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2021-03-09 12:49:40 +00:00
Alexander Thomas 777a72c685 Update checked-in SDKs to 2.12.0
Change-Id: Iba3cca2a342ab473bd38f6ec6bdbdbd10b5cd90f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190001
Auto-Submit: Alexander Thomas <athom@google.com>
Reviewed-by: William Hesse <whesse@google.com>
Reviewed-by: Ivan Inozemtsev <iinozemtsev@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2021-03-09 12:39:00 +00:00
Ryan Knell 48c23c50d4 Update process.dart
Example was broken, silly typo.

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

GitOrigin-RevId: cd1abd5a307e38093467371db8f59dbb60b71fb7
Change-Id: Ie18e9665c8df4611637ee3632fcc25861971d7b2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189940
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
2021-03-09 12:13:10 +00:00
Martin Kustermann cd104aef6f [vm] Fix deoptimization environment of AssertAssignable
The deoptimization environment of AssertAssignable should not have it's
inputs in it, since those get poped before the call to the
TypeTestingStub.

A lazy deopt should therefore continue in unoptimized code after the TTS
call, without the inputs.

This was discovered by running many lightweight isolates concurrently on
the JIT.

To simplify a regression test we'll add new VM flags that can trigger
deoptimization on any runtime call (optionally filtered by name of
runtime call).

We can use this mechanism to possibly discover more bugs of the same
kind.

Closes https://github.com/dart-lang/sdk/issues/45207
Issue https://github.com/dart-lang/sdk/issues/36097

TEST=runtime/tests/vm/dart{,_2}/regress_45207_test

Change-Id: Ib713fa8be5914eaf4c7395d2e1d8dd88714f1ce2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189202
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2021-03-09 11:27:00 +00:00
Daco Harkes ffa5d16ae7 [vm/ffi] Support multi-dimensional inline arrays
This CL only changes dart:ffi API, CFE, and analyzer. No VM changes
were needed because the dimensions of inline arrays can be flattened
before passing them to the VM. The multi-dimensionality does not
impact the ABI.

Closes: https://github.com/dart-lang/sdk/issues/45023

TEST=pkg/analyzer/test/src/diagnostics/size_annotation_dimensions_test.dart
TEST=pkg/front_end/testcases/nnbd/ffi_struct_inline_array_multi_dimensional.dart
TEST=tests/ffi/function_structs_by_value_generated_test.dart
TEST=tests/ffi/inline_array_multi_dimensional_test.dart

Change-Id: Ica2c01fccbea7e513879365b34086d8968b54c5b
Cq-Include-Trybots: luci.dart.try:dart-sdk-linux-try,dart-sdk-mac-try,dart-sdk-win-try,vm-ffi-android-debug-arm-try,vm-ffi-android-debug-arm64-try,vm-kernel-asan-linux-release-x64-try,vm-kernel-mac-debug-x64-try,vm-kernel-linux-debug-ia32-try,vm-kernel-linux-debug-x64-try,vm-kernel-nnbd-linux-debug-x64-try,vm-kernel-nnbd-linux-debug-ia32-try,vm-kernel-nnbd-mac-release-x64-try,vm-kernel-nnbd-win-debug-x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-kernel-precomp-linux-debug-simarm_x64-try,vm-kernel-precomp-nnbd-linux-debug-x64-try,vm-kernel-precomp-win-release-x64-try,vm-kernel-reload-linux-debug-x64-try,vm-kernel-reload-rollback-linux-debug-x64-try,vm-kernel-win-debug-x64-try,vm-kernel-win-debug-ia32-try,vm-precomp-ffi-qemu-linux-release-arm-try,vm-kernel-precomp-obfuscate-linux-release-x64-try,vm-kernel-msan-linux-release-x64-try,vm-kernel-precomp-msan-linux-release-x64-try,vm-kernel-precomp-android-release-arm_x64-try,analyzer-analysis-server-linux-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188286
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2021-03-09 10:50:17 +00:00
Johnni Winther 7d64d528ce [kernel] Migrate ast_to_binary.dart
TEST=existing

Change-Id: If080190b80776a7613f983b28c2e800727599328
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189201
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2021-03-09 09:29:56 +00:00
Johnni Winther 67a810c758 [cfe] Make constant evaluator implement ExpressionVisitor
Change-Id: Id0aa5e808857798d7403a2733f69c2fe7bb3842e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189207
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2021-03-09 08:05:56 +00:00
Konstantin Shcheglov f0872cb7d2 Issue 45233. Throw StateError with more data when about to StackOverflow in available declarations.
Bug: https://github.com/dart-lang/sdk/issues/45233
Change-Id: Ie6efdb8336536dee9a484dbd7ffb14d4af358cf5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189941
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-09 05:57:46 +00:00
Johnni Winther 2d63f26ef5 Reland "[cfe] Encode field references as @getters and @setters"
This removes the @fields and @=fields canonical name
encodings that allowed for encoding of conflicting members
and didn't support field<->getter/setter conversion
between dills or between outline and full dill.

TEST=existing tests+add aot expectation tests

Change-Id: I119b0c95f90e456356146cdc2d9241de4c1b4fff
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186680
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2021-03-09 05:47:16 +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
Konstantin Shcheglov ff14547a20 Make AnalysisSession.getResolvedUnit() and getUnitElement() non-nullable.
Change-Id: I779fe40d1c565f9d4d71ba6a809497d26cae8def
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189822
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-09 00:42:23 +00:00
Kallen Tu 0ac716d098 [cfe] Variable declarations for const functions.
Change-Id: I085d789125e80dd2b45df9a55f4eaea28c98fd66
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189400
Commit-Queue: Kallen Tu <kallentu@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Jake Macdonald <jakemac@google.com>
2021-03-08 23:34:23 +00:00
Brian Wilkerson 097a825e4a Suggest the fix add_ne_null only when the type of the condition is nullable
Change-Id: Iaad91d5e8b7f5725a8ccb7430eb3f7570a1eea38
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189842
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-08 23:13:43 +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
Konstantin Shcheglov a0ae791a22 Implement AnalysisSession.getLibraryByUri() for Cider.
Change-Id: I3b7e17d4dc8c6e011bf1286d73d6f1d3c8e3ccaf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189861
Reviewed-by: Keerti Parthasarathy <keertip@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-08 22:40:03 +00:00
asiva 787d2659c9 [VM/runtime] - Minor cleanups.
TEST=ci

Change-Id: I2ff123b67e89ca79cba39e07fc2de191af9fc713
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189740
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2021-03-08 20:51:53 +00:00
Konstantin Shcheglov f7dc2d29de Issue 45195. Report MIXIN_INHERITS_FROM_NOT_OBJECT for class aliases.
Bug: https://github.com/dart-lang/sdk/issues/45195
Change-Id: I4b1e60a672b49c3c9fda92b3eac59c256eea13da
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189300
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-08 20:48:43 +00:00
Riley Porter 226ecb0e5c Expanded DebugPrinter for StaticInvocation nodes.
Example AST nodes printed for
`print(getProperty(getProperty(o, "list"), "0"));`
https://paste.googleplex.com/4720701811458048

Change-Id: Ieceee38628e10854d40c7b469887b2cc572365dd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189380
Reviewed-by: Riley Porter <rileyporter@google.com>
Reviewed-by: Srujan Gaddam <srujzs@google.com>
Commit-Queue: Riley Porter <rileyporter@google.com>
2021-03-08 20:28:23 +00:00
Konstantin Shcheglov ec7d39293d Revert "Replace NodeListImpl<Xyz> with NodeListImpl<XyzImpl> in implementations."
This reverts commit 14b07bc81c.

Reason for revert: b/182098851 - does not break anyone, but has the same issue with runtime type vs. static type.

Original change's description:
> Replace NodeListImpl<Xyz> with NodeListImpl<XyzImpl> in implementations.
>
> Change-Id: I12a663d6e2ed3288bf3535e019224041ae1a5093
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189600
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>

Change-Id: I112ecd13e77a9b420c5bc27905e29d728acfab89
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189840
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-08 19:41:34 +00:00
Alexander Aprelev e4ab127fbc [vm/concurrency] Make Function::kind_tag_ concurrency-safe.
Fixes https://github.com/dart-lang/sdk/issues/45182.

TEST=flaky vm/dart_2/isolates/reload_many_isolates_test on tsan bot
Change-Id: Ie874e65643d1a1dc94a94446b3141a4fabb15adb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189261
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2021-03-08 19:29:21 +00:00
Nate Bosch bca92431cc Update to latest test packages
Change-Id: I33d401f3393de6b055babb3bb3448ba328341ce1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/187580
Auto-Submit: Nate Bosch <nbosch@google.com>
Commit-Queue: Nate Bosch <nbosch@google.com>
Reviewed-by: Jake Macdonald <jakemac@google.com>
2021-03-08 19:15:51 +00:00
Konstantin Shcheglov 19e0673582 Revert "Return List<XyzElementImpl> from ElementImpl getters."
This reverts commit 645035bbb9.

Reason for revert: b/182098851

Original change's description:
> Return List<XyzElementImpl> from ElementImpl getters.
>
> Change-Id: Ice8a0feb6a0bd2599fcfd5ccc35c0b4242ed9530
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189620
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>

Change-Id: I33eff159d62813c35e7e00eee5b7d9dd4fb4e563
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189781
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-08 19:09:44 +00:00
Brian Wilkerson 7d971fad1c Stop suggesting non-factory constructors for abstract classes
Change-Id: I3ed6936d36b0f35cea7950ac089c89efacdf0ca6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189680
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Danny Tuppeny <danny@tuppeny.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-08 18:53:51 +00:00
Sam Rawlins 7ee3f73a9a Analyzer: Allow generic function types as type arguments and bounds
Bug: https://github.com/dart-lang/sdk/issues/44929
Change-Id: I9c83a9abd47ec6b3d59c118493c838632fc3182a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/185305
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2021-03-08 18:32:31 +00:00
Marcin Niemira a84ee9662c update regexp
Closes https://github.com/dart-lang/sdk/pull/45221
https://github.com/dart-lang/sdk/pull/45221

GitOrigin-RevId: 8728725779669558d519c9270bbf6e9e7e7c0f2d
Change-Id: I754f00f49df78230a6245a05c6647fc573c67a22
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189383
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
2021-03-08 15:14:31 +00:00
Vyacheslav Egorov ae37ff098a [vm] Compact serialization for canonical sets
This CL changes how canonical sets for some specific types are written
into the root snapshot: instead of writing canonical set as a separate
object we reorder objects within a canonical cluster in such a way that
the order matches order of elements in the backing store of a canonical
set and then we write canonical set layout out using differential
encoding (essentially writing gaps between elements instead of writing
absolute indices).

This significantly reduces the overhead of having canonical sets in the
snapshot while maintaining fast deserialisation: for example on build
microbenchmark this brings regression in the snapshot size from 4% to
.3%.

On sizeopt benchmarks:

  flutter_gallery_app_so_gzip_size   -1.5%
  flutter_gallery_app_so_size        -4.7%
  flutter_gallery_total_heap_size   -16.2%


TEST=ci

Change-Id: I2be7fd073668e9b52098e2acda9f11d128cfda95
Cq-Include-Trybots: luci.dart.try:vm-kernel-precomp-dwarf-linux-product-x64-try,vm-kernel-precomp-linux-release-x64-try,vm-kernel-precomp-linux-debug-x64-try,pkg-linux-release-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/185381
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2021-03-08 14:21:01 +00:00
Johnni Winther 01b0947a6d [kernel] Update kernel encodings
* Add InstanceGetterInvocation for getter/field invocation in web
  backends
* Add localFunction getter to LocalFunctionInvocation
* Remove isNot from EqualsCall and EqualsNull - the encoding didn't
  carry its weight.
* Remove uses of Name.name
* Remove BottomType code from VM

TEST=existing

Change-Id: I99d05d35b9ef193d092cc151c99ad472dbd60834
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188725
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2021-03-08 11:29:51 +00:00
Martin Kustermann 2d6073bbf8 [vm] Remove assertion that doesnt always hold
Threads waiting for reload can mark themselves as checked in while
participating in multiple reloads.

Closes https://github.com/dart-lang/sdk/issues/45211

TEST=Fixes flaky assertion hits.

Change-Id: Idedf821ecc49ace7fbbebf20be7a9c02e3d71a4d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189204
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2021-03-08 10:52:41 +00:00