Commit Graph

56224 Commits

Author SHA1 Message Date
Johnni Winther aeaa3b05c4 Remove more parts of resolution
Change-Id: Ic32851c32f4119b9682bb8538cfd7aa745ca7f09
Reviewed-on: https://dart-review.googlesource.com/54880
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-05-15 08:37:29 +00:00
Johnni Winther 4d76600b22 Delete SemanticSendVisitor
Change-Id: I0ccf8527e973dc5cfeac19caaaac026f91795e17
Reviewed-on: https://dart-review.googlesource.com/54860
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2018-05-15 08:37:29 +00:00
Johnni Winther 049d41ee36 Delete AST-based SSA builder
Change-Id: I16aa702eae335a01163a3b79d36bf4e60561756e
Reviewed-on: https://dart-review.googlesource.com/54841
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-05-15 08:37:29 +00:00
Johnni Winther 4fbd22c9e2 Remove AST-based inference
Change-Id: I368630e15d08ecbc0fdee288985746f90477159b
Reviewed-on: https://dart-review.googlesource.com/54822
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-05-15 08:37:29 +00:00
Peter von der Ahé 013bc60b22 Make most fields in Generators final
Change-Id: I3cd1d3c88c0572874b3fbfb4c1862898ce8037a4
Reviewed-on: https://dart-review.googlesource.com/55103
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-05-15 08:07:08 +00:00
Peter von der Ahé 6b9754d9b5 Convert SuperPropertyAccessor to SuperPropertyAccessGenerator
Change-Id: I9252da81d07b948b16ce0da4a0e989b63df996e5
Reviewed-on: https://dart-review.googlesource.com/55102
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-05-15 07:57:28 +00:00
Peter von der Ahé 60c825e1be Convert NullAwarePropertyAccessor to NullAwarePropertyAccessGenerator
Change-Id: I55a656f153cd6226f55fad47e952b065928754fb
Reviewed-on: https://dart-review.googlesource.com/54915
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-05-15 07:42:09 +00:00
Peter von der Ahé 5e4776eab9 Convert ThisPropertyAccessor to ThisPropertyAccessGenerator
Change-Id: Ib3a729db7b87192d47fb909d36aa1eff88fff29b
Reviewed-on: https://dart-review.googlesource.com/54914
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-05-15 07:39:57 +00:00
Peter von der Ahé 43ab0e51db Add Generator as shared base class for converted generators
Change-Id: I739f883e90c0e902b461e40f83aa478f67d593fd
Reviewed-on: https://dart-review.googlesource.com/54909
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-05-15 07:39:57 +00:00
Jens Johansen f08f61e84d Incremental ClassHierarchy
This CL turns the ClassHierarchy incremental and use that in two places:

* When compiling incrementally
* When performing the second ClassHierarchy computation after adding
  forwarding stubs.

Change-Id: I7046d6be9d7673dc0783a98789b5a25183b44799
Reviewed-on: https://dart-review.googlesource.com/53804
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2018-05-15 07:37:09 +00:00
Alexander Thomas 243f3e5333 [infra] Add basic pub integration test
Closes #32656

Change-Id: Id3646e7b9567e6f60e449a90c355d3e535ac2a6a
Reviewed-on: https://dart-review.googlesource.com/51661
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2018-05-15 07:09:58 +00:00
Jenny Messerly 29afbf8f12 Implement constant evaluation for dartdevk
This builds on the VM's support for constants, and brings dartdevk to
parity with dartdevc. Also, constants are computed with arithmetic
operations that match runtime behavior (JS numbers).

Constants are limited in some cases right now: when building outline
kernel files (via pkg/dev_compiler/tool/build_pkgs.dart), constant field
initializers are not preserved, and this fact is not recorded, making
these fields appear to be implicitly null. dartdevk will recognize this
and avoid inlining the constant in these cases.

Change-Id: I5e6d95ccc32799da3bec1667ed16078a1a87d0bd
Reviewed-on: https://dart-review.googlesource.com/53121
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2018-05-15 06:04:18 +00:00
Alexander Markov 344c68e54c [kernel, vm] Revise how metadata is written in kernel binaries
Metadata is no longer written ahead of all nodes. Instead, metadata for
each node is written in the same context as the node itself (into a separate
buffer). This allows metadata to contain (serialize) arbitrary nodes
(for example, arbitrary DartTypes) and use serialization context of parent
nodes (such as declared type parameters).

However, with this change metadata looses the ability to reference
arbitrary AST nodes. This ability was overly restricted and had no
practical uses. (It was not possible to reference nodes which are not
reachable from root Component. As a consequence, it was not possible to
write references to arbitrary DartTypes.)

This change aligns the serialization capabilities of metadata with
how kernel AST nodes are serialized.

Change-Id: I027299a33b599b62572eccd4aa7083ad1dd2b3b3
Reviewed-on: https://dart-review.googlesource.com/54481
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2018-05-15 00:41:08 +00:00
Stephen Adams 65c4eebcf6 [dart2js] $async$self does not require a temp
Change-Id: Ief44aa36b67928cf33176410ebf1dfd5c794b024
Reviewed-on: https://dart-review.googlesource.com/55040
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2018-05-15 00:29:48 +00:00
Sigmund Cherem a06f7c9241 Remove dart:_isolate_helper.
The rest of the code was used in a single place, so I've moved the code to the
appropriate library.

Change-Id: Idd0416bf7365e3de05f20ab1184428ae7ae614b2
Reviewed-on: https://dart-review.googlesource.com/54745
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2018-05-15 00:21:28 +00:00
Stephen Adams b3649427bd js_runtime: avoid some implicit casts
Change-Id: I828d172db560f1a2ec8aefe7ea85980a50dee3aa
Reviewed-on: https://dart-review.googlesource.com/54746
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2018-05-14 23:53:37 +00:00
Ben Konyi 4f549e2900 Revert "Fix issues with FileSystemEntities which have non-UTF8 paths causing exceptions to be thrown when converting to/from a Dart VM String."
This reverts commit ba342a94ec.

Reason for revert: Bots are red.

Original change's description:
> Fix issues with FileSystemEntities which have non-UTF8 paths causing exceptions to be thrown when converting to/from a Dart VM String.
> 
> Continuation of PR #32583 by powdercloud
> 
> Fixes #29451
> 
> Change-Id: I4bdf24f9c8ead425a4f0cad33b642908f1ec203d
> Reviewed-on: https://dart-review.googlesource.com/51580
> Commit-Queue: Ben Konyi <bkonyi@google.com>
> Reviewed-by: Zach Anderson <zra@google.com>

TBR=bkonyi@google.com,rmacnak@google.com,zra@google.com,tvolkert@google.com

Change-Id: I12850f178a13a75289d18af4e565bd73c59b14ad
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/55060
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2018-05-14 23:40:29 +00:00
Ryan Macnak 87fb51fa8c [test] Mark isolate_complex_messages_test as fixed in Dart 2.
Fixed by dd3ec65af8.

Change-Id: Ia877330109b74b29fd5a52a755b2910511885de8
Reviewed-on: https://dart-review.googlesource.com/55024
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-05-14 23:12:50 +00:00
Ben Konyi ba342a94ec Fix issues with FileSystemEntities which have non-UTF8 paths causing exceptions to be thrown when converting to/from a Dart VM String.
Continuation of PR #32583 by powdercloud

Fixes #29451

Change-Id: I4bdf24f9c8ead425a4f0cad33b642908f1ec203d
Reviewed-on: https://dart-review.googlesource.com/51580
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
2018-05-14 23:06:57 +00:00
Alexander Markov 7e4cec8a49 [vm/kernel/aot] Fix handling of type parameters and annotations on typedefs in TFA tree shaker
Closes https://github.com/dart-lang/sdk/issues/33109

Change-Id: I84204373010ebfdd7d774c8bb29c743d056dc24e
Reviewed-on: https://dart-review.googlesource.com/54981
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-05-14 23:04:48 +00:00
Zach Anderson fe9f22aa83 [windows] Fix 'all' target
Change-Id: I5f6b4b56115f353deed2a332a6b27835bb559e8f
Reviewed-on: https://dart-review.googlesource.com/55020
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-05-14 22:17:38 +00:00
Zach Anderson 72921342c8 [Fuchsia] Small buildfile fix for scudo malloc
Change-Id: I92e9a3193d25b6032eae95bbd193190a09bf052b
Reviewed-on: https://dart-review.googlesource.com/54624
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-05-14 21:49:08 +00:00
Brian Wilkerson cbb2403f5d More improvements to the test framework
Change-Id: I57827bd7f6a0b7873bba87e99b7043efb96ddd0c
Reviewed-on: https://dart-review.googlesource.com/54982
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-05-14 21:47:47 +00:00
Sigmund Cherem be77569d57 Remove old mirrors library now that the old-frontend is being deleted
Change-Id: Iea1cbb0c4422fa51e632ac03c9cd01e4916181fc
Reviewed-on: https://dart-review.googlesource.com/54744
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2018-05-14 21:38:07 +00:00
Ryan Macnak a5c11d7d03 [vm] Remove Dart_ReadKernelBinary, take 2.
Update status for simulators, which the test harness invokes with DIL files instead of source files.

Change-Id: I8444ad7e17a0a71a1ce3c0021487397baa1c3e65
Reviewed-on: https://dart-review.googlesource.com/54622
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2018-05-14 20:58:08 +00:00
Ryan Macnak dd3ec65af8 [vm] Hash canonical objects by content instead of address.
Bug: https://github.com/dart-lang/sdk/issues/31427
Change-Id: Iad02b152887576f8fbdcbed6892464a0c2ffa09c
Reviewed-on: https://dart-review.googlesource.com/54662
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
2018-05-14 20:11:27 +00:00
Janice Collins e6d9ed5688 Restrict analyzer/front_end/kernel SDK versions to dev.48+.
Change-Id: If341e8aa3503881bb44e445c39e5f821fd213bfd
Reviewed-on: https://dart-review.googlesource.com/55000
Reviewed-by: Kevin Moore <kevmoo@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Janice Collins <jcollins@google.com>
2018-05-14 19:32:45 +00:00
Brian Wilkerson 7328988ad0 Remove some dead code from analysis_server
Change-Id: I6407d800bca7f81e6bcf0fb1e0765e24fe310956
Reviewed-on: https://dart-review.googlesource.com/54980
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-05-14 18:57:17 +00:00
Brian Wilkerson d30a05711f Fix the parsing of literal symbols
Change-Id: I237871ee1c44d2819afbbee583ddd7e14b1ef043
Reviewed-on: https://dart-review.googlesource.com/54801
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2018-05-14 18:23:27 +00:00
Konstantin Shcheglov d48aa1b0c7 Issue 2244. Add 'Import Library' quick fix for (potential) implicit constructor invocations.
R=brianwilkerson@google.com

Bug: https://github.com/flutter/flutter-intellij/issues/2244
Change-Id: I464b3bc872dc6df46197761c8f619cd69f194566
Reviewed-on: https://dart-review.googlesource.com/54962
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-05-14 18:17:08 +00:00
Harry Terkelsen fe51bb1b14 Don't eagerly enqueue JS helpers when we see a native class
We no longer eagerly enqueue defineProperty, toStringForNativeObject,
or hashCodeForNativeObject. We only enqueue convertDartClosureToJS
when needed.

For the following 'Hello World' program, code size dropped from 33175 to 10066:

```
import 'dart:html';

main() {
  window.console.log('Hello World');
}
```

Change-Id: I47860b44b572f7a162fc95c9cccefdc9012810dd
Reviewed-on: https://dart-review.googlesource.com/54500
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Harry Terkelsen <het@google.com>
2018-05-14 18:11:09 +00:00
Janice Collins 90618bdcf3 Prepare for analyzer 0.32.0.
Change-Id: Ica117a443f922c9bb5377c99ff87ce4a7a0bce16
Reviewed-on: https://dart-review.googlesource.com/54741
Reviewed-by: Kevin Moore <kevmoo@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Janice Collins <jcollins@google.com>
2018-05-14 18:07:02 +00:00
Paul Berry 98d7796662 Fix some minor typos in the service protocol documentation.
Change-Id: I05481d6bf167fee57f27d769906ec1f8f5b3b6c4
Reviewed-on: https://dart-review.googlesource.com/54711
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-05-14 17:58:59 +00:00
Zach Anderson 85ec96c7a6 [vm/interpreter] Fix PRODUCT build
This fixes the 'all' target.

Change-Id: I442ca639a80738f1282c3c1e4cbd66146fc12efd
Reviewed-on: https://dart-review.googlesource.com/54961
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-05-14 17:58:58 +00:00
Brian Wilkerson e818260c73 Use Forest to build empty statements
Change-Id: I467052ed548073eeb33d07e7409bd19da46f36fb
Reviewed-on: https://dart-review.googlesource.com/54960
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-05-14 17:47:57 +00:00
Peter von der Ahé 35ff1f36b7 Convert PropertyAccessor to PropertyAccessGenerator
Change-Id: Ie4f5b445f98645d399ad0891c1cecb1ef41a1710
Reviewed-on: https://dart-review.googlesource.com/54900
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-05-14 16:56:53 +00:00
Brian Wilkerson 2e844719b0 Add expression statement support to Forest
Change-Id: Ie3a3d01655e8ece2a42eda240e7f12c83cf8e348
Reviewed-on: https://dart-review.googlesource.com/54660
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-05-14 16:50:07 +00:00
Danny Tuppeny 568e977a35 Update FoldingKinds enum, update specs and increase version number
Bug: https://github.com/dart-lang/sdk/issues/33033
Change-Id: Ieccfd90ead67a9803744c54db4eec8eea0b0403c
Reviewed-on: https://dart-review.googlesource.com/54920
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2018-05-14 16:48:48 +00:00
Dan Rubel 4908d5720a Update generalized void and generic comment syntax tests
Change-Id: I9d4ce183c12a9f4cd33ca5630fcad732328dac2c
Reviewed-on: https://dart-review.googlesource.com/49940
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-05-14 16:28:17 +00:00
Peter von der Ahé 363fdf73e6 Convert VariableAccessor to VariableUseGenerator
Change-Id: I98d8994221e109ee5d88fdc7a5c150b5ebefcfb2
Reviewed-on: https://dart-review.googlesource.com/54883
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-05-14 15:34:42 +00:00
Peter von der Ahé 74ed060f95 Use kernel prefix in expression_generator.dart
Change-Id: I84358b2758ee5824478cba93588051d4c2abddba
Reviewed-on: https://dart-review.googlesource.com/54881
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-05-14 15:30:17 +00:00
Zach Anderson 70cf29cc59 [GN] Add interpreter config. Refactor configs.
Change-Id: Ic7f7c437464fe8c27850e1dc5c958d699143b87c
Reviewed-on: https://dart-review.googlesource.com/54712
Commit-Queue: Zach Anderson <zra@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-05-14 15:26:37 +00:00
Peter von der Ahé 43147be3d5 Improve handling and testing of additional targets
Change-Id: Ida6c403976c26331ebd31a3a7b500f9e3e40c487
Reviewed-on: https://dart-review.googlesource.com/54241
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-05-14 15:16:47 +00:00
asiva 44b1ba1ef4 [VM] Make sync-async the default in the VM (see issue 32870).
Leave some observatory tests to run in --no-sync-async modes as
changing these tests now would make them fail if somebody tries to run
them with the --no-sync-async flag. We can modify these tests once we do
not have a way to revert this flag.

Change-Id: I4a888448c3ed7a89ebc1d187f2ca11f1d620d7df
Reviewed-on: https://dart-review.googlesource.com/54632
Reviewed-by: Zach Anderson <zra@google.com>
2018-05-14 15:00:27 +00:00
asiva 0e9c22485b [VM] Make runtime-kernel the default build target. This ensures that kernel_services snapshot is built and available.
Change-Id: I023529fe11f3ad5d199faff409a43f83e51cced2
Reviewed-on: https://dart-review.googlesource.com/54634
Reviewed-by: Zach Anderson <zra@google.com>
2018-05-14 14:59:43 +00:00
Peter von der Ahé 02cd63eefd Remove unused closure conversion
Change-Id: I0edbbd29a4cc603e7479023bc0e8869c78ca7bcc
Reviewed-on: https://dart-review.googlesource.com/54225
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
2018-05-14 14:58:17 +00:00
Peter von der Ahé bc86dc1dd6 Remove unused reify transformation
Change-Id: I4d29e3372b9aaf6bc7f1849e9fc0fb27f63e5c5f
Reviewed-on: https://dart-review.googlesource.com/54223
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Karl Klose <karlklose@google.com>
2018-05-14 14:48:57 +00:00
Samir Jindel 184e2a8b4c [vm] Support partial instantiation of noSuchMethod forwarders in VM.
This is complicated by the fact that the normal factory method for creating
Invocation objects references the arguments descriptor to determine how many
type arguments are passed. This doesn't work for partially instantiated
closures, because the arguments descriptor will say "0" type arguments even when
there may be delayed type arguments attached to the closure from partial
instantiation. The arguments descriptor can't be modified, so we have a new
factory method which takes the number of delayed type arguments directly.

Change-Id: Ic9a35a482b3b7ef80564e674cc6207873e255111
Reviewed-on: https://dart-review.googlesource.com/54245
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
2018-05-14 14:34:58 +00:00
Peter von der Ahé abb861d812 Remove pkg/kernel/lib/frontend directory
Removing this directory as it is mostly unused.
Closure conversion still relies on VariableAccessor, so I moved it
there.

We should consider removing closure conversion. I don't believe we
actually use it.

Change-Id: I885620b310c4d1bf3a9b9b805188921bc242a993
Reviewed-on: https://dart-review.googlesource.com/54221
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-05-14 14:25:38 +00:00
Johnni Winther e7bae4c8fd Use int.tryParse in sourcemap_testing
Change-Id: I7e2f51628604cc7522752b7b67d3c5b6775901c2
Reviewed-on: https://dart-review.googlesource.com/54905
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2018-05-14 13:56:18 +00:00