Commit Graph

5559 Commits

Author SHA1 Message Date
ngeoffray@google.com 5eea4589ee Remove unspecified behavior from test.
Review URL: https://codereview.chromium.org//24280005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27750 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-23 11:03:35 +00:00
ngeoffray@google.com e6fa7db30d Add crashing test.
R=kustermann@google.com

Review URL: https://codereview.chromium.org//24350004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27749 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-23 10:24:51 +00:00
ngeoffray@google.com 4dc6362f2a Move div by zero testing into its own test.
R=karlklose@google.com

Review URL: https://codereview.chromium.org//23890042

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27746 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-23 09:07:09 +00:00
ngeoffray@google.com b8f70b2e55 Revert r27739. Two tests fail.
Review URL: https://codereview.chromium.org//24145009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27743 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-23 08:47:13 +00:00
ngeoffray@google.com 6148b8bd49 Do not make the test depend on one specific exception, so that it can pass on dart2js and VM.
R=karlklose@google.com

Review URL: https://codereview.chromium.org//24208007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27741 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-23 08:16:38 +00:00
ngeoffray@google.com c46b150d17 Remove testing of a non-specified behavior.
R=karlklose@google.com

Review URL: https://codereview.chromium.org//23721011

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27740 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-23 08:16:00 +00:00
ngeoffray@google.com 144be3954b Fix invocation_mirror_test.dart.
R=karlklose@google.com

Review URL: https://codereview.chromium.org//24305003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27739 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-23 08:14:58 +00:00
blois@google.com 26cb84addd Marking language/lazy_static3_test as failing, it's been failing for a day or so.
TBR
BUG=

Review URL: https://codereview.chromium.org//24261009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27728 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-20 23:33:50 +00:00
scheglov@google.com 69ef133218 Report CTEC.CONST_NOT_INITIALIZED
https://code.google.com/p/dart/issues/detail?id=13408
https://code.google.com/p/dart/issues/detail?id=13018

partly https://code.google.com/p/dart/issues/detail?id=11124

R=brianwilkerson@google.com, jwren@google.com
BUG=

Review URL: https://codereview.chromium.org//24191008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27713 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-20 18:08:22 +00:00
fschneider@google.com 1072bc1c60 Reland: Fix bug in field type tracking and polymorphic inlining.
Original CL: https://codereview.chromium.org/24096018/

This fixes the bug by changing FlowGraphBuilder to a zone object
because it is needed by the inliner later in the pipeline.

R=kmillikin@google.com

Review URL: https://codereview.chromium.org//24315002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27695 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-20 10:35:01 +00:00
regis@google.com 2326948d54 Update test status file for new test in minified dart2js.
Review URL: https://codereview.chromium.org//24051007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27680 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-19 23:04:53 +00:00
regis@google.com 72499cf8b5 Add mixin language tests.
Update status files.

R=hausner@google.com

Review URL: https://codereview.chromium.org//23465033

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27679 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-19 22:20:36 +00:00
hausner@google.com aeb3386956 Fix function type parameter parsing
Corner case of final variables was wrong. In most cases, this went undetected because of the permissive type system of dart.

Fixes issue 13367.

R=regis@google.com

Review URL: https://codereview.chromium.org//24269010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27678 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-19 22:02:45 +00:00
asiva@google.com 53a1ec9456 Revert
https://code.google.com/p/dart/source/detail?r=27655
as it is causing dartium build breakage.

Review URL: https://codereview.chromium.org//23583054

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27675 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-19 20:32:16 +00:00
ngeoffray@google.com fb6b863b7d Update status fiel for dart2dart.
Review URL: https://codereview.chromium.org//24078022

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27673 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-19 19:16:51 +00:00
hausner@google.com f3baeeb6a5 Implement symbol literals in the VM compiler
Issue 12171

R=iposva@google.com

Review URL: https://codereview.chromium.org//24240010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27668 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-19 17:39:16 +00:00
ngeoffray@google.com b490fb55a6 Let the inferrer know that lazy variables can also be null incase their initializer throws.
R=karlklose@google.com

Review URL: https://codereview.chromium.org//24211003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27664 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-19 15:40:55 +00:00
fschneider@google.com 7dea1d8a2c Fix bug in field type tracking and polymorphic inlining.
When inlining implicit getters via the polymorphic inliner
(and not through the flow graph optimizer) the fields loaded
must be added to the list of guarded fields that trigger
deoptimization when a store violated the field type guard.

Also, this CL avoids adding fields to the list from inlining
candidates that do not get inlined after all. Previously, the
optimizer pass on the callee graph would add guarded fields
even if the final graph does not get inlined.

TEST=tests/language/vm/optimized_guarded_field_test.dart
R=kmillikin@google.com

Review URL: https://codereview.chromium.org//24096018

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27655 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-19 11:21:11 +00:00
karlklose@google.com 1e082e1238 Fix merge error in test.
R=ngeoffray@google.com

Review URL: https://codereview.chromium.org//24264002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27646 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-19 08:41:48 +00:00
karlklose@google.com d3b5fc21bb Check cycles in redirecting factories.
BUG=dartubg.com/10959
R=ngeoffray@google.com

Review URL: https://codereview.chromium.org//23452038

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27645 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-19 08:16:56 +00:00
johnniwinther@google.com a1a9d58da8 Update dart2dart status.
BUG=

Review URL: https://codereview.chromium.org//24096023

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27636 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-18 20:46:57 +00:00
hausner@google.com bfd8f9ba37 Fix dart2dart status file
Review URL: https://codereview.chromium.org//24096022

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27631 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-18 17:51:45 +00:00
hausner@google.com cda093e7e0 Fix redirecting constructors
Field initializer expressions must not be executed in redirecting
constructors.

Fixes issue 13347

R=regis@google.com

Review URL: https://codereview.chromium.org//23542051

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27628 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-18 16:02:30 +00:00
johnniwinther@google.com 8e6c654b1a Check for uninitialized constant variables.
BUG=
R=karlklose@google.com

Review URL: https://codereview.chromium.org//23979004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27623 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-18 15:10:38 +00:00
johnniwinther@google.com 250e9bc383 Support general expressions as keys in literal maps.
R=ngeoffray@google.com

Review URL: https://codereview.chromium.org//22909056

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27622 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-18 14:59:28 +00:00
kasperl@google.com ce874ffe22 More chrome-on-android status tweaking.
R=kustermann@google.com
BUG=

Review URL: https://codereview.chromium.org//23885007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27620 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-18 14:38:26 +00:00
lrn@google.com ee3dfa414f Change the order of bitwise operators and equality/relational operators.
Gives bitwise operators precedence above that of equality/relational operators.

This means that
  a & mask == something
no longer needs parentheses.

Since bitwise operators didn't work on booleans, and there are probably very few custom operator&'s that accept a boolean, this is expected to not break existing code.

BUG= http://dartbug.com/114
R=hausner@google.com, kasperl@google.com

Review URL: https://codereview.chromium.org//23710024

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27613 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-18 12:32:47 +00:00
lrn@google.com 6d49d9f1ac Reapply "Convert HashSet, LinkedHashSet to factory methods and custom implementations."
R=floitsch@google.com, fschneider@google.com, kasperl@google.com

Review URL: https://codereview.chromium.org//24104003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27610 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-18 11:36:25 +00:00
ngeoffray@google.com f16fc0b8ea Check if signatures are compatible in a redirecting factory before synthesizing a call in the inferrer.
R=karlklose@google.com

Review URL: https://codereview.chromium.org//24153008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27596 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-18 08:48:06 +00:00
johnniwinther@google.com 6466a610b8 Check for cyclic reference in typedefs
This CL introduces a post-processing queue to the resolution phase which is processing immediately after the resolution queue has been closed.

The cyclic check of typedefs uses this post-processing queue to register the checking function during TypedefResolverVisitor.

R=ahe@google.com, karlklose@google.com

Review URL: https://codereview.chromium.org//13261008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27595 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-18 08:42:44 +00:00
ngeoffray@google.com 461f930268 Revert r27592, some unit tests fail.
Review URL: https://codereview.chromium.org//23904023

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27593 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-18 07:27:19 +00:00
ngeoffray@google.com abbd435329 Do not analyze assert when assertions are disabled.
R=kasperl@google.com

Review URL: https://codereview.chromium.org//23875033

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27592 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-18 06:56:19 +00:00
ngeoffray@google.com 85e82ebed1 Remove wrong handling of cascade calls in ContainerTracerVisitor. Its super class InferrerVisitor handles it correclty.
Review URL: https://codereview.chromium.org//23971013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27568 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-17 12:25:02 +00:00
ngeoffray@google.com 372d9075e1 Update status file for dart2dart.
Review URL: https://codereview.chromium.org//23494058

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27556 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-17 09:32:03 +00:00
ngeoffray@google.com 9e77e5dac0 Do not evaluate inlined field initializations twice in a redirecting constructor.
R=kasperl@google.com

Review URL: https://codereview.chromium.org//24125005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27549 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-17 07:31:31 +00:00
johnniwinther@google.com d76a758d7c Handle exception from scanning.
BUG=http://dartbug.com/13328
R=ahe@google.com

Review URL: https://codereview.chromium.org//23742006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27547 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-17 06:42:18 +00:00
johnniwinther@google.com ef4ed3f828 Detect asynchronous dart2js crashes correctly.
BUG=
R=ahe@google.com

Review URL: https://codereview.chromium.org//24082005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27546 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-17 06:36:50 +00:00
ngeoffray@google.com e546e2676d Change how we generate bound closures to handler bound closures due to super getters: we need to pass the exact function to call instead of fetching it from the receiver.
R=ahe@google.com, kasperl@google.com

Review URL: https://codereview.chromium.org//23567019

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27519 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-16 13:09:09 +00:00
ngeoffray@google.com c9e3c9452d Fix a bug in the variable allocator: a pure instruction between an inlined if and its inlined expression made the live instructions die before that pure instruction. So the pure instruction could just re-use an already taken variable name.
R=kasperl@google.com

Review URL: https://codereview.chromium.org//23660008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27514 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-16 09:19:00 +00:00
karlklose@google.com a7f31f635a Emit compile-time error for incorrectly used optional parameters.
BUG=dartbug.com/13183
R=ahe@google.com

Review URL: https://codereview.chromium.org//23456030

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27513 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-16 08:14:33 +00:00
ngeoffray@google.com 4979e277cd Make sure we throw the right NSM error when indexing out of range of a variable that can be null.
R=kasperl@google.com

Review URL: https://codereview.chromium.org//23440034

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27476 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-13 12:15:50 +00:00
hausner@google.com bbcf74a569 Make "as" a built-in identifier aka pseudo keyword
Fixes issues 12551, 13021

R=regis@google.com

Review URL: https://codereview.chromium.org//23542041

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27461 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-12 23:45:41 +00:00
karlklose@google.com 803a614d1a Fix language/duplicate_implements_test.
Previously, tree shaking would no look at the implements clauses, because the classes are never analyzed.

BUG=dartbug.com/12991
R=ngeoffray@google.com

Review URL: https://codereview.chromium.org//23809011

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27429 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-12 12:10:47 +00:00
karlklose@google.com de2dfc10d0 Emit a compile-time error when the name of a variable is referenced in the
initializing expression.

R=ngeoffray@google.com

Review URL: https://codereview.chromium.org//24091002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27421 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-12 07:45:08 +00:00
ricow@google.com 35ac21ec9b Mark language/field_type_check_test/none as flaky crashing on mac dartium (drt)
Filed issue 13266 to track this

Review URL: https://codereview.chromium.org//23460036

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27419 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-12 06:13:03 +00:00
lrn@google.com 18362b2cf4 Revert "Convert HashSet, LinkedHashSet to factory methods and custom implementations."
Triggers an error in html tests on dartium.

Review URL: https://codereview.chromium.org//23451045

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27392 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-11 16:19:45 +00:00
lrn@google.com c5bb6f7b15 Convert HashSet, LinkedHashSet to factory methods and custom implementations.
R=floitsch@google.com

Review URL: https://codereview.chromium.org//23859008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27378 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-11 12:35:57 +00:00
aprelev@gmail.com 0bd09c308a Fix dart2js decimal number tokenization. Remove support for 'd'-suffixed double format.
BUG=dartbug.com/13070
R=ahe@google.com

Review URL: https://codereview.chromium.org//23583038

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27364 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-11 01:58:07 +00:00
regis@google.com 6c92ec5439 Simplify VM internal representation of a mixin application clause (MixinAppType
object) by removing some redundant field and type arguments.
Tolerate mixins with wrong number of type arguments and update tests.
Note: this is a first cleanup step in preparation of more mixin bug fixes.

R=hausner@google.com

Review URL: https://codereview.chromium.org//23619026

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27363 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-11 00:41:07 +00:00
karlklose@google.com 42378cd781 Reapply r27285: "Support dynamic as type literal."
Reviewed as: https://codereview.chromium.org//23978010

BUG=dartbug.com/12398
R=ngeoffray@google.com

Review URL: https://codereview.chromium.org//23825007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27325 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-10 09:12:55 +00:00