Commit Graph

2361 Commits

Author SHA1 Message Date
Stephen Adams 1ae1ec7df4 Remove HRuntimeType implementation
Use the legacy RTI format, which should be replaced with something that lets types and tests be cached and amortized.

R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2722753002 .
2017-02-28 09:33:32 -08:00
Stephen Adams e4ffa70ba5 Redo "Flush deferred action queue"
This is https://github.com/dart-lang/sdk/commit/8eedb9c6527f955413e47c9350d3c5114cd89942 plus status file updates

TBR=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2726463002 .
2017-02-27 21:10:36 -08:00
Stephen Adams 07cd6a9f57 Revert "Flush deferred action queue"
TBR=johnniwinther@google.com
BUG=

Review-Url: https://codereview.chromium.org/2723453004 .
2017-02-27 21:06:22 -08:00
Stephen Adams 8eedb9c652 Flush deferred action queue
It is possible for deferred actions to be queued without enqueing
classes.  This can happen when resolving a typedef for mirrors - a
cyclic check action may be added as the only change.

TBR=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2718253003 .
2017-02-27 19:12:54 -08:00
Konstantin Shcheglov 69063303ac Add support for field formal function typed formal parameters.
Plus a couple of new tests.

R=paulberry@google.com, ahe@google.com
BUG=

Review-Url: https://codereview.chromium.org/2720763003 .
2017-02-27 14:01:26 -08:00
Stephen Adams 50b6107eec dart2js: HGetLength may become fixed
We may not know initially that the input to HGetLength is fixed-length, but discover so later.
Most notably this happens with --trust-type-annotations, since the HTypeKnown for 'trusting' the type hides the underlying type, but it also happens as a consequence of local dataflow and other optimizations.

BUG=
R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2713393002 .
2017-02-27 12:33:21 -08:00
Stephen Adams a22350458b Store toString value in enum.
This avoids the use of an constant map per enum.

R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2711183002 .
2017-02-24 15:37:43 -08:00
Konstantin Shcheglov 8d4e252fd1 Support for the 'covariant' keyword for formal parameters.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2716043003 .
2017-02-24 12:50:17 -08:00
Konstantin Shcheglov 4500bb0920 Parse optional and named parameters.
I'm not a big fan of the currentParameterKind stack, this information is
almost accessible from parseFormalParameter(), but we don't pass the type
to the listener.

R=ahe@google.com, paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2709783003 .
2017-02-23 09:55:15 -08:00
Florian Loitsch 979183decf Add support for the new function-type syntax.
Fixes #27967
BUG= http://dartbug.com/27967
R=ahe@google.com, johnniwinther@google.com, paulberry@google.com, sigmund@google.com

Committed: https://github.com/dart-lang/sdk/commit/85227ba8a60332a18ae92cb1b87bf15d52a909bd
Reverted: https://github.com/dart-lang/sdk/commit/f5fc210f4f79f7e6b7ccefc24e7565e810e9dc7d
Committed: https://github.com/dart-lang/sdk/commit/e4999a631093690febb2eb90cbdbe1f9d5183455
Reverted: https://github.com/dart-lang/sdk/commit/c64c35153905fc2bf8a74c02297220385cfcbc87
Committed: https://github.com/dart-lang/sdk/commit/c289af39c36d9a5f7130a3e69b7891052652a64e
Reverted: https://github.com/dart-lang/sdk/commit/c66479f40767744d0bdd027c004583d6e32fe50f
Review-Url: https://codereview.chromium.org/2567133002 .
2017-02-23 13:36:28 +01:00
Harry Terkelsen fce2935ef5 remove old way of collecting dependencies for dump-info
The new way of collecting dependencies covers everything from
the old way, and does not have any spurious dependencies that
the old way had.

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

R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2709043002 .
2017-02-22 12:53:50 -08:00
Paul Berry 3fbeb5d064 Add contextual information about identifiers to the parser listener API.
R=ahe@google.com, scheglov@google.com

Review-Url: https://codereview.chromium.org/2711463005 .
2017-02-22 12:42:36 -08:00
Florian Loitsch 5af03687cf Fix missing semicolon.
Fixes commit 5de7bb5782

Review-Url: https://codereview.chromium.org/2713673003 .
2017-02-22 18:51:09 +01:00
Florian Loitsch 5de7bb5782 Don't use magic strings/properties to communicate between compiler and runtime.
R=sra@google.com

Review-Url: https://codereview.chromium.org/2700053003 .
2017-02-22 18:32:23 +01:00
Florian Loitsch c66479f407 Revert "Add support for the new function-type syntax."
This reverts commit c289af39c3.

BUG=

Review-Url: https://codereview.chromium.org/2710973002 .
2017-02-22 17:19:35 +01:00
Florian Loitsch c289af39c3 Add support for the new function-type syntax.
Fixes #27967
BUG= http://dartbug.com/27967
R=ahe@google.com, johnniwinther@google.com, sigmund@google.com

Committed: https://github.com/dart-lang/sdk/commit/85227ba8a60332a18ae92cb1b87bf15d52a909bd

Reverted: https://github.com/dart-lang/sdk/commit/f5fc210f4f79f7e6b7ccefc24e7565e810e9dc7d

Committed: https://github.com/dart-lang/sdk/commit/e4999a631093690febb2eb90cbdbe1f9d5183455

Reverted: https://github.com/dart-lang/sdk/commit/c64c35153905fc2bf8a74c02297220385cfcbc87
Review-Url: https://codereview.chromium.org/2567133002 .
2017-02-22 16:53:49 +01:00
Konstantin Shcheglov 9a3f8224a4 Pass 'classKeyword' to endClassDeclaratio() and endNamedMixinApplication().
R=ahe@google.com, paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2705333002 .
2017-02-21 22:13:01 -08:00
Konstantin Shcheglov 3fda231b1a Pass '=' to endNamedMixinApplication().
R=paulberry@google.com, ahe@google.com
BUG=

Review-Url: https://codereview.chromium.org/2710803002 .
2017-02-21 13:37:01 -08:00
Dmitry Olshansky aa1e6d4ccf Relanding: avoiding creating strings for canonicalization
Do a hash table for tripples:
(list of bytes, start, end) --> canonicalized string

R=ahe@google.com

Review-Url: https://codereview.chromium.org/2702753003 .
2017-02-20 15:19:10 +01:00
Johnni Winther 00094ca18e Split InterceptorData
- into InterceptorData, InterceptorDataBuilder and OneShotInterceptorData.

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2692303002 .
2017-02-20 12:55:50 +01:00
Johnni Winther 9a1ceea706 Split backend implementation of EnqueuerListener
- into a EnqueuerListenerBase with subclasses ResolutionEnqueuerListener and CodegenEnqueuerListener

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2693163002 .
2017-02-20 12:49:09 +01:00
Johnni Winther c5c7fdfea3 Extract BackendUsageBuilder from BackendUsage
Ideally BackendUsageBuilder should only be used during closed world computation and BackendUsage afterwards.

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2694653005 .
2017-02-20 12:21:47 +01:00
Johnni Winther 8ffeb45db5 Move global dependencies to BackendUsage
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2696483005 .
2017-02-20 12:16:28 +01:00
Johnni Winther e5a27f75e6 Move registerBackend* to BackendUsage
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2693033003 .
2017-02-20 12:10:42 +01:00
Johnni Winther 4ada4dbb99 Introduce EnqueuerListener
- to abstract the JavaScriptBackend coupling to Enqueuer

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2693893003 .
2017-02-20 11:53:39 +01:00
Johnni Winther ebaff3dc66 Extract BackendUsage, MirrorsData, and CheckedModeHelpers from Backend.
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2688413003 .
2017-02-20 11:44:14 +01:00
Johnni Winther c94162a20f Add MultiSourceInformationStrategy
- generate sourcemap for both engines using --use-multi-source-info

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2690083002 .
2017-02-20 11:36:15 +01:00
Johnni Winther 0f25d7da94 Refactor CompilerOutput
- replace EventSink by OutputSink
- add OutputType instead of uses magic values in [extension].

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2690063002 .
2017-02-20 10:34:15 +01:00
Johnni Winther fd918a2725 Add output_type_test
- in preparation for refactoring of CompilerOutput

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2696513003 .
2017-02-20 10:03:53 +01:00
Emily Fortuna d9e9f4c920 Add deferred library loaded checks in a few more places in Kernel.
BUG=
R=sra@google.com

Review-Url: https://codereview.chromium.org/2693423003 .
2017-02-15 18:23:19 -08:00
Peter von der Ahé 4b206de390 Use identical in token operators.
R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2691213005 .
2017-02-15 13:42:53 +01:00
Emily Fortuna 063e60ae29 Add deferred loading to Kernel.
BUG=
R=sra@google.com

Review-Url: https://codereview.chromium.org/2691753002 .
2017-02-14 17:51:51 -08:00
Dmitry Olshansky bf1eeab38e Revert: StringCanonicalizer for Fasta
R=ahe@google.com, vegorov@google.com

Review-Url: https://codereview.chromium.org/2692093004 .
2017-02-14 17:24:50 +01:00
Dmitry Olshansky 58ca47d58a Avoiding creating strings for canonicalization
Do a hash table for tripples:
(list of bytes, start, end) --> canonicalized string

R=ahe@google.com

Review-Url: https://codereview.chromium.org/2696803003 .
2017-02-14 15:44:36 +01:00
Johnni Winther 69e97a27f3 Handler the last native annotations
- we now handle `kernel/impact_test.dart --full`.

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2686243004 .
2017-02-12 10:58:36 +01:00
Stephen Adams 6af28fcb70 Fix for https://github.com/dart-lang/sdk/issues/28727
Use jsAst.Name uniformly in constructor parameters to prevent type
argument being renamed into a conflict.

BUG=
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2690583003 .
2017-02-10 13:19:43 -08:00
Johnni Winther 2b77a7e6b8 Support mixin application equivalence in impact_test.
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2681783005 .
2017-02-10 10:55:06 +01:00
Johnni Winther 1567a4c21b Handle Native("...") annotations in KernelBehaviorBuilder.
Closes #28157

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2681123004 .
2017-02-10 10:49:19 +01:00
Johnni Winther cc60ef19f5 Handle Creates and Returns annotations in KernelBehaviorBuilder
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2685673004 .
2017-02-10 10:43:39 +01:00
Johnni Winther 68b1c1a827 Add KernelNativeBehaviorComputer
- to support NativeBehavior computation from KernelWorldBuilder.

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2679913006 .
2017-02-10 10:36:35 +01:00
Johnni Winther a2b0a1bc1b Refactor ConstantSystem
- to prepare for kernel based implementation

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2684783003 .
2017-02-10 10:30:16 +01:00
Johnni Winther eb411556e6 Add NoSourceLocationMarker in old source-info engine.
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2682813005 .
2017-02-10 10:03:45 +01:00
Johnni Winther a2837b78d5 Refactor computation of NativeBehavior.
- to prepare for kernel based implementation.

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2686533002 .
2017-02-09 11:20:36 +01:00
Johnni Winther 1498e533e0 Remove LibraryEntity.libraryName
- use libraryName for LibraryElement.name if available.

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2632643002 .
2017-02-08 11:37:01 +01:00
Johnni Winther af4b2b8e30 Extract InterceptorData from JavaScriptBackend.
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2680823002 .
2017-02-08 11:04:53 +01:00
Johnni Winther 52efadefc2 Replace Backend with JavaScriptBackend.
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2685573002 .
2017-02-08 10:50:55 +01:00
Johnni Winther 20e2aa4f0e Fix access to returnTypeOf
- a field does not have a return type.

Review-Url: https://codereview.chromium.org/2685783003 .
2017-02-08 10:08:23 +01:00
Emily Fortuna f8f60f1ec4 Fix the loops break label test with Kernel.
BUG=https://github.com/dart-lang/sdk/issues/28670
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2682823002 .
2017-02-07 14:49:29 -08:00
Sigmund Cherem ac6bf5926f Temporarily allow to import dart:io in client apps.
Disclaimer: I am not in favor of this approach, but it appears to be the least
worst option at the time.

Reach out to kevmoo@ or dgrove@ for details.

R=lrn@google.com, sra@google.com, dgrove@google.com, kevmoo@google.com

Review-Url: https://codereview.chromium.org/2675023002 .
2017-02-07 14:02:04 -08:00
Emily Fortuna 0eb961850a Fix lingering switch statement test failures.
BUG=
R=sra@google.com

Review-Url: https://codereview.chromium.org/2682553002 .
2017-02-07 10:38:28 -08:00