Commit graph

66298 commits

Author SHA1 Message Date
Samir Jindel 75374b89f6 [vm] Fix ASAN build.
Change-Id: I6e5c40412493933a0a21f4df880f367840fd68cf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115710
Reviewed-by: Samir Jindel <sjindel@google.com>
2019-09-05 17:16:43 +00:00
Aart Bik 8ee3f314cb [vm/gardening] clang tidy fixes
https://github.com/dart-lang/sdk/issues/38196

Change-Id: I0a61eae20d8cfc1c2ada8d6a607d437d02136d33
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115609
Reviewed-by: Ben Konyi <bkonyi@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-09-05 17:00:33 +00:00
Robert Nystrom 89ad636b58 Remove the old "preview Dart 2" flags from the test runner.
Dart 2 shipped a year ago, so we're pretty well past a "preview". :)

Change-Id: I6c5d21ae4181e4228cc1fc49b6344cdb8fc43794
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115544
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
2019-09-05 16:59:43 +00:00
Paul Berry aa34de3fe5 Flow analysis: adjust _variableInfosEqual to do a shallow comparison.
Previously we were doing a deep comparison, but this wasn't
sustainable.  The reason _variableInfosEqual exists is to verify the
logic used by FlowModel.restrict() to determine whether to re-use a
previous variableInfo structure.  Since that logic is based on a
shallow comparison, the logic in _variableInfosEqual needs to do a
shallow comparison as well.

Change-Id: Id0f48a3f450a9210d4f6e6d919bb7a3e311ad458
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115621
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-09-05 16:52:18 +00:00
Paul Berry ea35690b96 Flow analysis: add unit tests of try/finally handling.
Change-Id: I406cf610d3f62af94c998a82e8e580cb9bd2d9b5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115611
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-09-05 16:52:18 +00:00
Paul Berry b179ef33ec Flow analysis: add unit tests of try/catch handling.
Change-Id: I5c6ccd7eb6ac24c4842437e18eaff3fbeef16041
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115606
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-09-05 16:52:18 +00:00
Paul Berry e2a00dc465 Flow analysis: add unit tests of while statements
Change-Id: I5695c0d74e58f1963b5acc00c70320cf6ac4edbe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115542
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-09-05 16:52:18 +00:00
Ryan Macnak edceedff90 [vm, reload] Allow any change to a class that hasn't yet been declaration loaded.
Change-Id: I3da7a2f156e4b2cb1a60597d66f4514c1563785c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115560
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-09-05 16:51:39 +00:00
Konstantin Shcheglov 68ba13e4e8 With NNBD null-shorting is performed.
So, the type of `a?.b.c` is nullable, but the type of `c` is not.
Everything after `a?` is just not executed if `a` is null.

R=brianwilkerson@google.com

Change-Id: I705051080b8cc2bb5014355688561b0f3dccc0d8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115660
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-05 16:44:13 +00:00
Ryan Macnak a7723d5c40 [vm] Out-line handle allocation.
Handle allocation is extremely common, and it always already has a call to VMHandles::Allocate[Zone]Handle, so we save a lot of binary size by avoiding inlining the TLS and initialization code.

-488k (-2.04%) out/ProductX64/exe.stripped/dart
-256k (-5.07%) out/ProductX64/exe.stripped/dart_precompiled_runtime

Change-Id: I677005c9653c87597ba20144b4326b66d0bf0ee5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115608
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-09-05 16:43:33 +00:00
Alexander Aprelev 16be3a095d [vm/benchmark] Add *Bytes suffix to Isolate SendReceive benchmark
Change-Id: If097c8e8b8b7327610993327aacfeae25960f2f8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115640
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2019-09-05 15:25:33 +00:00
Samir Jindel be66176534 [vm/linux] Don't expose symbols from statically-linked libc++.
Issue https://github.com/dart-lang/sdk/issues/38141

On Windows and OSX, we dynamically link against libc++, so there is no issue.
On Android we already hide symbols from libc++.

Change-Id: I17debc4d0efec3cebc203672333afb44390b0e0b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115403
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Samir Jindel <sjindel@google.com>
2019-09-05 15:05:53 +00:00
Vijay Menon ec6c6542a2 [dartdevc] escape all identifiers
Change-Id: I67b63ff55735989e5efb073442212c2029457632
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115011
Commit-Queue: Vijay Menon <vsm@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-09-05 14:56:08 +00:00
Zichang Guo 92ed74e5f1 Reland "[vm] support zoneID for http"
This is a reland of c3db2e3ee0

Original change's description:
> [vm] support zoneID for http
> 
> Coming from https://dart-review.googlesource.com/c/sdk/+/103544.
> 
> Fixes: https://github.com/dart-lang/sdk/issues/37570
> Change-Id: I0f81cb5d8009dc929fca24e03a343a7b0c1597bc
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110121
> Reviewed-by: Siva Annamalai <asiva@google.com>
> Commit-Queue: Zichang Guo <zichangguo@google.com>

Change-Id: I3692bf02fd29bc3bc8b9b54de1466075fecec1f3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115605
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Zichang Guo <zichangguo@google.com>
2019-09-05 14:54:48 +00:00
Teagan Strickland 7d0266a604 [vm/compiler] Fix use of enum value as bool in serializer.
Also fix check that a new value hasn't been added to the
StoreBarrierType enum.

Bug: https://github.com/dart-lang/sdk/issues/36882
Change-Id: I8d781948082b45011466a9cc735ba2c94f130ea1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115708
Commit-Queue: Teagan Strickland <sstrickl@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-09-05 14:48:03 +00:00
Sarah Zakarias 6512f5563d Revert "Revert "Add dart2native tool for building either an aot file or a stand-alone executable.""
This reverts commit 54fdd559d8.

Trying to reland this after https://dart-review.googlesource.com/c/sdk/+/115364 hopefully fixes the issue leading to the revert.

Change-Id: If3c49bea9d791aa3d569003490c1cbe8b325f2e1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115705
Commit-Queue: Sarah Zakarias <zarah@google.com>
Reviewed-by: Clement Skau <cskau@google.com>
2019-09-05 14:46:43 +00:00
Clement Skau b31566b297 [nit] Adds missing newlines to error prints.
Bug: 132924757
Change-Id: I1354534bfac13006897f204990270d636fc0063f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114519
Auto-Submit: Clement Skau <cskau@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Clement Skau <cskau@google.com>
2019-09-05 12:56:49 +00:00
Johnni Winther 34004f7f6b [cfe] Support modular compilation of extensions
Includes serialization/deserialization of Extension and
ExtensionMemberDescriptor.

Change-Id: I04df581355b0d6f9e6bfa638241c8b7f210d3ce5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115369
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-09-05 11:19:53 +00:00
Johnni Winther 28af740e83 [cfe] Follow-up fixes
Change-Id: I91d55176a0fbc48cdc0e0039d715a0b9fa2cbff3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115360
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-09-05 11:19:53 +00:00
Johnni Winther 06ae3402d7 [cfe] Support F-bounded extensions and type variable shadowing
Change-Id: I6fa5bf13ab8524e6262a67c6f9fe4d56c8ee5046
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115246
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-09-05 11:19:53 +00:00
Teagan Strickland 4525105db9 [vm/compiler] Add support for more instructions to deserializer.
Adds support for:
  AllocateObject
  CheckNull
  LoadField
  StrictCompare

Results from compiling hello world program:

* Early round trip:
  * Contains unhandled instructions: 3065
  * Failed during deserialization: 6
  * Successful round trips: 1109
* Late round trip:
  * Contains unhandled instructions: 3085
  * Failed during deserialization: 7
  * Successful round trips: 1086

Bug: https://github.com/dart-lang/sdk/issues/36882
Change-Id: I09d25ca413a9facd27ba5a1b81e72a1fd126a3cc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114860
Commit-Queue: Teagan Strickland <sstrickl@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-09-05 10:36:13 +00:00
Teagan Strickland 7c8c197559 [vm/compiler] More work on the IL serializer.
Adds support for:
  DebugStepCheck
  StoreInstanceField

Also:
* Adds context information to closure serialization.
* Adds parsing for serialized Closure and Slot values.
* Gets rid of some two-value enums in il.h that were acting as bools.

Results from compiling hello world program:

* Early round trip:
    * Contains unhandled instructions: 3433
    * Failed during deserialization: 2
    * Successful round trips: 745
* Late round trip:
    * Contains unhandled instructions: 3562
    * Failed during deserialization: 3
    * Successful round trips: 613

Bug: https://github.com/dart-lang/sdk/issues/36882
Change-Id: I409b232b64c4847623378462fc993460a858acb1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114840
Commit-Queue: Teagan Strickland <sstrickl@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-09-05 10:34:43 +00:00
Martin Kustermann d0218d4771 [vm] Add runtime/.clang-tidy file
Change-Id: I94c58620b2ec73b43b26ea47923f15d1d2c9d785
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115580
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2019-09-05 09:51:13 +00:00
Lasse R.H. Nielsen dfcc31baf3 Add test for getter/setter conflicts with extension members.
Change-Id: I9332e29d021d126d6678f6866d484185e2f1da73
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115211
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
2019-09-05 09:15:43 +00:00
Michael Thomsen d6af8654e5 Update ffi.dart to add preview disclaimer
Closes #38209
https://github.com/dart-lang/sdk/pull/38209

GitOrigin-RevId: 77d6a29f012b7a6a4866e4c9b1bd69757b5e6661
Change-Id: I6197c99b1b4d74f538948da3ab17c4923627635f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115661
Reviewed-by: Daco Harkes <dacoharkes@google.com>
2019-09-05 08:46:19 +00:00
Karl Klose 269af100f9 [infra] With multiple test results, use the first instead of the last in createResultsMap
Change-Id: I48ac4ab6ec1b60a4b6ecec3976a1bba7483f6e12
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115682
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2019-09-05 08:43:10 +00:00
Johnni Winther 4122034ada [kernel] Make accept methods generic
Change-Id: I50f3c2b5c09a1266811e1fe5a5b2042c77584e43
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114514
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-09-05 07:46:10 +00:00
Konstantin Shcheglov 6eed35b60d Analyze null-aware index expression reads.
R=brianwilkerson@google.com

Change-Id: Idcd787434eae070e87adf267a016bda2a4e5703e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115600
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-05 00:58:46 +00:00
Régis Crelier 15c1487874 [vm/bytecode] Allow breakpoint on rethrow; mark closures as debuggable or not.
Generated rethrow statements do not require a 'DebugCheck', but explicit rethrow
statements do, so that user breakpoints can be set on rethrow.
Add a IsDebuggable flag on bytecode closures and set it properly.
Remove unused code in a service test.
Add verbosity to debugger.

Change-Id: Ia436cbe62e38cfaec6f9fdf7f8cc2ee5607228e6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115602
Commit-Queue: Régis Crelier <regis@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2019-09-04 23:56:16 +00:00
Robert Nystrom 7cfedd9a6f Run dartfmt --fix on pkg/smith.
Change-Id: I423489b851638f6d50fe365433863fd6bc91bb14
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115501
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
2019-09-04 22:55:56 +00:00
Zichang Guo 05b7c55e8f Revert "[vm] support zoneID for http"
This reverts commit c3db2e3ee0.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> [vm] support zoneID for http
> 
> Coming from https://dart-review.googlesource.com/c/sdk/+/103544.
> 
> Fixes: https://github.com/dart-lang/sdk/issues/37570
> Change-Id: I0f81cb5d8009dc929fca24e03a343a7b0c1597bc
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110121
> Reviewed-by: Siva Annamalai <asiva@google.com>
> Commit-Queue: Zichang Guo <zichangguo@google.com>

TBR=lrn@google.com,zra@google.com,asiva@google.com,zichangguo@google.com

Change-Id: I41e52b905b112a0e6f2a6c2c8c135a9ec6ef6869
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115604
Reviewed-by: Zichang Guo <zichangguo@google.com>
Commit-Queue: Zichang Guo <zichangguo@google.com>
2019-09-04 22:17:48 +00:00
Zichang Guo 8cad4a2146 Revert "bump up ABI version to fix red abi bot"
This reverts commit c5e618b3da.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> bump up ABI version to fix red abi bot
> 
> Change-Id: I8c2cf558ff605812df3fee10da04e67125055cbc
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115441
> Reviewed-by: Régis Crelier <regis@google.com>
> Commit-Queue: Zichang Guo <zichangguo@google.com>

TBR=regis@google.com,zichangguo@google.com

Change-Id: I2e5e99d88930207326295e9b455b72be3681ba36
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115603
Reviewed-by: Zichang Guo <zichangguo@google.com>
Commit-Queue: Zichang Guo <zichangguo@google.com>
2019-09-04 22:17:19 +00:00
Keerti Parthasarathy bfd0190bf0 Update dartdoc rev in DEPS, fix for break in api doc generation
Change-Id: Iadcf89d62c77939774434d9cbb8e162737162487
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115502
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Keerti Parthasarathy <keertip@google.com>
2019-09-04 21:56:37 +00:00
Alexander Aprelev b6b4a3d2ca [vm/benchmark] Cleanup Isolates benchmark
Change-Id: Id8e3d45ceac331cdf44292642c0ab3a15fc32987
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115442
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-09-04 21:54:57 +00:00
Brian Wilkerson 57314a7e2f Add fixes to create getters in extensions
Change-Id: I9a78cdeac0fddfc23f919956723a884456c4e429
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115480
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-09-04 21:13:45 +00:00
Devon Carew fc88ba0ab0 [pkg:vm_service] add an onDone future to VmService
Change-Id: Ib72aabf3a61c78c51697712e11f7e4736ec0db8c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114883
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2019-09-04 21:07:34 +00:00
Aart Bik 6be60a76e4 [vm/compiler] fix missing unbox code
Rationale:
Two safe non-speculative cases were missing,
causing AOT to crash on some fuzzing sessions.
Note fuzzer is regression test here.

https://github.com/dart-lang/sdk/issues/38145

Change-Id: I12c633d66e387c703f1bcf0b6eebd50165bb2970
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115445
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-09-04 20:40:31 +00:00
Martin Kustermann c0e327ea85 [vm] Add runtime/.clang-tidy and run clang-tidy in parallel (via dart script)
Change-Id: I1ef69f0be521db2466d1e60663c75c177bc4b778
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115402
Reviewed-by: Samir Jindel <sjindel@google.com>
2019-09-04 20:33:50 +00:00
Mike Fairhurst a931a457f0 [nnbd_migration] support untyped set & map literals
Change-Id: Iaf2c72cfe9415e89e8d9000f473aa364bbcf012a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115267
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-09-04 20:21:03 +00:00
Alexander Markov ea5f0db671 [vm/bytecode] Load bytecode class declaration when referencing class from type in AST
When running from a dill file with AST on the VM with bytecode, we should
ensure that bytecode class declarations are loaded when class is referenced
from a type in AST. Otherwise we could attempt to finalize a type without
proper class declaration.

This change fixes pkg/vm/test/transformations/protobuf_aware_treeshaker/treeshaker_test
with bytecode.

Change-Id: I7a9975e1af6b9e04575f41c5e78b1c2154106e31
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115460
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2019-09-04 19:45:11 +00:00
Zichang Guo c5e618b3da bump up ABI version to fix red abi bot
Change-Id: I8c2cf558ff605812df3fee10da04e67125055cbc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115441
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Zichang Guo <zichangguo@google.com>
2019-09-04 19:37:41 +00:00
Aart Bik bbe6624074 [vm/fuzzer] Enable control-flow collections, cleanup
Rationale:
Control flow collections are already the default for
a while, but this TODO was still there. We are now
testing all features of CFC fully. Also did some
comment cleanup and removed old-style "new" syntax.
Moved constructors into try-catch just in case
we will add code into constructors in the future.

Change-Id: I557650575f41d7501a0c6f37c07756ca47ad54fd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115444
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-09-04 19:30:36 +00:00
Paul Berry 0e7e8eb07e Flow analysis: rework tests
Two changes:

- Rather than remember to call `FlowAnalysis.finish` at the end of
  each test, we now have a `_Harness.run` method that calls it
  automatically.

- Variables are created using `_Harness.addVar` and their declarations
  are reported to flow analysis using `_Harness.declare`.  This allows
  us to more easily test scenarios where a variable might be
  referenced before its declaration site is encountered (which might
  occur due to analyzer error recovery).

Change-Id: I0eff619840aeb057dcce8d64b6c6d23a265f81bd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115421
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-09-04 19:23:41 +00:00
Paul Berry 079ff845a5 Sort tests in flow_analysis_test.dart
Change-Id: I28f81d8160e80ef6cfb7c95c39658d0f5396e6ca
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115420
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-09-04 19:23:41 +00:00
Konstantin Shcheglov 9df2b2d25f Resolution tests for IndexExpression.
Change-Id: I6e0b6a6503860f7eb232f7544afa4c0a408e3c18
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115422
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-04 19:22:31 +00:00
Ryan Macnak 67bb2b7819 [vm, compiler] Consistently use CallTargets instead of ICData or MegamorphicCache.
Bug: https://github.com/dart-lang/sdk/issues/37575
Change-Id: I15f3862af380b04498cb58c8658aa6de76212733
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114445
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-09-04 18:49:40 +00:00
Keerti Parthasarathy efe256cf6c Update dartdoc in the SDK to 0.28.5
Change-Id: Id22a9d77bb53adbbca380d6e5dedc48cf0249d09
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115275
Commit-Queue: Keerti Parthasarathy <keertip@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2019-09-04 18:46:40 +00:00
Paul Berry a6ea4037bd Migration: handle static method invocations properly.
Fixes ~22 exceptions with a stacktrace containing the line:

DecoratedClassHierarchy.getDecoratedSupertype (package:nnbd_migration/src/decorated_class_hierarchy.dart:59:10)

Change-Id: I59bfcf19044f2bd985ec9bd4b33f307f9ab5bb24
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115121
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-09-04 18:15:30 +00:00
Paul Berry 8a0b0220e9 Migration: fix two minor bugs in the computation of class hierarchy decorations.
The first bug was that we were assigning an empty map to
`_genericSupertypeDecorations[class_]` prior to computing the supertype
decorations, and then updating the map in place.  This meant that if
an exception occurred while computing the supertype decorations, then
any subsequent requests for supertype decorations on the same class
would lead a partial result.  This led to a lot of weird
counterintuitive behavior.

The second bug was that `Variables.decoratedDirectSupertypes` wasn't
updating the `_decoratedDirectSupertypes` object when an entry wasn't
found; as a result, we were doing a lot of redundant computation.

This should address ~184 exceptions whose stack trace includes the line:

DecoratedClassHierarchy.getDecoratedSupertype (package:nnbd_migration/src/decorated_class_hierarchy.dart:59:10)

Change-Id: I7b7e5191f77c0e1d299923a99d841b6c11ca28c1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115075
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-09-04 18:15:30 +00:00
Samir Jindel 08132661a6 [vm/ffi] Unhide FFI docs.
Change-Id: I3bcf99d49950a2f7f69621455617f324b8258882
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115401
Reviewed-by: Michael Thomsen <mit@google.com>
Commit-Queue: Samir Jindel <sjindel@google.com>
2019-09-04 18:07:01 +00:00