Commit graph

61112 commits

Author SHA1 Message Date
Sam Rawlins e285f75bbe Fix dart:html and other entries in CHANGELOG:
* Fixed big rendering bug where the entire CHANGELOG was indented at
  the dart:html bulleted list, because of an un-coded `<Object>`, which
  is an HTML tag. See
  5b1daaac6c/CHANGELOG.md
* Markdown link references were not referred to.
* Wrapped everything at 80-chars.

Change-Id: I9698efe7cda175ed50c2c85018f438c5717048a8
Reviewed-on: https://dart-review.googlesource.com/c/90126
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Terry Lucas <terry@google.com>
2019-01-20 00:33:25 +00:00
pq f87dd91844 remove defaults from the lint rule registry
Fixes: https://github.com/dart-lang/sdk/issues/35708

Change-Id: I619a3ec5533f85c8f0b1e5c017c5cd8f1b422fbd
Reviewed-on: https://dart-review.googlesource.com/c/90360
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2019-01-20 00:05:02 +00:00
Danny Tuppeny 16bcfbb104 Add deprecated_member_use_from_same_package to generated LSP ignores
Change-Id: I553dee00f08b8d84c4ba71ffb9dffbe1b262192c
Reviewed-on: https://dart-review.googlesource.com/c/90244
Auto-Submit: Danny Tuppeny <dantup@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-01-19 18:14:58 +00:00
Martin Kustermann cc9607b04c [VM/AOT] Make trampolines look like free list elements to enable heap walking
Issue https://github.com/dart-lang/sdk/issues/33274

Change-Id: Ib6afdbc80012326134d409c4065a680d67de3ed8
Reviewed-on: https://dart-review.googlesource.com/c/90064
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2019-01-19 13:37:09 +00:00
Régis Crelier 38a7f0097f [vm/finalizer] Stop background compiler before sorting classes.
Prevent background compiler from adding deferred classes or canonicalizing
new types while classes are being sorted and type hashes are modified.
This should fix issue #34627 and its duplicate #35690.


Change-Id: I3e52602e77ad6b80b58f5292721c01eea22abfb0
Reviewed-on: https://dart-review.googlesource.com/c/90300
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Régis Crelier <regis@google.com>
2019-01-18 23:08:21 +00:00
Devon Carew b0b055541b Make Script.tokenPosTable optional.
Change-Id: I681f6c3c762e16a2eff8a9aac1d680856aa94935
Reviewed-on: https://dart-review.googlesource.com/c/90321
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2019-01-18 22:46:23 +00:00
asiva 292ce7a1b8 Fix build breakage.
Change-Id: I54b7545831d2d3d8bf82b0d8611aff8bce4ae1bc
Reviewed-on: https://dart-review.googlesource.com/c/90323
Auto-Submit: Siva Annamalai <asiva@google.com>
Reviewed-by: Liam Appelbe <liama@google.com>
Commit-Queue: Liam Appelbe <liama@google.com>
2019-01-18 21:50:53 +00:00
Janice Collins 193b0a72e0 Update to dartdoc 0.28.0.
Dependency on mustache4dart replaced with mustache (1.1.0)

Release notes:  https://github.com/dart-lang/dartdoc/releases/tag/v0.28.0

Change-Id: I767b5d4b032e4e0bfe9b5d8e43d61c4c360ff370
Reviewed-on: https://dart-review.googlesource.com/c/89920
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Janice Collins <jcollins@google.com>
2019-01-18 19:45:18 +00:00
Zichang Guo 970390a36e Add field evaluation to source report generation
Change-Id: I62808852a35ef53c05ac1ea715d4559db46bb3d5
Reviewed-on: https://dart-review.googlesource.com/c/89173
Commit-Queue: Zichang Guo <zichangguo@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-01-18 19:15:44 +00:00
Rick Earnshaw 5724158d58 Use the crossorigin attribute of the main script on deferred hunks.
If the main script is loaded using a CORS request the deferred hunks
will be as well preventing errors from being muted.

Bug: 35594
Change-Id: I3283307b5d9e1d6708a4808e1e3fd7689a672a9b
Reviewed-on: https://dart-review.googlesource.com/c/89141
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-01-18 19:08:44 +00:00
Stephen Adams aeaf82577e dart:html: Add Element.removeAttribute
- Improve `element.attributes.remove(name)` to compile to `element.removeAttribute(name)`.
- Improve `element.getNamespacedAttributes(namespace).remove(name)` to compile to
  `element.removeAttributeNS(namespace, name)`.
- Add removeAttribute[NS].
- Add hasAttriute[NS].
- Assert attribute names are not null to prevent conversion to "null"/"undefined".
- TODO: Assert values are not null to prevent conversion to "null"/"undefined".
- namespaceURI does not need checking since null and undefined map to 'no namespace'.

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

Change-Id: Ie5bee23c88e8fb92f9d46f29fdf4b7f3175a2aa3
Reviewed-on: https://dart-review.googlesource.com/c/90160
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Terry Lucas <terry@google.com>
2019-01-18 19:06:24 +00:00
asiva df7823aa7d [VM] Enable set literal tests in dartk mode.
Change-Id: I9bb0d16c9fd9d8ec4b69804d197bf035dfa9939d
Reviewed-on: https://dart-review.googlesource.com/c/90122
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-01-18 18:29:29 +00:00
Ben Konyi 2e5453ddb4 [ VM ] Updated licenses to match other licenses in project
Change-Id: I0848e49c63de5a6a6385fa926e7d5550d9a41c1d
Reviewed-on: https://dart-review.googlesource.com/c/90301
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-01-18 18:23:26 +00:00
Brian Wilkerson 3d71abcada Prepare to publish a new version of the analyzer_plugin package with an updated dependency on analyzer
Change-Id: Ie4aab1867300e132511f2198e9358fa4d0f74cee
Reviewed-on: https://dart-review.googlesource.com/c/90260
Auto-Submit: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
2019-01-18 18:03:40 +00:00
Brian Wilkerson ebf319b64b Clean up some lingering references to type propogation
Change-Id: I931ab74af0f31a0fc70463bc8e03c960306b7628
Reviewed-on: https://dart-review.googlesource.com/c/90280
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Auto-Submit: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-01-18 18:01:30 +00:00
Martin Kustermann be47aad327 [VM/Compiler/AOT] Bare instructions 9: Improve write barrier on ARM/ARM64/X64
ARM write barrier goes from

   ldrne lr, [thr, #+508]
   blxne lr
to
   blne <offset>

ARM64 write barrier goes from (similarly X64)

   beq +8
   ldrx lr, [thr, #1056]
   blr lr
to
   beq +4
   bl <offset>

It reduces RX on arm/arm64 by around 0.9%

Though the write barrier wrappers stub has multiple entrypoints (one for
each available register).  Because of this, we modify the relocation
logic to support per-call offsets into the target.

To avoid making the assembler code depend on StubCode/FlowGraphCompiler,
we set a closure, which the assembler can call.

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

Change-Id: I9e3d68260cab7ef19ea88f1235c78d6031819d6d
Reviewed-on: https://dart-review.googlesource.com/c/90063
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2019-01-18 16:13:17 +00:00
Daco Harkes 10f63f806d [gardening] Mark io/stdout_stderr_non_blocking_test flaky on x64
Issue: https://github.com/dart-lang/sdk/issues/35192
Change-Id: I6af9b935ba2fffbb32c854c36c3888df0258490d
Reviewed-on: https://dart-review.googlesource.com/c/90228
Auto-Submit: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
Commit-Queue: Samir Jindel <sjindel@google.com>
2019-01-18 14:54:53 +00:00
Peter von der Ahé 8b214f4d72 Restore type parser from reify project
Change-Id: Ic347890a4146cadb3ad1b6049b562350903505e7
Reviewed-on: https://dart-review.googlesource.com/c/89660
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2019-01-18 14:09:08 +00:00
Peter von der Ahé 65dde13f1b Don't check formatting of Front-End test cases
Change-Id: Ie3e55422dc891f3ba37df887f5c96751669dd4cc
Reviewed-on: https://dart-review.googlesource.com/c/90224
Commit-Queue: Peter von der Ahé <ahe@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
Auto-Submit: Peter von der Ahé <ahe@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2019-01-18 13:18:55 +00:00
Dmitry Stefantsov 53217e6eb1 [kernel] Add ability to (de)serialize DirectMethodInvocation
Change-Id: I52371f85a76cf7c7422365052b248229a22a9287
Reviewed-on: https://dart-review.googlesource.com/c/89529
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Daniel Hillerström <hillerstrom@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2019-01-18 13:15:44 +00:00
Dmitry Stefantsov 5048889c54 [kernel] Add ability to (de)serialize StaticInvocation
Change-Id: I63aaa041dc939ae6199cd48593dfa7ccd6415559
Reviewed-on: https://dart-review.googlesource.com/c/89528
Reviewed-by: Daniel Hillerström <hillerstrom@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2019-01-18 13:15:44 +00:00
Dmitry Stefantsov 7ea2dfad20 [kernel] Add ability to (de)serialize DirectPropertySet
Change-Id: I769941faa7b80eddb5a9c52f250191dca6c9ecd3
Reviewed-on: https://dart-review.googlesource.com/c/89527
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Daniel Hillerström <hillerstrom@google.com>
2019-01-18 13:15:44 +00:00
Dmitry Stefantsov 50c06c55ba [kernel] Add ability to (de)serialize DirectPropertyGet
Change-Id: Ie75b45601f898a8286c72e97e11e7c08b64c00e8
Reviewed-on: https://dart-review.googlesource.com/c/89526
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Daniel Hillerström <hillerstrom@google.com>
2019-01-18 13:15:44 +00:00
Dmitry Stefantsov 793fbc0d4a [kernel] Add ability to (de)serialize StaticSet
Change-Id: I1efa620f4dfad37f4cbcbca94e9fa12ca7bfd752
Reviewed-on: https://dart-review.googlesource.com/c/89586
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Daniel Hillerström <hillerstrom@google.com>
2019-01-18 13:15:44 +00:00
Sergey G. Grekhov 581af6eb56 [co19] DEPS and status file updated
Change-Id: Ifd19de6d5482d2d00736078cb1858ee0a7a37fd9
Reviewed-on: https://dart-review.googlesource.com/c/89151
Reviewed-by: William Hesse <whesse@google.com>
2019-01-18 12:53:04 +00:00
Peter von der Ahé b0017d758c Refer to correct locations in SDK (and other dill files)
Fixes https://github.com/dart-lang/sdk/issues/35559
Fixes https://github.com/dart-lang/sdk/issues/35558

Change-Id: I902273759c6d3076779ccf120a79fd972d939827
Reviewed-on: https://dart-review.googlesource.com/c/90181
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2019-01-18 12:37:24 +00:00
Erik Ernst da6938a5b2 After some more git cl uploads, this fixes a bunch of
little problems in the spec that we have noted over time.

Fixed a couple of LaTeX mistakes; adjusted FutureOr section

The 'Type FutureOr' section was adjusted in order to avoid duplicate
subtype rules (the ones that we have had in section 'Type FutureOr'
until now are duplicates of rules in \ref{subtypeRules}).
Also changed the name of \basetype to \futureOrBase, because the former
is too generic to be helpful for readers.

Change-Id: I8d83cf1a0af275a930fbbb94cf59a9d758066583
Reviewed-on: https://dart-review.googlesource.com/c/90061
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2019-01-18 11:04:12 +00:00
Kevin Millikin c9a55b437a [Kernel] Remove the dedicated fromEnvironment constants
These can be represented as an unevaluated static invocation.

Change-Id: Ib827345f1f65a09f1a856eae33366722a2e613d2
Reviewed-on: https://dart-review.googlesource.com/c/90008
Commit-Queue: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2019-01-18 10:10:42 +00:00
Peter von der Ahé 1a0367a373 Create test which demonstrates issues 35558 and 35559
Change-Id: I521ea3f7cf8d02f9e23edc1a9775fbd65bf64e4a
Reviewed-on: https://dart-review.googlesource.com/c/90180
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2019-01-18 09:44:18 +00:00
Dmitry Stefantsov 6205d7e82c [kernel] Add ability to (de)serialize StaticGet
Change-Id: I8593c38c38f7aa4a9b8d573516681158db7f670c
Reviewed-on: https://dart-review.googlesource.com/c/89546
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Daniel Hillerström <hillerstrom@google.com>
2019-01-18 09:31:06 +00:00
Dmitry Stefantsov e529988474 [kernel] Rename ScopedReference to ScopedUse
Change-Id: Ie18096e1bbeb6fcf7d638838cfd96627fb07b1af
Reviewed-on: https://dart-review.googlesource.com/c/89545
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Daniel Hillerström <hillerstrom@google.com>
2019-01-18 09:31:06 +00:00
Dmitry Stefantsov f437fa02c2 [kernel] Nest *Environment into *State for (de)serialization
Change-Id: I580a67fd366546d7526e8b8204111aa89bb34c79
Reviewed-on: https://dart-review.googlesource.com/c/89284
Reviewed-by: Daniel Hillerström <hillerstrom@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2019-01-18 09:31:06 +00:00
Konstantin Shcheglov 0dea413d94 Tests for reachability, fix for try/finally.
R=paulberry@google.com

Change-Id: I18d1b987cb7375ae83125b4af3ed1ff712613e33
Reviewed-on: https://dart-review.googlesource.com/c/90124
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2019-01-18 08:08:17 +00:00
Jens Johansen e3302cdb8f Follow-up to storing problems in the ast
Change-Id: I2bfe8ad8d86806e0f5ffa026566cfa234b82154b
Reviewed-on: https://dart-review.googlesource.com/c/90005
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-01-18 07:15:36 +00:00
Dan Field dd04c374b8 [vm,dart:io] On Linux, Android, and Fuchsia the getsockopt parameter
is incorrect.

Fixes breakage caused by https://dart-review.googlesource.com/c/sdk/+/89164

Change-Id: I2c6842a20930cc43247dacd4d62b0cd53d58ac95
Reviewed-on: https://dart-review.googlesource.com/c/90142
Commit-Queue: Zach Anderson <zra@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
2019-01-18 03:43:50 +00:00
Alexander Markov e64428a839 Revert "[vm] Cleanup Dart_Get/Set/HasStickyError API and use isolate's sticky error only as a backup for thread's sticky error"
This reverts commit b10f179608.

Reason for revert: failed service/* tests

Original change's description:
> [vm] Cleanup Dart_Get/Set/HasStickyError API and use isolate's sticky error only as a backup for thread's sticky error
> 
> Both thread and isolate have sticky error fields. Dart API was using
> isolate's sticky error, while Dart code was using thread's sticky error.
> There was a one-way move of a thread's sticky error into isolate
> when thread was unscheduled.
> 
> This causes a problem as error in the isolate may go unnoticed and
> repeated unscheduling/re-scheduling might end up overwriting the error
> in the isolate (which triggers the assertion).
> 
> To solve this problem, this CL:
> * Cleans up Dart API which manipulates isolate's sticky error, so
>   isolate's sticky error is never set directly.
> * When sceduling an isolate to a thread, sticky error is moved back from
>   isolate (if any).
> 
> With this changes, thread's sticky error is always used if thread is running,
> and isolate's sticky error is only used to hold sticky error while
> isolate has no thread.
> 
> Fixes https://github.com/dart-lang/sdk/issues/35590
> 
> Change-Id: I99b128cac363ca2df75f6e64c083b1ec36c866ce
> Reviewed-on: https://dart-review.googlesource.com/c/89442
> Reviewed-by: Ryan Macnak <rmacnak@google.com>
> Commit-Queue: Alexander Markov <alexmarkov@google.com>

TBR=rmacnak@google.com,alexmarkov@google.com,zra@google.com,asiva@google.com

Change-Id: I15874575b6b8ddca618741c59c21d4e692c4dcab
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/90127
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2019-01-18 01:41:18 +00:00
Alexander Aprelev 324718fadd [vm] Revert "Restore TLABs."
This reverts commit 7e1aa67855 as this
regresses flutter stock_layout_iterations by about ~9% on Moto G4.

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

Change-Id: I3c76ee868c64e4b1ed947bd2d295aa8a07d9d1d0
Reviewed-on: https://dart-review.googlesource.com/c/90140
Commit-Queue: Alexander Aprelev <aam@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
Auto-Submit: Alexander Aprelev <aam@google.com>
2019-01-18 00:29:17 +00:00
Ben Konyi 5a607755b2 [ VM / dart:io ] Fixed issue where writing to a socket after it has been closed would raise SIGPIPE and crash the process.
Fixes Flutter issue #26241.

Change-Id: Ied1a92dcbff6323699537253e23a91a7d5effb61
Reviewed-on: https://dart-review.googlesource.com/c/89960
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-01-18 00:21:04 +00:00
Aart Bik 6b5e8603d5 Reland "[vm/compiler] AOT inline heuristics improvements"
This reverts commit 43a96d49af.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Revert "[vm/compiler] AOT inline heuristics improvements"
> 
> This reverts commit 2908e61f2a.
> 
> Reason for revert: regress_32322_test crashes
> 
> Original change's description:
> > [vm/compiler] AOT inline heuristics improvements
> > 
> > Rationale:
> > Yields substantial improvements on various benchmarks
> > (1.8x on HMAC stand-alone, around 5x on TypedData settters and getters),
> > with only moderate increase in code size (3.2% on Flutter gallery).
> > 
> > https://github.com/dart-lang/sdk/issues/34473
> > https://github.com/dart-lang/sdk/issues/32167
> > 
> > Change-Id: I0909efd7afc72229524ff8edb7322ce025a14af4
> > Reviewed-on: https://dart-review.googlesource.com/c/89162
> > Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
> > Reviewed-by: Alexander Markov <alexmarkov@google.com>
> > Commit-Queue: Aart Bik <ajcbik@google.com>
> 
> TBR=vegorov@google.com,alexmarkov@google.com,ajcbik@google.com
> 
> Change-Id: I9c7dadb18935ad32f4d4cd72872838e8ac9cc288
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://dart-review.googlesource.com/c/89740
> Reviewed-by: Aart Bik <ajcbik@google.com>
> Commit-Queue: Aart Bik <ajcbik@google.com>

TBR=vegorov@google.com,alexmarkov@google.com,ajcbik@google.com

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

Change-Id: Iace9857654b63af2fbcd2808d19802fb60305973
Reviewed-on: https://dart-review.googlesource.com/c/90141
Reviewed-by: Aart Bik <ajcbik@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-01-18 00:20:35 +00:00
Ryan Macnak 06a1e6e9e3 [vm] Enable timeline on Fuchsia even in product mode.
On Fuchsia, the timeline is accessed without involving the service isolate or vm-service.

Change-Id: Ia0d4e1ca252604e8fcef466a31e3d2a8b0912251
Reviewed-on: https://dart-review.googlesource.com/c/90100
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-01-18 00:06:10 +00:00
danrubel 2faab1d4c0 Update AstBuilder to build spread collection AST structures
Change-Id: Ifde5047933d810bdda77fe1b46eb6f69b7eabc5a
Reviewed-on: https://dart-review.googlesource.com/c/90082
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-01-18 00:05:30 +00:00
Alexander Markov b10f179608 [vm] Cleanup Dart_Get/Set/HasStickyError API and use isolate's sticky error only as a backup for thread's sticky error
Both thread and isolate have sticky error fields. Dart API was using
isolate's sticky error, while Dart code was using thread's sticky error.
There was a one-way move of a thread's sticky error into isolate
when thread was unscheduled.

This causes a problem as error in the isolate may go unnoticed and
repeated unscheduling/re-scheduling might end up overwriting the error
in the isolate (which triggers the assertion).

To solve this problem, this CL:
* Cleans up Dart API which manipulates isolate's sticky error, so
  isolate's sticky error is never set directly.
* When sceduling an isolate to a thread, sticky error is moved back from
  isolate (if any).

With this changes, thread's sticky error is always used if thread is running,
and isolate's sticky error is only used to hold sticky error while
isolate has no thread.

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

Change-Id: I99b128cac363ca2df75f6e64c083b1ec36c866ce
Reviewed-on: https://dart-review.googlesource.com/c/89442
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2019-01-17 23:27:13 +00:00
Dan Field 5b1daaac6c Exposes a thin layer over getsockopt/setsockopt for supported platforms.
This allows developers to have more fine grained control over socket
options supported by their platforms, particularly when there is not a
nice way to encapsulate differences between IPv4 and IPv6 options (as
with IP_MULTICAST_IF and IPV6_MULTICAST_IF).  It also begins the work
of exposing socket level and option values, although keeping it for now
only to a minimum necessary to assist with setting the multicast
interface for datagram sockets.

This CL also marks `multicastInterface` as deprecated.

Bug: https://github.com/dart-lang/sdk/issues/17057
Change-Id: I39b3bf3d32d39de1c777acea4425d6eb2226355d
Reviewed-on: https://dart-review.googlesource.com/c/89164
Commit-Queue: Zach Anderson <zra@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
2019-01-17 23:05:21 +00:00
Aart Bik c701e76506 [vm/compiler] handle non-nullable null situation better
Rationale:
Previously, we avoided introducing redefinitions that
introduced the empty non-nullable null type. This situation
arises when we do a null check on an actual null value
(making all subsequent uses effectively dead code). This
is too simple, however, since it still allows hoisting the
uses before the check. This CL gives a better solution
by introducing redefinitions without a constraining type
(which are not removed and avoid the type). In the long
run perhaps the best solution would be to simply remove
all subsequent uses as dead.

https://github.com/dart-lang/sdk/issues/32167
https://github.com/dart-lang/sdk/issues/34473
https://github.com/dart-lang/sdk/issues/35335

Change-Id: Ib5dd072a9e546f6b91faa52ea08e8c0f6350d7e0
Reviewed-on: https://dart-review.googlesource.com/c/89922
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-01-17 22:22:32 +00:00
Konstantin Shcheglov b692a6d183 Improvements for flow analysis.
Support for 'IfNull' expression.
Support for 'rethrow'.
Tests for definite assignment and assignment expressions.

Change-Id: I053d27ca05e4ccaccc6a9fc7e10a481cd481ab21
Reviewed-on: https://dart-review.googlesource.com/c/90102
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-01-17 21:30:48 +00:00
Alexander Thomas fc62cf0373 [infra] Fix co19 git URL in DEPS
TBR=whesse@google.com

Change-Id: I67e4b8ccfb3fad7fac1a83ac998dc23c72cfee08
Reviewed-on: https://dart-review.googlesource.com/c/90067
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2019-01-17 21:28:38 +00:00
Ryan Macnak e7bd3edc9f [vm] Assert callback state for all Dart_Set*ReturnValue, take 2.
Fix scoping of raw typed data access in dart:io.

Change-Id: I458b36bf655e429cc57e266550ff1ab00f328f45
Reviewed-on: https://dart-review.googlesource.com/c/89943
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-01-17 20:37:33 +00:00
Dan Rubel ddce2824fa Add more spread collection fasta test cases
Change-Id: I998234da8f9e3f1e5902f8cd3fcad884c012f128
Reviewed-on: https://dart-review.googlesource.com/c/90080
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-01-17 20:29:47 +00:00
danrubel 6639cbd6c3 Add AstBuilder spread-collections and control-flow-collections flags
Change-Id: I280b09970851d0d5bc0ad630be94ccd11f4385b1
Reviewed-on: https://dart-review.googlesource.com/c/90081
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-01-17 20:29:27 +00:00
Stephen Adams 1020a22290 [dart2js] Do more native method inlining
Check if the call is typesafe instead of inlining only when type
checks are disabled.

Change-Id: Ie391bd7013941ffd3852fb8e2421e8827f41b6d0
Reviewed-on: https://dart-review.googlesource.com/c/89926
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-01-17 20:21:36 +00:00