Commit graph

55417 commits

Author SHA1 Message Date
Ryan Macnak 607f4f5769 [vm] Get more helpful errors from Dart_SetVMFlags and Dart_MakeIsolateRunnable.
Bug: https://github.com/flutter/flutter/issues/12939
Change-Id: I76ddf2a6d3bb3775637d2eef87c7875c650de0a4
Reviewed-on: https://dart-review.googlesource.com/29680
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-05-01 20:54:38 +00:00
Alexander Thomas f044637c8b [infra] Upgrade checked in SDKs to 2.0.0-dev.52.0
TBR=sortie@google.com

Change-Id: I34a986acc5af580463e5ce872c28293d68182613
Reviewed-on: https://dart-review.googlesource.com/53260
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2018-05-01 19:30:44 +00:00
Alexander Thomas dcf10816aa [infra] Add script that updates checked in SDKs
Change-Id: I9de6489dbe613455476cd4c19db4b951456a87cf
Reviewed-on: https://dart-review.googlesource.com/53100
Reviewed-by: Jonas Termansen <sortie@google.com>
2018-05-01 18:50:31 +00:00
Harry Terkelsen f8bea2a7e6 dart2js: Register inlined native methods for dump info
Change-Id: I362b56c70bff7a0afcec3374882c973ff879d48e
Reviewed-on: https://dart-review.googlesource.com/53061
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Harry Terkelsen <het@google.com>
2018-05-01 18:22:25 +00:00
Kevin Moore 7fe8659613 dump-info: Use relative paths for library canonicalUri...
...if they are within the working directory

Makes output from dump-info more stable, especially with pkg:build

Change-Id: I3e6c444a0aa7df55c10e1bdff4b59ef035d2acc3
Reviewed-on: https://dart-review.googlesource.com/53168
Reviewed-by: Harry Terkelsen <het@google.com>
Commit-Queue: Kevin Moore <kevmoo@google.com>
2018-05-01 16:47:26 +00:00
Alexander Aprelev dcf4886500 [frontend-server] Add verbose option.
Change-Id: I49e2e4a70b91262765509504e4da303459f29fba
Reviewed-on: https://dart-review.googlesource.com/53170
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2018-05-01 16:43:14 +00:00
Alexander Thomas 5087ffa481 [release] Move DDC sync-async flip to correct section in the release notes
TBR=sortie@google.com

Change-Id: I0e3293ca1a7e13d79b2b59fb8500393ef4f0f5e5
Reviewed-on: https://dart-review.googlesource.com/53214
Reviewed-by: Alexander Thomas <athom@google.com>
2018-05-01 16:32:31 +00:00
Alexander Thomas fe7056ebaa [release] Update changelog for 2.0.0-dev.52.0
TBR=sortie@google.com

Change-Id: I2c23a76ab95368a598c1156b5bf6c6ef36f245c8
Reviewed-on: https://dart-review.googlesource.com/53213
Reviewed-by: Alexander Thomas <athom@google.com>
2018-05-01 16:10:27 +00:00
Aske Simon Christensen 011676641a Ignore forwarding stubs when checking for missing implementations.
Fixes https://github.com/dart-lang/sdk/issues/33009

Change-Id: If131193014d99430a0b1934d2f8890cd4f123934
Reviewed-on: https://dart-review.googlesource.com/53203
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2018-05-01 15:44:24 +00:00
Samir Jindel 12d697b2ea Refactoring to allow compilation inside a library loaded from Dill.
Change-Id: I128e9d171354fbfe3cc1a742f83567a1eb1cb7fe
Reviewed-on: https://dart-review.googlesource.com/51324
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2018-05-01 14:10:16 +00:00
Johnni Winther 8351dd4928 Support constant instantiation
Closes #32774

Change-Id: I88090246d3fb39e3d3a1f9c3fdcc3b6fd6e0fa4f
Reviewed-on: https://dart-review.googlesource.com/53022
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-05-01 12:59:18 +00:00
Johnni Winther 687b1b5edd Update status
Change-Id: Ia0d41e674882c4b37160cd3a7da447706c5b62c8
Reviewed-on: https://dart-review.googlesource.com/53210
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2018-05-01 12:42:31 +00:00
Johnni Winther f373cfed83 Add omit-implicit-checks mode to equivalence tests.
Change-Id: Ifd98727384943d167b0ef39caaa9c1351b16e9ee
Reviewed-on: https://dart-review.googlesource.com/52805
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-05-01 12:41:59 +00:00
Alexander Thomas 886b511f76 [infra] Fix dart-arm64 executable in checked in SDK
TBR=sortie@google.com

Change-Id: I1ba54ef12024ee02f2a5ba01a4933c707e89e979
Reviewed-on: https://dart-review.googlesource.com/53205
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2018-05-01 12:02:23 +00:00
Alexander Thomas 2ca9daea83 [infra] Replace vm-kernel-mac with vm-kernel-linux on the CQ
TBR=kustermann@google.com

Change-Id: I13e53e43a49eef3260af63fafc32d15f36f1559a
Reviewed-on: https://dart-review.googlesource.com/53204
Reviewed-by: Alexander Thomas <athom@google.com>
2018-05-01 11:45:08 +00:00
danrubel bf91621857 Improve fasta parser import prefix recovery
Change-Id: Ib1265cee27ff4e7cfc20012d3e4281cd151accdc
Reviewed-on: https://dart-review.googlesource.com/53140
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-05-01 11:26:11 +00:00
Johnni Winther d85c175a22 Register deferredLoadlibrary as backend impact
Closes #32998

Change-Id: If2a0a948f1209652925be360f7f145ebfdb3d60d
Reviewed-on: https://dart-review.googlesource.com/53008
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-05-01 11:05:31 +00:00
Kevin Millikin 9371ca061c Remove all the contravariance bits
Change-Id: Ib43b32d12749ddac0a93795cb5e8543eb5131dd9
Reviewed-on: https://dart-review.googlesource.com/52867
Commit-Queue: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
2018-05-01 10:56:11 +00:00
Martin Kustermann c544a9fcd1 [vm/kernel] Implement Constant.getStaticType
Change-Id: I314f423257b970016dcaec9967fc624c7c39c4a8
Reviewed-on: https://dart-review.googlesource.com/53040
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2018-05-01 09:49:01 +00:00
Jens Johansen 6e2536f585 [kernel] Change dill representation of doubles
Previously doubles was saved as strings in the string table,
with a DoubleLiteral holding a StringReference.

This can cause overhead in both computation time
(converting the double to and from string) as well as size
(e.g. a single usage of the previously unused double 1000000.42
would use (at least)
* 10 bytes for the characters
* 1 byte for the size
* 1 byte for the reference to the string

whereas saving it as a double would simply save the 8 bytes.

On the other hand the string table doesn't contain duplicates so
many usages of the same double will use more space.

The SDK dill file size decreases slightly (< 1 KB).

On a Dart file with 1M different doubles (0.42, 1.42, ..., 999999.42)
added to a list:

Before:

compile and write via fasta (non-strong-mode): 0:12.18
Reading (via dart, eager): 2500-2600 ms
Writing (to null sink) (after reading): 1600-1800 ms
Output dill file (via fasta compile): ~62 MB

After:

compile and write via fasta (non-strong-mode): 0:11.76
Reading (via dart, eager): 2050-2350 ms
Writing (to null sink) (after reading): 400-550 ms
Output dill file (via fasta compile): ~54 MB

Running the dill file is ~the same time, but "Maximum resident set size
(kbytes)" (from /usr/bin/time -v) decreases with ~4%.

On the other side, if it's 1M of the same doubles (0.42), while
compiling is ~the same speed, the output dill goes from 43MB to 50MB.
Surprisingly the "Maximum resident set size (kbytes)" still decreases
though (~3%).

Running flutter test in flutter/packages/flutter:

Before:
```
02:33 +2425 ~18: All tests passed!
02:28 +2425 ~18: All tests passed!
02:28 +2425 ~18: All tests passed!
```

After:
```
02:12 +2425 ~18: All tests passed!
02:11 +2425 ~18: All tests passed!
02:12 +2425 ~18: All tests passed!
```

So that's -12.0267% +/- 3.15253%

File size of a dill file of an arbitrary test using flutter is reduced by ~44 KB (~0.3%).

Change-Id: I64151376cde1dae6f0d02b3d96991bc432a994ae
Reviewed-on: https://dart-review.googlesource.com/41660
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-05-01 09:35:21 +00:00
Alexander Thomas b1611684fe [infra] Upgrade checked in SDKs to 2.0.0-dev.51.0
Closes #32961

Change-Id: Ib326ce5c1027ca32b368904e0d57514779ea170b
Reviewed-on: https://dart-review.googlesource.com/53080
Reviewed-by: Jonas Termansen <sortie@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2018-05-01 08:39:01 +00:00
Alexander Thomas 03ca45c0a8 [release] Merge changelog corrections from dev branch
Change-Id: I11bf3b4dde2b62d1f52bcb512311832ef97a54fb
Reviewed-on: https://dart-review.googlesource.com/53005
Reviewed-by: Jonas Termansen <sortie@google.com>
2018-05-01 08:38:33 +00:00
Johnni Winther 54b8ebd992 Support js-interop classes that implement generic types in Dart 2
This adds a special RTI representation for a type argument of a
(supertype of a) js-interop class, which effectively is the Dart 1
`dynamic` type.

Closes #32969

Change-Id: Ifd92b3fc6779d96d354ad929bd7c07a349299ae6
Reviewed-on: https://dart-review.googlesource.com/53002
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-05-01 08:37:11 +00:00
Johnni Winther 20c7725954 Handle deferred constant instantiations
Closes #32997

Change-Id: I31661bb223ca9d9bdee2e7cabe4e62bf18e87509
Reviewed-on: https://dart-review.googlesource.com/53007
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-05-01 08:31:01 +00:00
Alexander Thomas 95338ced3a [infra] Sort CQ builders in config
Change-Id: I798b6c9cd214b86eec11645239844209f6f4edb8
Reviewed-on: https://dart-review.googlesource.com/53020
Reviewed-by: Jonas Termansen <sortie@google.com>
2018-05-01 08:27:52 +00:00
Ryan Macnak cff0e751a5 [vm] Add Dart_NewExternalTypedDataWithFinalizer.
Allows the finalizer to be associated with the correct object when creating ByteData. The finalizer should be associated with the underlying ExternalUint8List, since it can outlive the ByteData via byteData.buffer.asUint8List()

Bug: b/78150644
Change-Id: I3db58792bbe3abf7ed41d2adaf225fa554b8fb25
Reviewed-on: https://dart-review.googlesource.com/52860
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-05-01 01:57:41 +00:00
asiva b64f2acfb9 Revert "[VM] Improve code generation for uint32"
Please see issue https://github.com/dart-lang/sdk/issues/33008 for more
details on the regression caused by this commit.

This reverts commit 9741c220f3.

It also effectively reverts

https://dart-review.googlesource.com/c/sdk/+/53006
https://dart-review.googlesource.com/c/sdk/+/53001

which were follow up CLs to the main commit.

Change-Id: Iac399c620a312ab3c3b27a3cba4e681742bcfe33
Reviewed-on: https://dart-review.googlesource.com/53164
Reviewed-by: Keerti Parthasarathy <keertip@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2018-05-01 00:25:01 +00:00
Bob Nystrom 26cf0d559c Roll dart_style to 1.0.12.
This has no formatting changes, so is safe to roll without coordinating
with a new prebuilt SDK.

Change-Id: If8b966a7fd402909f82aa016ee9958672a275e8b
Reviewed-on: https://dart-review.googlesource.com/53161
Reviewed-by: Natalie Weizenbaum <nweiz@google.com>
2018-05-01 00:05:21 +00:00
Stephen Adams 1f6f9adb6c dart2js co19 status bingo
TBR=sigmund@google.com

Change-Id: I7f6e1a3e3f80cab42102e1cefa9238ba6b94f6df
Reviewed-on: https://dart-review.googlesource.com/53165
Reviewed-by: Stephen Adams <sra@google.com>
2018-04-30 23:40:38 +00:00
Bob Nystrom 9d34963947 Stop ignoring explicit ("as") cast failures on all but function types.
Change-Id: Ia421cce7bab4fe9c74775b5bf2474901475cfa89
Reviewed-on: https://dart-review.googlesource.com/53160
Reviewed-by: Vijay Menon <vsm@google.com>
2018-04-30 23:05:24 +00:00
Stephen Adams d6a3b85ed2 Use factory methods for async/sync*/async* transforms
The static methods allow type parameters to be registered,
but this means that the type parameters will be dropped unless in strong mode.

Change-Id: I91c1977c287c14742df7d59b988e64ddc46f794d
Reviewed-on: https://dart-review.googlesource.com/52870
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-04-30 22:32:56 +00:00
Jenny Messerly 2df8db486d fix #30184, private symbols in DDC
Change-Id: I77fe11b49b3f19b0241c8e08c313cb051c4d019b
Reviewed-on: https://dart-review.googlesource.com/52281
Reviewed-by: Vijay Menon <vsm@google.com>
2018-04-30 21:20:40 +00:00
Ryan Macnak 82bf4bb135 [vm] Fail gracefully when a snapshot is loaded without the proper alignment.
Change-Id: Ie9164d54cbea08d0da5b36bfc36ef1a3e7a46b0b
Reviewed-on: https://dart-review.googlesource.com/53122
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-04-30 21:12:41 +00:00
Ryan Macnak 265ab831b6 [vm] Partial fixes for LTO.
Change-Id: Ic867777a7fc5df6631ce11030195d1323d7111ed
Reviewed-on: https://dart-review.googlesource.com/52983
Reviewed-by: Zach Anderson <zra@google.com>
2018-04-30 19:23:58 +00:00
Janice Collins 6d9371aec3 Prepare for analyzer-0.31.2-alpha.2
Change-Id: Ib428b7316633bb77978428a17956bc05e736d57d
Reviewed-on: https://dart-review.googlesource.com/52981
Commit-Queue: Janice Collins <jcollins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2018-04-30 17:56:31 +00:00
Konstantin Shcheglov b7d8ae30e2 Change 'Extract Widget' to generate named constructor parameters, with 'key'.
R=devoncarew@google.com, paulberry@google.com

Bug: https://github.com/flutter/flutter-intellij/issues/2166
Change-Id: Ie698dc27a1328b7e18e92f46583f84c22c84de57
Reviewed-on: https://dart-review.googlesource.com/53060
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-04-30 16:49:00 +00:00
Konstantin Shcheglov b4a2259b5f Enhance DartEditBuilder.writeConstructorDeclaration() to support parameter/initializer/bodyWriter.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: If6be2f3e095ae03355c04ea3f6a8524e478c1552
Reviewed-on: https://dart-review.googlesource.com/52989
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-04-30 15:56:19 +00:00
Samir Jindel 69f35c18bc Test code for CFE expression compilation.
Change-Id: I90f953592d66be04bfb26ffb5f604ba5e7f010a5
Reviewed-on: https://dart-review.googlesource.com/51322
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2018-04-30 15:33:11 +00:00
Vijay Menon 001af89c8e Flip DDC to default to sync-async
See #32868

Change-Id: I757321632c9f383edea398741c67fc7c3e3815e5
Reviewed-on: https://dart-review.googlesource.com/52900
Commit-Queue: Vijay Menon <vsm@google.com>
Reviewed-by: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-04-30 15:04:51 +00:00
Martin Kustermann a31d24dbd8 [vm/kernel] Add a knob to constant evaluate annotations only conditionally
This "knob" to turn off constant evaluation for annotations is required
because the TFA transformation leaves annotations in a state where they
cannot be evaluated anymore.

Change-Id: I7720a07ef42ff69834e24a856613ea2e846b4f2d
Reviewed-on: https://dart-review.googlesource.com/52803
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-04-30 13:34:35 +00:00
Dmitry Stefantsov 5af05d407d [fasta] Report type argument number mismatch during outline building
Change-Id: I1c1f22f3117ccbfc8620b3b0459bc96ed1ad1bdf
Reviewed-on: https://dart-review.googlesource.com/51128
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
2018-04-30 13:01:15 +00:00
Erik Corry 9eea773342 [VM] Remove assert code accidentally left in release
R=vegorov@google.com

Change-Id: I78e4fc35f1153b333a8fdc340ea78199f9cc6b27
Reviewed-on: https://dart-review.googlesource.com/53006
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-04-30 11:38:53 +00:00
Martin Kustermann 4697e3c8f6 [vm/kernel] Change "constants" kernel2kernel transformation to be able to recover from errors
Instead of simply throwing an exception when a compile-time error was
discovered during constant evaluation, we report the error and continue
transforming.

This also collects a context, which can be used by error reporters to
show users in which context an error occured.

The reason for using an interface for reporting errors is to be able to
report reasonable nice error messages, keep the transformation inside
package:kernel and allow users of the transformation to possibly report
nicer error message, e.g. by adding quotes of source positions (which
will come in another CL). This makes it slightly verbose.

Change-Id: I965cafc690dddb525b20368d03bb978e18a6ee58
Reviewed-on: https://dart-review.googlesource.com/52447
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-04-30 11:27:55 +00:00
Martin Kustermann 690b4f793b [VM] Be more defensive against constants coming from vmservice library (if we skip it)
Change-Id: I23900daadf030dcf46cec11008ec15e43245040f
Reviewed-on: https://dart-review.googlesource.com/52804
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-04-30 10:57:45 +00:00
Alexander Thomas c164f92397 [release] Prepare CHANGELOG.md for 2.0.0-dev.51.0
TBR=sortie@google.com

Change-Id: I63f807c3e12ddd4f704400f7f7e2052c56415055
Reviewed-on: https://dart-review.googlesource.com/53003
Reviewed-by: Alexander Thomas <athom@google.com>
2018-04-30 07:40:01 +00:00
Erik Corry a8b0a1a5fa [VM] Except SIMDBC from change for x64 and ARM64
R=vegorov@google.com
TBR=vegoroc@google.com
Change-Id: I1ddb72e0de13400d57dd6ca0a551a7273c4dea24
Reviewed-on: https://dart-review.googlesource.com/53001
Reviewed-by: Erik Corry <erikcorry@google.com>
2018-04-29 18:15:03 +00:00
Erik Corry 9741c220f3 [VM] Improve code generation for uint32
Simplify by no longer using the signed unboxed int32 type on
64 bit platforms.

R=vegorov@google.com

Change-Id: Ic8eab7308f2ce01e5618344f50f72b95ce13a0dc
Reviewed-on: https://dart-review.googlesource.com/52762
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-04-29 12:41:43 +00:00
Erik Corry 580315af53 [VM] Fix bad assert in compactor that triggers on Mac
R=rmacnak@google.com
TBR=rmacnak@google.com

Change-Id: Ia9a783d7b8870b5482ff797487046e6ebea4eb3d
Reviewed-on: https://dart-review.googlesource.com/53000
Reviewed-by: Erik Corry <erikcorry@google.com>
2018-04-29 11:04:53 +00:00
Dan Rubel 2e19e275e8 Update status file
Change-Id: I661e46a1b6ff2f42d32c3e17a3292b8412c95fc3
Reviewed-on: https://dart-review.googlesource.com/52922
Reviewed-by: Dan Rubel <danrubel@google.com>
2018-04-29 00:57:32 +00:00
danrubel 663a9f2b32 Update status file
Change-Id: Icfa3c31900391a456e5ddb376c148674bebfe4ad
Reviewed-on: https://dart-review.googlesource.com/52921
Reviewed-by: Dan Rubel <danrubel@google.com>
2018-04-28 21:27:59 +00:00