Commit graph

65098 commits

Author SHA1 Message Date
pq f38a719933 linter 0.1.95
Change-Id: I963a55d62c02c8d0d455d110a74ecf4d3e5a6e32
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110280
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2019-07-24 16:55:33 +00:00
Alexander Markov 0c97c31b6e [vm] Add assertions for number of parameters in recognized methods
This is a follow-up for review comments
https://dart-review.googlesource.com/c/sdk/+/107680/4/runtime/vm/compiler/frontend/kernel_to_il.cc#901
https://dart-review.googlesource.com/c/sdk/+/109887/4/runtime/vm/compiler/backend/il.cc#4631

Change-Id: I9b0ef0f9baa5102974d911ffdaaf7bdf47095c9f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110127
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2019-07-24 16:16:53 +00:00
Brian Wilkerson 088fbb8d42 Replace newly added uses of assertErrorCodesInCode and deprecate it
Change-Id: I9937cf88ec57452a97d9b4110bd6d6da36bac159
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110320
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-07-24 16:09:18 +00:00
Brian Wilkerson eb057fe495 Send the correction as part of the diagnostic message in LSP
Change-Id: I894c90b7a895d36c3e9bee7623d1301c8c390b69
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109740
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Danny Tuppeny <dantup@google.com>
2019-07-24 16:02:13 +00:00
Brian Wilkerson 3d5238a0ec Resolve static members of an extension within the members of the extension
Change-Id: I60687da4353ad056ff6312b07e9818b9dcfb9813
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110202
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-07-24 16:01:13 +00:00
pq 187c5b5bc9 re-add test dep
Change-Id: Ie1240eb63b62c4fcd24a9dfda709eb54deb08129
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110300
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-07-24 15:46:53 +00:00
pq 0677649e8a extension property access
Change-Id: Icf51679607166e0a449fe0ebeb5f432f17afb34b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110125
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-07-24 13:37:13 +00:00
William Hesse af6edd1040 Fix documentation of DateTime.parse zone offsets
Change-Id: I8435a3d1cf2955eb0195c1a46d97372d05494ea9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109965
Reviewed-by: Leaf Petersen <leafp@google.com>
2019-07-24 12:57:37 +00:00
Johnni Winther 82f657d7cb [cfe] Support error testing in annotated tests
Change-Id: I545ded4d82147f22efc80f4ed8ee833cd75a9be7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109963
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-07-24 07:10:23 +00:00
Johnni Winther b9828b5ac7 [cfe] Merge KernelFormalParameterBuilder into FormalParameterBuilder
Change-Id: I1904b14aa78f7cbadf61a3542e5146c4c7bf4a07
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109961
Reviewed-by: Dan Rubel <danrubel@google.com>
2019-07-24 07:10:23 +00:00
Konstantin Shcheglov 58453dc4c7 Use findMethod() and assertElement() in ExtensionMethodTest.
R=brianwilkerson@google.com, pquitslund@google.com

Change-Id: I25d8a7021e78d045bd57b7462fe24c14d8cab518
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110138
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-24 03:20:04 +00:00
Robert Nystrom 94b34b2b30 Refine how unspecified static error expectations are defined.
The previous system let you use this to define an "unspecified error":

   int i = "bad";
   // [unspecified error]

The marker comment meant that *both* front ends had to report some error
on the previous line, but any error at any position was considered
acceptable.

Unfortunately, this doesn't let us incrementally specify an error for
one front end while leaving it unspecified for the other. This means
that when, say, the analyzer implementation lands first, we can't pin
down its errors while still leaving the CFE errors unspecified until
its ready.

This addresses that by making "unspecified" a property of each front
end, not the error itself. The new syntax is:

   int i = "bad";
   //       ^^^
   // [analyzer] unspecified
   // [cfe] unspecified

This means the same thing as the previous example: both front ends must
report some error on the previous line. The column information is
authored as a best effort, but ignored.

Now, let's say the CFE implementation lands. The above can be changed
to:

   int i = "bad";
   //       ^^^
   // [analyzer] unspecified
   // [cfe] Real error message.

At this point, the CFE test must report that exact error at that exact
position and message. But the analyzer is still free to report any
error code anywhere on that line.

This syntax is a little more verbose, but it's simpler and more
flexible.

Change-Id: I37f937d245fd8ec8054acb6128256f9fff6241e1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109728
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
2019-07-24 02:04:22 +00:00
Stephen Adams d767363950 [dart2js] Make _ConstantNodeIndexerVisitor DAG-aware
Change-Id: Ie0dc25ef90805fd05e65c738bb010361e7ec9590
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110186
Reviewed-by: Mark Zhou <markzipan@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2019-07-24 01:19:32 +00:00
Konstantin Shcheglov 6ccfb4bab1 Update analyzer-cli test for summary2.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I671f22195ee7c6d0c1c5d43d33181ace6a581bfb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110133
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-07-24 01:00:13 +00:00
Nicholas Shahan 11f5b34f07 Reland "[dartdevc] Immediately throw when encountering an unevaluated constant"
This reverts commit 62674b977d.

Reason for revert: There is no reason we should ever encounter an unevaluated
constant in DDK and doing so implies there is an error in the constant evaluation.

We hope to find all such errors with this assertion. If this causes any more test
failures, feel free to revert this again and create an issue so we can fix.

A fix for the issue seen in the flutter-hhh bot has landed:
https://github.com/flutter/engine/pull/10069

Original change's description:
> Revert "[dartdevc] Immediately throw when encountering an unevaluated constant"
>
> This reverts commit fd38424fa4.
>
> Temporarily disabling this to get Flutter roll going.  See
> https://github.com/dart-lang/sdk/issues/37605
>
> TBR=nshahan@google.com
>
> Change-Id: I44dbb1d4aaf8d5f9cc05f096d26cade93a364f4c
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110120
> Reviewed-by: Vijay Menon <vsm@google.com>
> Commit-Queue: Vijay Menon <vsm@google.com>

TBR=vsm@google.com,nshahan@google.com

Change-Id: Ibcb719d3e6c0026b11a812bec853e158b338d51a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110185
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2019-07-23 23:18:15 +00:00
Konstantin Shcheglov 48662bdb94 Report not initialized potentially non-nullable instance fields.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: Id762e0cf651b2f2d7199f3447b5bf305b1a584c8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107567
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2019-07-23 23:17:32 +00:00
Brian Wilkerson 030e60e0ef Allow the name of an extension to be accessed while linking
Change-Id: I1e76e61e2ceed557bcb6f0644f836075f2631e79
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110182
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-07-23 22:57:32 +00:00
Konstantin Shcheglov 46bcc460c0 Support for unnamed extensions in summary2.
R=brianwilkerson@google.com

Change-Id: I70a2994860acb7d592507c7fcd945ce73714c3d9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110136
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-23 22:56:42 +00:00
Konstantin Shcheglov bd2b0504f1 Search for extension getter/method/setter using FindElement.
R=brianwilkerson@google.com, pquitslund@google.com

Change-Id: Ifa4cb6ac3ab43ae473807f19488871678247f974
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110134
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-23 22:36:02 +00:00
Liam Appelbe 4d62935fe5 [vm] Fix a small ELF serialization issue for simarm_x64
Bug: https://github.com/dart-lang/sdk/issues/36839
Change-Id: I6b7748c12cf35b16b733ebe7984c4968364a8bdf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110132
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Liam Appelbe <liama@google.com>
2019-07-23 22:18:42 +00:00
Konstantin Shcheglov ecaa530faf Collect informative data for extensions.
R=brianwilkerson@google.com

Change-Id: I77866f1bb5e92c074ce700d041a392639f829efb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110130
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-23 22:17:12 +00:00
Paul Berry 6c43390cd8 Begin running the shared "ID tests" for constants on the analyzer.
This exposed an analyzer bug--see #37608.

Change-Id: I96af785ce81ebb7b142b4f71cb43942b2b15f879
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110123
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-07-23 22:08:12 +00:00
Konstantin Shcheglov 2ada1edb59 Fix for 'Never' in dart:core and summary1.
We should add it only to the defining unit of dart:core, otherwise
we get it in every unit, which is a conflict, and it is still
unresolved.

R=brianwilkerson@google.com, paulberry@google.com

Change-Id: Ief28b949cc0fe1ed71c91a4efa679d15fbb26a6d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110129
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-23 21:35:22 +00:00
Konstantin Shcheglov 71cd8a6efa Tests for analyzer_cli and --summary-deps-output results.
I was not able to find any existing tests, and it looks like an
important feature, which we don't want to break. I will need to verify
that it continues for work with summary2.

R=brianwilkerson@google.com, paulberry@google.com

Change-Id: Ied2985ebd7b71e85a4b49ec43bf22360fbdd01cd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110126
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-23 21:28:52 +00:00
Paul Berry 4c08c5026d Expose DartObjectImpl.toFunctionValue() through the public API
Change-Id: Ib75a95b20e0abe2a13caa0867ecc60c192ebbbd9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110122
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-07-23 20:56:34 +00:00
Paul Berry c37eebd011 Add a more "isDartCore..." getters to DartType.
Change-Id: I5c192b812e44f9b9f278bc3eaefddd8bc326cf6a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110061
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-07-23 20:56:34 +00:00
Dan Rubel a082f8ce65 merge ArrayBasedScanner into AbstractScanner
There is no need for two separate abstract scanner classes,
so ArrayBasedScanner functionality has been moved into AbstractScanner.

Change-Id: I88765b0b1fa5bf5c73f457ceb5f85cae73b33a5c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110142
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-07-23 20:19:52 +00:00
Nicholas Shahan e6db859100 [dartdevc] Cleanup unused portions of subtyping rules
Add additional subtyping test cases.

Change-Id: I3aa65bb5c92cf26836f5f49143083b9634386594
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109544
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2019-07-23 20:04:42 +00:00
Alexander Aprelev f66964c66d [vm/concurrency] Ensure library tag handler is set up on the isolate group, shared by all isolates in the group.
The library tag handler needs to be available during set up of child isolate, during kernel loading for the isolate(due to usage of native extensions).
Setting up library tag handler in initialize_isolate callback is too late for that.

Change-Id: Ie152d2c699ce3318e90325e693b6c66d30267d7d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110160
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2019-07-23 20:03:42 +00:00
Konstantin Shcheglov ce7232cd0f Store type Never in summaries.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I2b0e7cc86844caf2613a8c3e5ea00ce4576e6e8f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109987
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-23 19:30:20 +00:00
Stephen Adams 262e4c4b09 Remove canonicalization_hashing entries from language_2_dart2js.status
We only add new entries for Skip and Slow tests.

TBR=rmacnak@google.com

Change-Id: I83fe176ee6ff0e9624cf1092aed9a45f41b970d8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110124
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2019-07-23 18:23:26 +00:00
Samir Jindel 0bfb943500 [vm] Locate ELF/Mach-O scripts with realpath in dart_precompiled_runtime.
Change-Id: I93f38bbd59c565c19677eedf7f434b52ffa9fb71
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109401
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-07-23 18:21:46 +00:00
Brian Wilkerson 5e2a950685 Support accessing the documentation comment of an ExtensionElement
Change-Id: If433a7e795369a195a917653f303c71df84a4a0c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110000
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
2019-07-23 18:09:03 +00:00
Dan Rubel 9c148623c5 prepend missing hex digits error token
This prepends (rather than append) another error token to the token stream
similar to https://dart-review.googlesource.com/c/sdk/+/110100

In addition, this addresses a comment in
https://dart-review.googlesource.com/c/sdk/+/110140

Change-Id: I27c739b0ee3213cdbce92c3ff18c31fde862251c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110141
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-07-23 18:08:37 +00:00
Vijay Menon 62674b977d Revert "[dartdevc] Immediately throw when encountering an unevaluated constant"
This reverts commit fd38424fa4.

Temporarily disabling this to get Flutter roll going.  See
https://github.com/dart-lang/sdk/issues/37605

TBR=nshahan@google.com

Change-Id: I44dbb1d4aaf8d5f9cc05f096d26cade93a364f4c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110120
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Vijay Menon <vsm@google.com>
2019-07-23 16:43:24 +00:00
Dan Rubel 76128480ae fix bug in invalid constructor initializer recovery
Fix https://github.com/dart-lang/sdk/issues/37600
Fix https://github.com/dart-lang/sdk/issues/37029
Fix https://github.com/dart-lang/sdk/issues/37049
Fix https://github.com/dart-lang/sdk/issues/37110
Fix https://github.com/dart-lang/sdk/issues/37147

Change-Id: I9bc94991e71550410c02332bfd80faef50c229a5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110140
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-07-23 16:42:54 +00:00
Ben Konyi babefb8c01 [ VM / Service ] Added VMFlagUpdated event to VM stream
Fixes https://github.com/dart-lang/sdk/issues/37557

Change-Id: I129c60a4ac8f42e2f338e6bd15f7fa6fcfe7f54a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109721
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-07-23 15:24:28 +00:00
Dan Rubel b41b868797 prepend UnmatchedToken error tokens
This change ensures that instances of UnmatchedToken are always prepended
to the token stream. This should prevent the exception that occurs in
https://github.com/dart-lang/sdk/issues/37491.
This addresses only one type of error token and we may see a similar
exception with other types of error tokens.

Future CLs will prepend other and eventually all error tokens.

Change-Id: I99cdc331c03f47b21c5a67d436a0e62ebf416e94
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110100
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-07-23 15:21:04 +00:00
Kevin Moore 04a3f9ee9a 2.4 changelog: be more clear and consistent on breaking changes
Use the same language when describing a change that is only breaking
for implementors of a type

Change-Id: Ice9472f0582c3b737034a63fb8a3bc3adc5ae96e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108683
Reviewed-by: Vijay Menon <vsm@google.com>
Auto-Submit: Kevin Moore <kevmoo@google.com>
2019-07-23 15:10:53 +00:00
Konstantin Shcheglov ccdddd2eee Parallel build-mode and DDC changes for summary2.
It does not enable summary2 yet, but makes it possible to flip
one flag AnalysisDriver.useSummary2 to switch between summary1
and summary2.

I run presubmit scripts, and it seems that it works for both.
https://test.corp.google.com/ui#id=OCL:255717824:BASE:259228828:1563746330268:5481d33a
https://test.corp.google.com/ui#id=OCL:255717824:BASE:258892260:1563515248201:2d5ce329

One thing that is not implemented yet is tracking used dependencies
for summary2. So, //dart/bazel_codegen_tests:dependencies_test_run fails.


Change-Id: Iec9f3852e9b91236ce98e87041031daa0cc71a88
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107689
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-23 15:07:11 +00:00
Brian Wilkerson ae5d4973ab Improve a diagnostic message by adding specific type information
Also, re-enable some tests that were unintentionally commented out.

Change-Id: I88ee5cf690c6c7132d80becae6952add229eba47
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109983
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-07-23 13:55:11 +00:00
Vijay Menon 3605630e8a [dartdevc] don't clear generic type caches on a hot restart
The combination of type expression hoisting, hot restart, and generic cache
reset triggers occasional breakage (see #37259).  Not clearing the generic
cache should be safe, but will some leak memory: unloaded types will
pollute the cache.  References to those unloaded types in user code,
however, should be cleared.


Bug: https://github.com/dart-lang/sdk/issues/37259
Change-Id: Ia15115a41556db7a19109f0178baa63ec0cfcb9c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109100
Reviewed-by: Leaf Petersen <leafp@google.com>
Commit-Queue: Vijay Menon <vsm@google.com>
2019-07-23 13:54:31 +00:00
Paul Berry 7fa49a285a Update the minimum SDK constraint to 2.2.2 for kernel and front_end packages.
This allows us to use ui-as-code and set literal features in these
packages.

This should be safe because (a) when these packages are used within
the SDK itself, they are used with the most recent SDK (whose version
is greater than 2.2.2), and (b) the only significant dependency on
these packages in pub is from the analyzer, which already has a
minimum SDK version of 2.2.2.

Change-Id: I4f7d4c9506904ee3016db95297b45e5bcf7989b7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110060
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-07-23 12:55:11 +00:00
Paul Berry baaeafa2bb Flow analysis: move into front_end.
This will allow it to be used by both the front end and the analyzer.

Change-Id: I3af67aaf3ad7ff2cca0cb245518570892ad473e9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109986
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-07-23 12:55:11 +00:00
Paul Berry 24c0507d73 Flow analysis: remove the State.exit method.
It was redundant with State.setReachable(false), and it did not have
the necessary logic to avoid creating State objects when unnecessary.

Change-Id: If9e0b8b586dab0e681f4ee0bc7b792d49e1e5f4b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109897
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-07-23 12:55:11 +00:00
Martin Kustermann 0a2993687b [vm/concurrency] Make all isolates within an isolate group coordinate on GCs
This CL moves the thread registry and the safepoint handler to the
[IsolateGroup]. This will cause all threads belonging to the isolate
group to safepoint together.

  => We will therefore start to get an idea of the impact this will have on
  pause times.

So far it was only possible to enter a particular isolate (e.g. as mutator
thread or auxiliary thread). This CL adds support for entering an isolate
group (instead of a particular isolate) as an auxiliarly thread. The
current isolate group is available via `IsolateGroup::Current()`.

  => This is a preparation step to let GC threads enter the isolate
     group as auxiliary threads, not associated with a particular isolate but
     to an isolate group as a whole.

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

Change-Id: I7069d07130938d370869f02060570143bfeb1b48
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108801
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2019-07-23 10:58:11 +00:00
Paul Berry 9ec6a48613 Flow analysis: document the State class
Change-Id: I36f71953912d23cc77473e56caca14c4d9df19d3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109894
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-07-23 10:31:31 +00:00
Stephen Adams 06b7329fc9 [dart2js, gardening]: Fix dart2js/inferrence/type_mask2_test
Change-Id: I5b84c5832866931a9ffe6ece95ee621b4aca3593
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109981
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2019-07-23 09:41:18 +00:00
Johnni Winther ed38b6d664 Remove KernelMixinApplicationBuilder and KernelNamedTypeBuilder
NamedTypeBuilder and MixinApplicationBuilder are only subclassed by
KernelNamedTypeBuilder and KernelMixinApplicationBuilder, respectively,
so the distinction can be removed.

Change-Id: If0a6434d76c20c3c10a8e25b86d2a5542d5244b2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109263
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2019-07-23 09:20:28 +00:00
Johnni Winther 0177076f2f [cfe] Merge KernelBodyBuilder into BodyBuilder
Change-Id: Ica7d23a54659606ef8d01c647dc8d89f10796bb3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109712
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-07-23 08:02:18 +00:00