Commit graph

67549 commits

Author SHA1 Message Date
Daco Harkes
2c1d405c15 [changelog/ffi] Document dart:ffi changes for D26
Change-Id: I371a9b9bac29bc75bc5b69f960da56854f515680
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122149
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-10-18 19:20:43 +00:00
Alexander Markov
9220890dc7 [vm/bytecode] Do not emit inferred type if unreachable
Closes: https://github.com/dart-lang/sdk/issues/38965

Change-Id: Id74ed952f2f632fe8028a765d0cf717e04830954
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try,vm-ffi-android-debug-arm64-try,app-kernel-linux-debug-x64-try,vm-kernel-linux-debug-ia32-try,vm-dartkb-linux-debug-simarm64-try,vm-kernel-win-debug-x64-try,vm-kernel-win-debug-ia32-try,vm-dartkb-linux-debug-x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-dartkb-linux-release-x64-abi-try,vm-kernel-precomp-android-release-arm64-try,vm-kernel-asan-linux-release-x64-try,vm-kernel-linux-release-simarm-try,vm-kernel-linux-release-simarm64-try,vm-kernel-precomp-android-release-arm_x64-try,vm-kernel-precomp-obfuscate-linux-release-x64-try,vm-kernel-reload-rollback-linux-debug-x64-try,vm-kernel-precomp-mac-release-simarm_x64-try,dart-sdk-linux-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122147
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2019-10-18 18:29:02 +00:00
Sam Rawlins
fd0617bd98 Improve listToString and setToString documentation. Fixes #26529
Bug: https://github.com/dart-lang/sdk/issues/26529
Change-Id: I4e2994dd39c676c2136c82d3e5dd9f45a8b154ce
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/82784
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2019-10-18 18:15:52 +00:00
Konstantin Shcheglov
cb9eefca4f Issue 142793249. Never remove directive with unresolved URIs.
Bug: https://buganizer.corp.google.com/issues/142793249
Change-Id: I5ced1bcf4cb5d634f8e11555bb464f10c4bac68c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121926
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-10-18 17:06:50 +00:00
Sam Rawlins
4f0c8cba56 Add README for samples/sample_extension
Bug: https://github.com/dart-lang/sdk/issues/35839
Change-Id: I35fe0d5b6be7ead081e164ddce2f8dc8e273158a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122160
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
2019-10-18 15:33:06 +00:00
Clement Skau
a9fc9f7fd4 [SDK] Fixes run_appended_aotsnapshot_test on Windows.
Bug: https://github.com/dart-lang/sdk/issues/38974
Change-Id: I5fafb29252f20a536b5543d309ddeb4ccd3421ec
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122145
Auto-Submit: Clement Skau <cskau@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
2019-10-18 15:20:36 +00:00
Jacob MacDonald
22e249d4d5 update kernel worker to support -D environment defines
Change-Id: Ic73cfcc8dc0bd8b721733e0696b028aa572125e0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121927
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jake Macdonald <jakemac@google.com>
2019-10-18 14:33:08 +00:00
Vijay Menon
ffcfab3093 [dartdevc] support null-check bang operator
Change-Id: I730be139f45448e3544c79e676316eb1ad36066e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122027
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Vijay Menon <vsm@google.com>
2019-10-18 14:23:38 +00:00
Sam Rawlins
09b08f7b0e Add comment on non-negativity of periodic Timer and Stream.
Fixes #30122

Change-Id: Idde67193fb671aa7fb0d277f8ec81193421d8c21
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112276
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2019-10-18 13:22:48 +00:00
Jens Johansen
8c041c8f8f [parser] Don't clear extraneous covariant token
Change-Id: Ieb722e28001533564668d798cf76748bd25590f3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121323
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-10-18 13:14:28 +00:00
Artem Serov
46050115ab [vm/compiler] Arm64: Improve StoreIndexedInstr.
Reuse offset addressing mode with LoadIndexedInstr;
this will save 1 instruction generated for the case:

 add x0, x1, x2, LSL #SCALE
 ldr x3, [x0, #OFFSET]

 vs

 add x0, x1, #OFFSET
 add x0, x0, x2, LSL #SCALE
 ldr x3, [x0]

Change-Id: I35d9e9553f312529d1c71fdd4475545e3c439179
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121992
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2019-10-18 11:54:48 +00:00
Jens Johansen
3d67e7d6a7 [CFE] Don't try to infer fields not in the output program
Fixes assertion error because it cannot properly infer 'this' for field
not inserted in the ast.

Fixes #38961.

Bug: 38961
Change-Id: I4230fc2d8c47eb84ad2627651f4d7ca2787e5f33
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122141
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-10-18 10:44:28 +00:00
Jens Johansen
d40c8a0573 [kernel] Add 'leakingDebugToString' to nodes
This serves two purposes:
1) It can aid in debugging to better know which object you have.
2) It paves the way for a future re-design of toString so toString never
   leaks.

Change-Id: Ice32209b19b961b7e92de829d8bee0ddd8bd6e93
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122140
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-10-18 10:43:58 +00:00
Clement Skau
8d8faa7dea [SDK] Fixes loading appended snapshots when executed with PATH.
Loading of appended snapshots used to try read the executable itself
via arg[0] which holds the "path" to the executable.
However, when the executable is being invoked via PATH the "path"
can be just the name of the executable with no actual path.
This would cause the file reading to fail to find the file and
therefore fail to read.
This in turn caused standalone executables to fail to run when invoked
via PATH.

Bug: https://github.com/dart-lang/sdk/issues/38912
Change-Id: I08501661441db90ce6cff96a9337a5770ec3524d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121853
Commit-Queue: Clement Skau <cskau@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-10-18 10:30:48 +00:00
Jens Johansen
c1599932f9 [CFE] Fix crash when serializing: "Type parameter #lib1::B::X is not indexed"
Fixes #38944

Bug: 38944
Change-Id: I26bdd06f86c0c0ac0089d34255bcb3ef824affcf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121985
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-10-18 09:40:38 +00:00
Dmitry Stefantsov
b212403cf8 [cfe] Change integer values that encode nullability attributes
This CL also completes the renaming of "neither" into "undetermined" by
renaming kNeither value in the nullability enum in
runtime/vm/kernel_binary.h into kUndetermined.

Change-Id: Ia266bf1b35577212b696fb4a093340ee8e986256
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121989
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
2019-10-18 08:46:16 +00:00
Sam Rawlins
9a829cc0b3 Remove 'strong' comments from Future.
Fixes #36458

Change-Id: I4b4f4c0666b6dee166459875881b798c44e7d65c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122040
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
2019-10-18 08:11:55 +00:00
Jens Johansen
0c47a8529c [CFE] Fix "Type 'void' not found." bug
Fixes #38943

Bug: 38943
Change-Id: I6086f5f46a67b37a04b21d0053fc7903a83df523
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122000
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-10-18 06:36:25 +00:00
Chris Bracken
e41086ef7c [vm] Enable timeline trace events with Fuchsia SDK
Re-enables tracing when built against the public Fuchsia SDK. Was
previously only available on in-tree Fuchsia builds since tracing had
not been exposed in the public SDK.

Change-Id: I54026268f96f762a84c92c24df377249990159a0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122081
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2019-10-18 01:33:03 +00:00
asiva
cd95fcc810 [VM] Start the kernel isolate only when compilations are needed
- Start the kernel isolate only when a compilation is needed
- Remove some dead code and state in the loader path

Change-Id: I39e14cd79cda18b155af6334a11635c44e2fc11f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121923
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2019-10-18 00:27:16 +00:00
Devon Carew
21972daf7d [analyzer] refactor the flutter assists menu
Change-Id: I6ecfa612b55aa755a5d56b2eac7d4f665954e5ec
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122025
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2019-10-18 00:15:46 +00:00
Zichang Guo
50f9dd8941 Revert "[io] exclude links from isDirectory()"
This reverts commit 49d743f940.

Reason for revert: break vm-kernel-precomp-mac-release-simarm64 bot

Original change's description:
> [io] exclude links from isDirectory()
> 
> isDirectory() should not return true for links.
> 
> Bug: https://github.com/dart-lang/sdk/issues/35102
> Change-Id: I737345a581d6a50d7bccab0dbc10f1a31a57e219
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121900
> Commit-Queue: Zichang Guo <zichangguo@google.com>
> Reviewed-by: Siva Annamalai <asiva@google.com>

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

Change-Id: I66ee7d3b3f0ae2bcf80b00e0f3c68bba3e520966
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/35102
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122060
Reviewed-by: Zichang Guo <zichangguo@google.com>
Commit-Queue: Zichang Guo <zichangguo@google.com>
2019-10-17 22:20:38 +00:00
Sam Rawlins
d9fa27a9ed Update ~48 doc comments to have one-sentence summaries
From Effective Dart: Documentation:
* https://www.dartlang.org/guides/language/effective-dart/documentation#do-start-doc-comments-with-a-single-sentence-summary
* https://www.dartlang.org/guides/language/effective-dart/documentation#do-separate-the-first-sentence-of-a-doc-comment-into-its-own-paragraph

Change-Id: Ie49b2e6a2cad5c1d01a6cd625f91f89e4fcc39ce
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/69260
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-10-17 21:48:46 +00:00
Ryan Macnak
8e7ffafbaf Reland "[vm, compiler] Reduce alignment of Instructions and remove some debugging trap instructions."
Further adjustments for simarm_x64.

Flutter Gallery:
ARM32
Instructions(CodeSize): 6979424 ->  6771856 (-2.97%)
Total(CodeSize):       10855163 -> 10363319 (-4.53%)
ARM64
Instructions(CodeSize): 7334368 ->  6817312 (-7.05%)
Total(CodeSize):       11505069 -> 10771431 (-6.37%)

Bug: https://github.com/dart-lang/sdk/issues/37103
Bug: https://github.com/dart-lang/sdk/issues/38452
Change-Id: I2bb44e7b2c002d53830b66cf4aedc4455c815326
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119440
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-10-17 21:45:38 +00:00
Alexander Markov
eb9480daa5 Revert "[vm,aot] Simple unreachable code elimination before type-flow analysis, take 2"
This reverts commit 56991ad94b.

Reason for revert: broke building Flutter apps in release mode

Original change's description:
> [vm,aot] Simple unreachable code elimination before type-flow analysis, take 2
> 
> This is the relanding of https://dart-review.googlesource.com/c/sdk/+/121500
> with fixes.
> 
> Original CL description:
> 
> This change adds transformation for very early cleanup of unreachable
> code such as code guarded by if statements with constant conditions or
> code used in assert statements when assertions are disabled.
> 
> The advantage of cleaning such code early is that type-flow analysis
> won't be looking at it and TFA-based tree shaker is able to remove
> more code.
> 
> flutter_gallery_total_size -0.5663% (arm), -0.5409% (arm64)
> build_bench_total_size -2.533% (arm), -2.449% (arm64)
> gesture_detector_total_size -4.183% (arm), -4.072% (arm64)
> 
> Change-Id: Ief8ebd0cd828c0e7a847a824f44d2d97a3595b87
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121901
> Reviewed-by: Ryan Macnak <rmacnak@google.com>
> Reviewed-by: Martin Kustermann <kustermann@google.com>
> Commit-Queue: Alexander Markov <alexmarkov@google.com>

TBR=vegorov@google.com,kustermann@google.com,rmacnak@google.com,alexmarkov@google.com

Change-Id: I25fe5d4457bfcc5ee25506810aa7eee01ca1b28a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122023
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2019-10-17 21:23:38 +00:00
Zichang Guo
49d743f940 [io] exclude links from isDirectory()
isDirectory() should not return true for links.

Bug: https://github.com/dart-lang/sdk/issues/35102
Change-Id: I737345a581d6a50d7bccab0dbc10f1a31a57e219
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121900
Commit-Queue: Zichang Guo <zichangguo@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-10-17 21:05:56 +00:00
Alexander Markov
56991ad94b [vm,aot] Simple unreachable code elimination before type-flow analysis, take 2
This is the relanding of https://dart-review.googlesource.com/c/sdk/+/121500
with fixes.

Original CL description:

This change adds transformation for very early cleanup of unreachable
code such as code guarded by if statements with constant conditions or
code used in assert statements when assertions are disabled.

The advantage of cleaning such code early is that type-flow analysis
won't be looking at it and TFA-based tree shaker is able to remove
more code.

flutter_gallery_total_size -0.5663% (arm), -0.5409% (arm64)
build_bench_total_size -2.533% (arm), -2.449% (arm64)
gesture_detector_total_size -4.183% (arm), -4.072% (arm64)

Change-Id: Ief8ebd0cd828c0e7a847a824f44d2d97a3595b87
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121901
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2019-10-17 20:34:46 +00:00
Mayank Patke
03d6e042af [dart2js] Fix printing of minified closures.
https://dart-review.googlesource.com/c/sdk/+/113904 previously "fixed"
printing for the old RTI by only using the new implementation if
USE_NEW_RTI was passed. This change fixes the root cause of the printing
failures, so we can fully switch to the new implementation.

Change-Id: Iaca56566ebebbaaad15d312c3e57204859417a9a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121903
Commit-Queue: Mayank Patke <fishythefish@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-10-17 20:31:16 +00:00
Sam Rawlins
8a92058226 Support omitted name args; fix as-expressions, refactor tests
Fixes #38919

Change-Id: Ia302e7d56aa20ebd1d9b7afa8ceda249ba31015b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122021
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2019-10-17 20:19:46 +00:00
Liam Appelbe
45358c5834 [vm] Implementation of NullCheck for bytecode
Bug: https://github.com/dart-lang/sdk/issues/38840
Change-Id: I56af108096355a0486d45f88e795908ce712db4b
Fixes: https://github.com/dart-lang/sdk/issues/38840
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121904
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Liam Appelbe <liama@google.com>
2019-10-17 19:18:26 +00:00
Martin Kustermann
62283b9d3f [vm] Bump ABI version to make vm-dartkb-linux-release-x64-abi green again
Change-Id: I214d850206e103265fcbd213899d615f9cab7afc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121990
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-10-17 18:19:10 +00:00
Alexander Markov
20f9d4d456 [vm,bytecode] Omit initialization of delayed type arguments for non-generic closures
Delayed type arguments are only used by generic closure functions, so
their initialization can be omitted for non-generic closures.

This is the follow-up for 1f58504ee6.

Change-Id: I61b05a4a4e2af4d2d8a543f6eec985a47b811761
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121924
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2019-10-17 17:53:50 +00:00
Konstantin Shcheglov
1c2dc77f64 Issue 38947. Support for then/else widgets in ConditionalExpression.
Bug: https://github.com/dart-lang/sdk/issues/38947
Change-Id: Iec498eb9368d1090e8ba9e2221d00205df1ac746
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121925
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-10-17 17:49:16 +00:00
Daco Harkes
d2b39d1a07 [cfe/ffi] asFunction/fromFunction variance in CFE + regression test
Issue: https://github.com/dart-lang/sdk/issues/37385

Change-Id: I0a0704f3513bf8de802e7481d813f72678837e0b
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try,vm-ffi-android-debug-arm64-try,dart-sdk-linux-try,analyzer-win-release-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107511
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-10-17 17:44:06 +00:00
Alexander Markov
882a6b57d2 Enable bytecode in AOT compilation pipeline
Change-Id: I3f1bb7d56522cf5dfedf68c022fbed59c3d04717
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118103
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-10-17 17:22:12 +00:00
Artem Serov
b4ad2f2545 [vm/compiler] ARM64: Improve shifts assembly instructions.
Use asr/lsr/lsl instructions instead of add ZR with shifted
operand as those are prefered instructions for Arm.

Change-Id: Ice2629bf5a23a745c3bf5138d8a220f7522dca52
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121710
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Aart Bik <ajcbik@google.com>
2019-10-17 17:19:32 +00:00
Artem Serov
9ae7b10cea [vm] Fix a bug in Utils::NBitMask.
The function was broken on arm64 due to incorrect
mask calculation (based on the target ISA).

Change-Id: Ib5c26bf4c7b901ae27f2a0580c4f88b2b7952212
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121709
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Aart Bik <ajcbik@google.com>
2019-10-17 17:19:32 +00:00
Nicholas Shahan
ba728b1368 [dartdevc] Copy nnbd subtype test to run on nnbd strong configurations
Remove shards from builder configuration for now because there is currently only
one test.

Change-Id: I5dcce5601ed46e36b28f9cab9bede1d81c1a42ba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121865
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2019-10-17 17:10:22 +00:00
Alexander Markov
4dc1901cdb [vm,bytecode] Write closure attributes separately
There are could be conflicts in inferred types attributes between
function and its closures, so attributes for closures should be
written separately.

Change-Id: Iae395d73fdc2dfcb6b55137176f198f02e9b079b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121907
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2019-10-17 17:07:32 +00:00
Ryan Macnak
ecd7977928 [vm] Fix gcc build.
Change-Id: I8a0a9a695403dc6d048dccb9f33642d70cc5d588
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121866
Reviewed-by: Liam Appelbe <liama@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-10-17 16:51:32 +00:00
Alexander Aprelev
411bd6247b [isolate] Fix delete () call to operator delete form.
This is follow-up to 9e636b5ab4.

Change-Id: Ia167e9faea9b3085fdc1076666d05360646153e9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121942
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2019-10-17 16:43:42 +00:00
Paul Berry
00dc546586 Migration: make more use of .isNullAware throughout migration engine.
Change-Id: Iffc3f1291574450847402571c36fa7881c84de03
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121961
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-10-17 16:09:30 +00:00
Paul Berry
dce3d0591f Migration: Fix three broken FixBuilder unit tests.
These tests were all broken due to incorrect nullabilities in a
generic class method.  The brokenness was masked by issue #38900,
which was fixed in 1b044eec08.

Change-Id: Ib77c437ae147afd10cc46e0685db25ce844bd99b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121960
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-10-17 16:09:30 +00:00
Paul Berry
8eb28a4817 Migration: add simple MethodInvocation support to FixBuilder.
Change-Id: Ice76583076a3f38d1cc0f9a3aacbac630a9a97c0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121763
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-10-17 16:09:30 +00:00
Paul Berry
7d4bc6a1df Fix handling of null awareness in cascade expressions.
Change-Id: Id8f9f45d04bac135c516e543542991c4cb4a0c16
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121909
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-10-17 16:09:30 +00:00
Ben Konyi
4e449069f2 [VM] Skip verbose_gc_to_bmu_test on precompiled configs
Change-Id: I3ad60a97543369e18c39b62bdb8cc098a5dd2fe8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121943
Reviewed-by: Alexander Aprelev <aam@google.com>
2019-10-17 15:58:28 +00:00
Paul Berry
ca9671f34d Migration: add isUpstreamTriggered getter
It would have been very useful in helping to track down
https://github.com/dart-lang/sdk/issues/38341#issuecomment-542892773
to have this information surfaced through the instrumentation output.

Specifically, it would be nice if the user could hover over a type
annotation that was *not* made nullable due to a propagationStep whose
`reason` was `StateChangeReason.upstream`, and see information about
all the edges for which the `sourceNode` corresponds to that type and
`isUpstreamTriggered` returns `true`.  These are, in effect, the edges
that prevented the type from being marked nullable.

(Note that there's another possible reason a type might not be marked
nullable.  It might be that there are no edges for which the
`destinationNode` corresponds to that type and `isTriggered` returns
`true`.  In this case, the node is indeterminate, so the migration
engine left it as non-nullable because there was no need to make it
nullable).

Change-Id: I9b969201b813496d41f3a373454c2659f683178d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121941
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-10-17 15:52:11 +00:00
Ryan Macnak
7eeaeade6b Reland "Update BoringSSL to 4dfd5af70191b068aebe567b8e29ce108cee85ce."
Change-Id: I7bdc0f0d55af2ecced789f1aa8f37b804641eaf4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121887
Reviewed-by: Jonas Termansen <sortie@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-10-17 15:39:40 +00:00
Vyacheslav Egorov
1f58504ee6 [vm/compiler] Do not initialize delayed_type_arguments_ for non-generic closures
This field is only used to implement partial instantiation of generic
closures - so it is irrelevant in non-generic ones.

Keeping it null instead of empty_type_arguments allows to completely
elide a store (which saves around 2 instructions per closure allocation)

Change-Id: I1039993a1cfd1bc4b476214712d90b2c443e7cc6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121983
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-10-17 15:25:30 +00:00
Sam Rawlins
680a880c10 Move string utils from services/correction to utilities; more generally used
Change-Id: Idb81b54fe380e6af00af5ddee3977705ff58c741
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121912
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2019-10-17 15:04:00 +00:00