Commit Graph

64479 Commits

Author SHA1 Message Date
Paul Berry 53de6054d9 Add a missing migration test case for binary expression
Change-Id: I996976d2247b3b19670f02dd9d3577cc7d8c1fdc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104800
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-06-04 13:49:29 +00:00
Vijay Menon 3b5a187726 [dartdevc] move ddc internal libraries under sdk
Note, this has the effect of including all DDC Dart sources with the
shipped SDK: we ship everything under sdk/lib.

This should enable https://github.com/dart-lang/build/issues/2262

Change-Id: If66bc7c620034e7f2acf7d2c3e9524a408417681
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104383
Commit-Queue: Vijay Menon <vsm@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-06-04 13:47:29 +00:00
Danny Tuppeny 9a3478ac20 Add support + tests for closing labels
Change-Id: I415a352010044d3b4aeb156d9d11dbbd94e86461
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104782
Commit-Queue: Danny Tuppeny <dantup@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-06-04 13:35:57 +00:00
Danny Tuppeny 0200a1e7b2 Extract LSP initializationOptions into a class
Change-Id: I50402bb75f51a771931d9b5255b7b9207d0f316b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104761
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2019-06-04 13:35:17 +00:00
Kevin Millikin bd60fa1ad5 [cfe] Write constant field initializers into outlines
For constant field initializers, compile the initializer expression
to Kernel, perform local type inference, and perform necessary
rewrites during outline construction.  This will support constant
evaluation during separate compilation.

Change-Id: I65fe601595c04c45d586d0bac97c2ade6ab15a90
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104564
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
2019-06-04 13:14:29 +00:00
danrubel 0915db5168 first cut experimental flag declaration file
Change-Id: I3acbd05e49985f0c01f775e6fef5743882be5b10
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104021
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2019-06-04 12:14:09 +00:00
Jens Johansen 422553798e [incremental compiler] Don't process dill libraries twice
An internal benchmark via kernel worker of lots of outline
calculations in worker mode with reuse and the incremental compiler
(and lots of dill loaded dependencies) goes from ~160 seconds to ~150 seconds.

Change-Id: I80afa10caacef5e14e569928a1d421bd3e8ab342
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104003
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-06-04 11:33:29 +00:00
Sergey G. Grekhov 41d5cb53ed [co19] co19 roll (7bd9873fceb872aeb8c6ee69f14de7f7e7605e4e..c4a8862775188ecb25991b815e2f1f700b19d0cc)
2019-05-29 sgrekhov@unipro.ru Removed relative import in multitest
2019-05-29 sgrekhov@unipro.ru Fixes #365. Use a valid IPv6 URL
2019-05-28 sgrekhov@unipro.ru Fixes #363. More type alias tests added. Test self reference via type alias
2019-05-28 sgrekhov@unipro.ru Issue #363. More type alias tests added Test that alias can be used as a class member
2019-05-24 irina.arkhipets@gmail.com Issue #147: add/update tests for Language/Generics/Superbounded_types:
2019-05-24 sgrekhov@unipro.ru Issue #363. Type alias tests added for Classes/Constructors Test that alias name cannot be used as a constructor
2019-05-24 sgrekhov@unipro.ru Issue #363. Type alias tests added for Classes/Abstract Instance Members. Description of the existing tests updated
2019-05-23 sgrekhov@unipro.ru Type alias tests added for Classes/Constructors/Constant_Constructors (#363)
2019-05-22 irina.arkhipets@gmail.com New Language/Generics/Superbounded types added.
2019-05-22 sgrekhov@unipro.ru Type alias tests for Classes/Constructors/Factories
2019-05-22 irina.arkhipets@gmail.com New Language/Generics/Superbounded_types tests added
2019-05-21 irina.arkhipets@gmail.com Language/Generics tests updated according to the recent bugs evaluation.
2019-05-21 irina.arkhipets@gmail.com Delete useless test
2019-05-21 irina.arkhipets@gmail.com New Language/Generics tests added
2019-05-21 irina.arkhipets@gmail.com New Language/Generics tests added
2019-05-21 irina.arkhipets@gmail.com New Language/Generics tests added
2019-05-20 irina.arkhipets@gmail.com New Language/Generics tests added
2019-05-20 irina.arkhipets@gmail.com New Language/Generics tests added
2019-05-20 irina.arkhipets@gmail.com New Language/Generics tests added
2019-05-20 irina.arkhipets@gmail.com New Language/Generics tests updated
2019-05-17 sgrekhov@unipro.ru Type alias tests for classes/Constructors
2019-05-15 sgrekhov@unipro.ru Type alias tests for classes/Getters
2019-05-14 irina.arkhipets@gmail.com New Language/Generics tests added
2019-05-14 sgrekhov@unipro.ru spread-collections experimental flag removed
2019-05-14 sgrekhov@unipro.ru control-flow-collections experimental flag removed
2019-05-14 sgrekhov@unipro.ru Type alias tests for classes/Instance_Methods
2019-05-14 irina.arkhipets@gmail.com New Language/Generics tests added
2019-05-14 irina.arkhipets@gmail.com New Language/Generics tests added
2019-05-13 sgrekhov@unipro.ru nonfunction-type-aliases experimental flag added
2019-05-13 sgrekhov@unipro.ru nonfunction-type-aliases experimental flag added
2019-05-13 irina.arkhipets@gmail.com New Language/Generics tests added
2019-05-07 irina.arkhipets@gmail.com New Language/Generics tests added


Change-Id: Ic4001fdbffc07d6ebed0175a7a0c76d64c6d380a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104000
Reviewed-by: Alexander Thomas <athom@google.com>
2019-06-04 08:19:41 +00:00
Daco Harkes d3cb666ac9 [tools] add target os option to tools/generate_idefiles.py
Change-Id: I496a352376041718e09fda7edf8d68ebde0ac4ca
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104562
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
2019-06-04 08:13:38 +00:00
Paul Berry 0779751b82 Fix implementation of isDartCore and isDartAsync.
It's not sufficient to check the name of the library, since a
user-provided library could always name itself `dart.core` or
`dart.async`.

Change-Id: Id99cfc1ec89c5941e16b556e3c4dd175875a673f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104580
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-06-04 03:12:28 +00:00
Konstantin Shcheglov d24b407568 Add --use-summary2 flag to AnalysisServer.
So that we can start dogfooding it.

I noticed that we logged too much data, so I reworked what we
log in LibraryContext.

Currently performance will be subpar, due to using content hash as
file's API signature. So, any change to a file, even in a method
body will cause the whole library cycle (and everything that depends
on it) invalidation. I will implement computing API signatures for
parsed unit (hopefully reusing something already existing) in a
following CL.

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

Change-Id: Ifb77e29188484b6784edbaa6a6d5daca6800ef2a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104603
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-06-04 02:58:29 +00:00
Mike Fairhurst 55d3bbf13f Promote parameter of == to nullable when invoked.
This is required because otherwise

Object() == null

requires the type signature of Object.operator==(Object o) to be
changed to Object.operator==(Object? o). Which I don't think is the
behavior we want.

Confirmation that this CL is correct has been sent to the language
team. I recommend we land, which will unblock my subtyping CL, and
roll back/readdress later if need be.

Change-Id: I498f9870e7128b2cac3012fff0cb1ab50fcc8df7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104344
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2019-06-04 00:36:24 +00:00
Nate Bosch b080e7c97a Update to latest package:test
Change-Id: I01c691ab45a1a3aaa3eb384dbafb00d1b45fd13f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104642
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Nate Bosch <nbosch@google.com>
2019-06-03 23:12:40 +00:00
Liam Appelbe 5b72293f49 Reland "[vm] Create offsets_extractor tool."
This reverts commit 224f82c21c.

Reason for revert: Just need to split DBC section into 32 and 64 bit

Original change's description:
> Revert "[vm] Create offsets_extractor tool."
>
> This reverts commit 3015d79371.
>
> Reason for revert: Fails the Flutter build
> /b/s/w/ir/cache/builder/mac_sdk -mmacosx-version-min=10.12 -m32  -fno-strict-aliasing -fstack-protector-all -fcolor-diagnostics -Wall -Wextra -Wendif-labels -Werror -Wno-missing-field-initializers -Wno-unused-parameter -Wunguarded-availability -fvisibility=hidden -stdlib=libc++ -Wheader-hygiene -Wstring-conversion -Wthread-safety -O2 -fno-ident -fdata-sections -ffunction-sections -g2 -Werror -Wall -Wextra -Wno-unused-parameter -Wno-unused-private-field -Wnon-virtual-dtor -Wvla -Wno-conversion-null -Woverloaded-virtual -Wno-comments -g3 -ggdb3 -fno-rtti -fno-exceptions -Wimplicit-fallthrough -O3 -fvisibility-inlines-hidden -std=c++14 -fno-rtti -fno-exceptions  -c ../../third_party/dart/runtime/vm/dart.cc -o clang_x86/obj/third_party/dart/runtime/vm/libdart_vm_nosnapshot_with_precompiler.dart.o
> In file included from ../../third_party/dart/runtime/vm/dart.cc:9:
> ../../third_party/dart/runtime/vm/compiler/runtime_offsets_extracted.h:958:50: error: implicit conversion from 'long long' to 'const dart::word' (aka 'const long') changes value from 576460752303423487 to -1 [-Werror,-Wconstant-conversion]
> static constexpr dart::word Array_kMaxElements = 576460752303423487;
>                             ~~~~~~~~~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~
> ../../third_party/dart/runtime/vm/compiler/runtime_offsets_extracted.h:965:51: error: implicit conversion from 'long long' to 'const dart::word' (aka 'const long') changes value from 2305843009213693951 to -1 [-Werror,-Wconstant-conversion]
> static constexpr dart::word String_kMaxElements = 2305843009213693951;
>                             ~~~~~~~~~~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~
> 2 errors generated.
>
> Change-Id: Iaf509c6ee7a2ce75664935519ac02a933a9eb2bf
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104402
> Reviewed-by: Siva Annamalai <asiva@google.com>
> Commit-Queue: Siva Annamalai <asiva@google.com>
> Auto-Submit: Siva Annamalai <asiva@google.com>

TBR=asiva@google.com

Change-Id: Ibf749ceee274b03cdffa6d7ed46fcbe75d1a1e94
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104620
Reviewed-by: Liam Appelbe <liama@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Liam Appelbe <liama@google.com>
2019-06-03 22:14:16 +00:00
Nate Bosch 0241e40c15 Track Library URI for classes
Closes #36771

- Add getLibraryUri and setLibraryUri runtime utility.
- When emitting classes add a statement to set the library URI.

Change-Id: I8974c7fdd4d9986f27a35f116d9881af043c0c9c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104641
Reviewed-by: Jake Macdonald <jakemac@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Nate Bosch <nbosch@google.com>
2019-06-03 21:47:17 +00:00
Vijay Menon 69063ab552 [dartdevc] automatically find d8 in ddb
Also remove stale files

Change-Id: Ie3004a3c7f30148459caa1a4b08d909c08484eca
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104420
Commit-Queue: Vijay Menon <vsm@google.com>
Auto-Submit: Vijay Menon <vsm@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
2019-06-03 20:02:46 +00:00
Sigmund Cherem 1045ef1ceb Use generic test runner to log data using the test infrastructure jsonl format
Mostly this is adding an abstraction so we can produce the jsonl files that will
allow us to track the status of each test individually.

On a separate CL I'll be moving the tests out of the current unit tests into
their own step in the test matrix.

Change-Id: Id4537db1458949370195124164b120b49a7a526c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104384
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-06-03 19:16:49 +00:00
Brian Wilkerson 34a45de500 Add support for representing nullable function-typed parameters
Change-Id: Ia667236d5d60bb5c1aca7fc0747702f244182a19
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104621
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-06-03 19:06:09 +00:00
Konstantin Shcheglov c54eac55ad Reuse field tails/offsets in VTable instances.
So, that we don't have to allocate these lists for each instance.
This makes it cheaper to have serialize more objects.

In a synthetic performance test, where we turn IDL builders into
bytes 100 times, this improves time to bytes from 45 to 34 seconds.

R=paulberry@google.com

Change-Id: Ie8c9a8ed01b4c0d4abeba96ed5e99bd430f9309d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104600
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-06-03 18:28:19 +00:00
Mike Fairhurst 15e6c0bca9 Fix Never? in two ways: print ? in diagnostics, and don't set on element.type
Change-Id: I3f846f18c2c52d459c6876de108e9228f1082747
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104341
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-06-03 18:01:38 +00:00
Konstantin Shcheglov d63466041c Issue 131596231. Suggest names for SimpleFormalParameter(s).
R=brianwilkerson@google.com, jwren@google.com

Change-Id: I9074ef1a5aaeee32303dcf247c2be86f9c173d14
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104460
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Jaime Wren <jwren@google.com>
2019-06-03 17:34:18 +00:00
Konstantin Shcheglov bb6e558534 Restore explicit SimpleIdentifier.
It does not look that using name/nameOffset saves us much.

R=brianwilkerson@google.com

Change-Id: I00c297d64399ad1027a5ff0c2b8d7c757b190b78
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104520
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-06-03 17:01:51 +00:00
Konstantin Shcheglov ef62349c6d Turn on useSummary2 in build mode only temporary when computing errors.
We don't want to keep it on while building summary1, because there
are changes in type manipulations that depend on it.

R=brianwilkerson@google.com

Change-Id: I4f84860ec197eb8f40dba80ecb51868f3d48e5e4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104421
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-06-03 16:13:44 +00:00
Paul Berry 578629ad26 Add migration support for property accesses.
Also made some minor improvements to the handling of method calls.

Change-Id: I8728a7901cfe61f88563b71e290e9d5b303afda1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104486
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-06-03 14:51:34 +00:00
Paul Berry b1e28691d1 Only create hard edges for local variable/parameter references.
Exception: also create hard edges for the relation between a type
argument and the corresponding type parameter bound, because that
can't be fixed by a null check.
Change-Id: I71b21ddb11c1bb1060cb6f13efde13855770e2b5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104485
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-06-03 14:51:34 +00:00
Paul Berry 8776bdbf42 Rename migration visitors to reflect terminology in the design doc
Change-Id: I9e554356032700bbbac93df4e754fa1fc1c67041
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104484
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-06-03 14:51:34 +00:00
Samir Jindel 8cbb11cc55 [vm/ffi] FFI callbacks on ARM32.
Please see go/dart-ffi-callbacks for design context and motivation.

Change-Id: Ie5edcb8837157c679954a670fb19d545e22fec69
Cq-Include-Trybots: luci.dart.try:vm-kernel-linux-debug-simdbc64-try, vm-kernel-linux-release-simdbc64-try, vm-kernel-mac-debug-simdbc64-try, vm-kernel-mac-release-simdbc64-try, vm-kernel-reload-mac-debug-simdbc64-try, vm-kernel-reload-mac-release-simdbc64-try, vm-kernel-linux-debug-ia32-try, vm-dartkb-linux-debug-simarm64-try, vm-kernel-win-debug-ia32-try, vm-ffi-android-debug-arm-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101828
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Aart Bik <ajcbik@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
2019-06-03 14:36:04 +00:00
Martin Kustermann a6bbc58d09 [vm] Ensure C-struct is initialized to guarantee nullptr in Dart_KernelCompilationResult.kernel
A number of places in the code will free `Dart_KernelCompilationResult.kernel`
if non-nullptr even if `Dart_KernelCompilationResult.error` is non-nullptr.

Normally the two are mutually exclusive (either `error` is set or `kernel` is set) but
some code frees both if they are non-null.

This issue has caused free() of uninitialized memory which in return
caused some of our benchmarks to break.

Change-Id: Ie65a0c51a32a3616361f3852c13c859e560285b5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104563
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2019-06-03 13:12:13 +00:00
Jonas Termansen ee4acdef7e [dart:_http] Fix HttpClientResponse.certificate throwing on insecure connections.
HttpClientResponse.certificate is documented to be null on a insecure
connection:

> HttpClientResponse's X509Certificate get certificate:
>
> Returns the certificate of the HTTPS server providing the response.
> Returns null if the connection is not a secure TLS or SSL connection.

However, it instead throws an UnsupportedException as of Dart 2 due to an
oversight during refactoring. This change restores the original behavior.

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

Change-Id: I1ef22fe3d7165ec876d22309d8aa4316d94c5576
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103843
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Jonas Termansen <sortie@google.com>
2019-06-03 12:12:47 +00:00
Kevin Millikin 907f31e6de Reland "[cfe] Build some annotations during outlining"
Reland the change to build some annotations during outlining, with a
bug fix.  Annotations from patch classes and procedures were not
applied to the actual class or procedure, which is fixed.

The original commit was reviewed at
https://dart-review.googlesource.com/c/sdk/+/103806

The revert was reviewed at
https://dart-review.googlesource.com/c/sdk/+/104220

The original commit message was:

    During the outline phase, after top-level type inference, compile
    annotations for libraries, classes, fields, procedures, and
    constructors.

Change-Id: I836160ddad4114ded72701e8a3938f703228931c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104560
Commit-Queue: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-06-03 10:20:15 +00:00
Paul Berry e31af09992 Remove NullabilityMigrationAssumptions class.
This was a lot of bookkeeping for very little added value.  If we want
to experiment with changing the behavior of the migration tool in the
future, we should experimentally change it and see whether the quality
of the migration improves; it's not worth speculatively keeping
multiple behaviors around while the tool is being developed.

Change-Id: I9a59e2626be7e9e84a937e287421abcdc971aba5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104482
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-06-03 02:20:26 +00:00
Paul Berry 709df79404 Clean up logic to decide whether to create hard edges
Previously we were creating hard edges for the default values of
optional parameters.  This was incorrect; we don't want a hard edge
because we don't want evidence of non-nullability to propagate
upstream from an optional parameter to the const expression that sets
its default value.

Change-Id: I44e12ae96987fd7a9defc538b0704cf76262473f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104500
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-06-03 02:20:26 +00:00
Paul Berry 01694dcca1 Handle nullability nodes for dynamic types more cleanly.
Rather than use an edge from `always` to ensure that these nodes are
nullable (which is error prone since it could be overridden by an
assertion), we simply place these nodes in the ordinary nullable state
at the time they are created.

As a side effect we can reduce the amount of code we have to plumb the
nullability graph through.

Change-Id: I46cf5b2026aeb2917cb35a7ad0d36a0a0562ecc5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104481
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-06-03 02:20:26 +00:00
Paul Berry 9aa88b1168 Add a const bool to make it easy to enable dumping the nullability graph
Change-Id: I6fc5c5f78cf1665f2551206979ebb5246f03c998
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104480
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-06-03 02:20:26 +00:00
Paul Berry c229555d87 Rework the graph representation for the migration tool based on the design doc.
Change-Id: I1777042926f83cd2f95da6c6db315a8d49c64df1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104422
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-06-03 02:20:26 +00:00
Paul Berry ca84a69609 Modify NullabilityNode to allow the 4 possible states from the design doc.
Change-Id: Ic28867227ad6080d693eff7576335e0a15bbe178
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104440
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-06-03 00:00:05 +00:00
Todd Volkert ebbfc7d8ca Annotate new APIs with @Since
* HttpClientResponse.compressionState
* HttpClientResponseCompressionState

Bug: https://github.com/dart-lang/sdk/issues/37127
Change-Id: I1823156bc3545b87293dfa61471e8d5c97013cdc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104483
Commit-Queue: Kevin Moore <kevmoo@google.com>
Reviewed-by: Kevin Moore <kevmoo@google.com>
2019-06-02 21:17:54 +00:00
Konstantin Shcheglov 2c4a2237d2 Disable search.getDeclarations with summary2.
It is unlinked summary based, we don't support it with summary2.
So, to not crash we return the empty list.

R=brianwilkerson@google.com

Change-Id: Ic220ae3526a3a3e2f06c60b4e25d7e7cef69af60
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104201
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-06-01 18:21:48 +00:00
Konstantin Shcheglov 519ddc1ac4 Document that AVAILABLE_SUGGESTION_SETS also turns on existingImports.
R=brianwilkerson@google.com

Change-Id: I053c68eb541358f0bbd891ca16f1c5628e701096
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104342
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-06-01 17:27:03 +00:00
Konstantin Shcheglov 577ab8d631 Issue 37129. Check for missing importedLibrary.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/37129
Change-Id: I60f5c1382cdb19988e786fff81e8450a6de3888c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104360
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-06-01 17:26:41 +00:00
Zach Anderson d4d9f0afaa [vm,dart:io] Check for socket connection success
Prior to this change, connection errors such as "Connection refused"
etc, are caught either by some error condition being detected by
the eventhandler thread and that error condition being propagated
to the Dart thread, or by the first read or write after a
"successful" connection failing with an error.

However, posix documentation for non-blocking sockets recommends
either checking getsockopt(SO_ERROR), or calling connect() a
second time following the first write event on a socket after
the first connect call returns EINPROGRESS.

On Fuchsia, this check is mandatory because errors like
"Connection refused" are neither signaled on the socket's
underlying OS handle, nor indicated by error returns from
read() and write().

This change adds the check, which is optional on other platforms,
but mandatory on Fuchsia, to the Dart socket connection loop
after the first write signal is asserted.

Change-Id: I8aeea4665913f79e8138bdd830676ae43066a959
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104263
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2019-06-01 01:52:47 +00:00
asiva 224f82c21c Revert "[vm] Create offsets_extractor tool."
This reverts commit 3015d79371.

Reason for revert: Fails the Flutter build
/b/s/w/ir/cache/builder/mac_sdk -mmacosx-version-min=10.12 -m32  -fno-strict-aliasing -fstack-protector-all -fcolor-diagnostics -Wall -Wextra -Wendif-labels -Werror -Wno-missing-field-initializers -Wno-unused-parameter -Wunguarded-availability -fvisibility=hidden -stdlib=libc++ -Wheader-hygiene -Wstring-conversion -Wthread-safety -O2 -fno-ident -fdata-sections -ffunction-sections -g2 -Werror -Wall -Wextra -Wno-unused-parameter -Wno-unused-private-field -Wnon-virtual-dtor -Wvla -Wno-conversion-null -Woverloaded-virtual -Wno-comments -g3 -ggdb3 -fno-rtti -fno-exceptions -Wimplicit-fallthrough -O3 -fvisibility-inlines-hidden -std=c++14 -fno-rtti -fno-exceptions  -c ../../third_party/dart/runtime/vm/dart.cc -o clang_x86/obj/third_party/dart/runtime/vm/libdart_vm_nosnapshot_with_precompiler.dart.o
In file included from ../../third_party/dart/runtime/vm/dart.cc:9:
../../third_party/dart/runtime/vm/compiler/runtime_offsets_extracted.h:958:50: error: implicit conversion from 'long long' to 'const dart::word' (aka 'const long') changes value from 576460752303423487 to -1 [-Werror,-Wconstant-conversion]
static constexpr dart::word Array_kMaxElements = 576460752303423487;
                            ~~~~~~~~~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~
../../third_party/dart/runtime/vm/compiler/runtime_offsets_extracted.h:965:51: error: implicit conversion from 'long long' to 'const dart::word' (aka 'const long') changes value from 2305843009213693951 to -1 [-Werror,-Wconstant-conversion]
static constexpr dart::word String_kMaxElements = 2305843009213693951;
                            ~~~~~~~~~~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~
2 errors generated.

Change-Id: Iaf509c6ee7a2ce75664935519ac02a933a9eb2bf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104402
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
Auto-Submit: Siva Annamalai <asiva@google.com>
2019-06-01 00:51:58 +00:00
danrubel 6f2f92f578 improve extension method declaration recovery
Address comment in https://dart-review.googlesource.com/c/sdk/+/103580

Change-Id: Ie92e4fa752eaf851fec9465565d640524b569760
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104320
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-05-31 23:30:25 +00:00
Alexander Markov 0e6b74543c Revert "[vm/kernel] Use GC-tracked ExternalTypedData/TypedDataView for kernel buffers"
This reverts commit ab6aeaa106.

Revert "[vm/compiler] Speed up the compiler part which deals with kernel reading up in DEBUG mode"

This reverts commit b316210d94.

Reason for revert: regression of snapshot sizes (DNO-599).

Original change's description:
> [vm/kernel] Use GC-tracked ExternalTypedData/TypedDataView for kernel buffers
>
> Until now we often leaked kernel buffers (e.g. hot reload buffers) because various
> objects were referencing ExternalTypedData objects pointing into the middle of
> c-allocated memory. This made it impossible for the GC to determine when the last
> reference is gone.
>
> This CL ensures that the actual buffers are *always* made available via
> ExternalTypedData and any inner pointers into it are created via TypedDataViews.
>
> The embedder guarantees to the free kernel buffers it has provided to:
>     - Dart_CreateIsolateFromKernel
>     - Dart_LoadScriptFromKernel
>     - Dart_LoadLibraryFromKernel
>     - Dart_SetDartLibrarySourcesKernel
> on isolate shutdown.
>
> All other kernel buffers will get a finalizer attached, which ensures the
> kernel buffers get freed by the GC once they are no longer referenced:
>     - Kernel blobs for expression evaluation
>     - Kernel blobs for Hot-Reload
>     - Kernel blobs for cc tests
>
> Fixes https://github.com/dart-lang/sdk/issues/33973
> Fixes https://github.com/dart-lang/sdk/issues/36857
> Issue https://github.com/dart-lang/sdk/issues/37030
>
> Change-Id: I1cc410c94c0f4b229413e793728a261afcb10aaf
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103130
> Reviewed-by: Ryan Macnak <rmacnak@google.com>
> Commit-Queue: Martin Kustermann <kustermann@google.com>

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

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I49715d2400f4a5c8806b7d6a2912b7258f671a0a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104343
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Auto-Submit: Alexander Markov <alexmarkov@google.com>
2019-05-31 22:15:51 +00:00
Alexander Markov 250f3d2e56 [gardening] Attempt to repair red HHH bot, take 3
OK, this time the patch was applied.

However, there are still compile-time errors as HttpClientResponseCompressionState
was not imported into create_test.dart:

org-dartlang-app:///test/commands/create_test.dart:1176:3: Error: Type 'HttpClientResponseCompressionState' not found.
  HttpClientResponseCompressionState get compressionState {
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
org-dartlang-app:///test/commands/create_test.dart:1177:12: Error: Getter not found: 'HttpClientResponseCompressionState'.
    return HttpClientResponseCompressionState.decompressed;
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
org-dartlang-app:///test/commands/create_test.dart:1177:12: Error: The getter 'HttpClientResponseCompressionState' isn't defined for the class 'MockHttpClientResponse'.
 - 'MockHttpClientResponse' is from 'org-dartlang-app:///test/commands/create_test.dart'.
Try correcting the name to the name of an existing getter, or defining a getter or field named 'HttpClientResponseCompressionState'.
    return HttpClientResponseCompressionState.decompressed;
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

This change should fix these errors.

Change-Id: I58b7ca97b2181fe04b4169a11a47173e63c3b865
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104381
Reviewed-by: Todd Volkert <tvolkert@google.com>
2019-05-31 22:00:39 +00:00
Régis Crelier cddf2bbdfe [vm/debugger] Support debugging of interpreted frames.
Change-Id: Iaf59e6ed887ed973fcfc7f1c414ad52ef98f01d7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100270
Commit-Queue: Régis Crelier <regis@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2019-05-31 21:40:32 +00:00
Alexander Markov 0e07987ccd [gardening] Attempt to repair red HHH bot, take 2
This is the 2nd attempt to repair HHH bot after
https://dart.googlesource.com/sdk/+/aa2ce7cfbfaca5439b86b6ee4ad503691b8ce0ac

Patch is renamed to the pinned Dart SDK hash, and flutter-flutter/apply.sh
script is changed to pick up patches using both engine and dart hashes.

Change-Id: I5cfbe65aeacb48eb76bcfbcb1eaa97795601c9fc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104340
Reviewed-by: Todd Volkert <tvolkert@google.com>
2019-05-31 19:49:13 +00:00
Mike Fairhurst c5e03e5cce Fix tests that assign null to non-null locations
Change-Id: I3cda901d3645f162ddc60e071b0eaa46d06c356b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104284
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-05-31 18:57:35 +00:00
Konstantin Shcheglov 9d4649a44c Set context type for downward inference in constants.
R=brianwilkerson@google.com

Change-Id: Ifca9953d970906c7291c32f8db6f4d294429cce9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104283
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-31 18:31:44 +00:00
Alexander Markov 7ae22b9394 [gardening] Attempt to repair red HHH bot
Moving corresponding patch file from engine hash to Dart SDK hash
as engine gets rolled into Flutter and engine hash becomes outdated.

Change-Id: I910427b8ee2e4ee5356234a7fd94155ea66d7dd3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104285
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Auto-Submit: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Todd Volkert <tvolkert@google.com>
2019-05-31 17:42:04 +00:00