Commit Graph

5559 Commits

Author SHA1 Message Date
Siva Annamalai 8f8b4e0fce Skip issue_25671[a|b]_test
Review URL: https://codereview.chromium.org/1687523002 .
2016-02-09 10:40:58 -08:00
Johnni Winther 059f44aa3b Fix super noSuchMethod handling.
Closes #25680

- This CL fixes the handling of inapplicable noSuchMethod methods on superclasses (see issue 25671) for both SSA and CPS.
- The CPS implementation for normal noSuchMethod calls on super was wrong is fixed with this CL, including the addition the missing visitUnresolvedSuperSet method  on the SemanticSendVisitor.
- An error (presumably in type inference) affecting SSA was found with the added tests (Issue 25716 filed)

R=asgerf@google.com, het@google.com

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

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

Review URL: https://codereview.chromium.org/1678053002.
2016-02-09 15:19:19 +01:00
Johnni Winther a0d7b64fde Revert "Fix super noSuchMethod handling."
This reverts commit 756d95a372.

BUG=

Review URL: https://codereview.chromium.org/1677423002.
2016-02-09 13:02:31 +01:00
Johnni Winther 756d95a372 Fix super noSuchMethod handling.
Closes #25680

- This CL fixes the handling of inapplicable noSuchMethod methods on superclasses (see issue 25671) for both SSA and CPS.
- The CPS implementation for normal noSuchMethod calls on super was wrong is fixed with this CL, including the addition the missing visitUnresolvedSuperSet method  on the SemanticSendVisitor.
- An error (presumably in type inference) affecting SSA was found with the added tests (Issue 25716 filed)

R=asgerf@google.com, het@google.com

Review URL: https://codereview.chromium.org/1678053002.
2016-02-09 11:39:37 +01:00
Florian Loitsch a9b8efcd0d Don't expose private libraries with dart.library.X.
R=johnniwinther@google.com

Review URL: https://codereview.chromium.org/1674613002 .
2016-02-05 17:36:14 +01:00
Florian Loitsch 5eb5b42989 Revert "Support 'dart.library.X' env variables in the VM."
This reverts commit c2a06e22cb.

Review URL: https://codereview.chromium.org/1668253002 .
2016-02-04 22:26:06 +01:00
Florian Loitsch c2a06e22cb Support 'dart.library.X' env variables in the VM.
BUG= http://dartbug.com/24587
R=iposva@google.com, johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1640853004 .
2016-02-04 13:04:31 +01:00
Florian Schneider b354660f02 VM: Fix bug with break out of a try-finally inside a loop.
The break-target block was assigned the wrong try-index.

BUG=dartbug.com/25654
R=hausner@google.com

Review URL: https://codereview.chromium.org/1660203002 .
2016-02-02 17:09:06 -08:00
Alan Knight 7eddef0c87 Suppress isolate.spawn test on drt as well
BUG=

Review URL: https://codereview.chromium.org/1665533002 .
2016-02-02 14:23:18 -08:00
Matthias Hausner fef73d59ad Restore try contexts when breaking out of async for loops
Restore the try context in the finally clause of the implicit
try-finally around await-for loops. This ensures that the context
is restored even when breaking out of the loop.

BUG=24935
R=fschneider@google.com, regis@google.com

Review URL: https://codereview.chromium.org/1661433003 .
2016-02-02 13:33:15 -08:00
Regis Crelier 48fc233896 Fix typedef cycle check (fixes #25620).
Add regression test.
Fix BuildName for function types.

R=asiva@google.com

Review URL: https://codereview.chromium.org/1654273003 .
2016-02-01 14:43:37 -08:00
Paul Berry 4896fea5f5 Add shared tests demonstrating bugs #25624, #25625, and #25626.
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1653833002 .
2016-02-01 08:14:00 -08:00
Asger Feldthaus 27bb7d6153 dart2js cps: Update status file.
BUG=

Review URL: https://codereview.chromium.org/1652923002 .
2016-02-01 13:28:27 +01:00
Paul Berry 87c6790bb9 Add tests demonstrating bug #25605.
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1650783002 .
2016-01-31 05:43:02 -08:00
Regis Crelier daf672405c Relax assert when applying a mixin application alias (fixes #25617).
Update status file.

R=hausner@google.com

Review URL: https://codereview.chromium.org/1653593002 .
2016-01-29 15:17:35 -08:00
Florian Loitsch 2232803eae Don't use "var" to introduce the deferred_initializer.
R=het@google.com

Review URL: https://codereview.chromium.org/1653453002 .
2016-01-29 21:52:52 +01:00
Paul Berry 62fad4641c Update status file to reflect bug #25617.
TBR=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1653433002 .
2016-01-29 11:30:01 -08:00
Paul Berry 6590cc26c4 Add shared tests demonstrating bug #25614.
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1646343002 .
2016-01-29 10:23:03 -08:00
Regis Crelier 220f8c57b3 Resolve signature from correct scope class (fix #25609).
Add regression test.

R=asiva@google.com

Review URL: https://codereview.chromium.org/1647653007 .
2016-01-28 13:29:28 -08:00
Stephen Adams 1673a64849 Add type info to JSArray.
JSArray<E>.typed has a specially generated body. We should be able to inline this. This makes all of the "new List.xxx()" paths work.

Literal lists are treated like maps - we generate a call to JSArray<E>.typed.  I need to change that to JSArray<E>.markGrowable.

R=asgerf@google.com

Review URL: https://codereview.chromium.org/1642493002 .
2016-01-27 13:47:12 -08:00
Matthias Hausner 851b4a995c Compile-time error if mixin class has a factory
The VM now reports the location of the mixin application as well as
the location of the illegal constructor in the mixin class.

Update test language/mixin_illegal_constructor_test to follow the spec.

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1638923002 .
2016-01-26 12:43:48 -08:00
Paul Berry afc2c880a6 Restore old supermixin functionality to shared language tests.
In 451eaab718 the "--supermixin" flag was
removed from the VM and from the shared language tests.  This caused
those language tests to fail on analyzer (because analyzer still
requires the flag).

Also some tests that validated the non-supermixin behavior were deleted.

It looks like we are going to keep requiring the flag in analyzer until
the feature is implemented in dart2js (see
https://github.com/dart-lang/sdk/issues/24478#issuecomment-170054303).
So in order to ensure that the analyzer implementation continues to be
tested, we still need the flags in the tests.  We also need the old
tests that validate the non-supermixin behavior, since the analyzer
continues to implement that behavior when the "--supermixin" flag is
absent.

This CL does not introduce any new VM failures, because (a) the VM
ignores the "--supermixin" flag, so the tests in which the flag is being
reintroduced will still behave the same way on the VM, and (b) the tests
that validate non-supermixin behavior are disabled on the VM.

R=brianwilkerson@google.com, regis@google.com

Review URL: https://codereview.chromium.org/1635763003 .
2016-01-26 08:50:21 -08:00
Johnni Winther 735e0e60f8 Remove warning for inherited noSuchMethod.
Closes #25580

R=karlklose@google.com

Review URL: https://codereview.chromium.org/1635533003.
2016-01-26 13:39:57 +01:00
Kevin Millikin 65ae116a01 dart2js: CPS translation of switches with continue to their labels.
Implement switches with continue to their labels by a first 'non-recursive'
switch followed by a second (only) 'recursive' switch inside a loop.
Continue is implemented by assignment to a state variable that the second
switch switches over.

R=asgerf@google.com

Review URL: https://codereview.chromium.org/1585503002 .
2016-01-26 09:43:13 +01:00
Regis Crelier b116694c84 Fix building of closure type arguments (fixes #25543).
Re-enable skipped test with --noopt.

R=hausner@google.com

Review URL: https://codereview.chromium.org/1631803003 .
2016-01-25 13:58:00 -08:00
Matthias Hausner 4ca8417725 Allow methods to be named ‘factory’
Because it’s the law.

BUG=25489
R=regis@google.com

Review URL: https://codereview.chromium.org/1636583003 .
2016-01-25 13:46:52 -08:00
Matthias Hausner 82735da84d Remove obsolete test
built-in identifiers are no longer permitted as prefixes.

TBR=gbracha

BUG=6970

Review URL: https://codereview.chromium.org/1625733002 .
2016-01-22 16:00:19 -08:00
Zachary Anderson 80f358dede Adds targets for simarmv6 and armv6
related #25562

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1624593002 .
2016-01-22 13:07:48 -08:00
Matthias Hausner f32e0ce74c Fix test expectation for deep recursion tests
BUG=

Review URL: https://codereview.chromium.org/1621783002 .
2016-01-22 09:47:15 -08:00
Matthias Hausner 6686380d1d Fix
BUG=

Review URL: https://codereview.chromium.org/1625513002 .
2016-01-22 09:20:08 -08:00
Matthias Hausner 783cc8acae Parser recursion check
Let the parser issue a compile-time error when the C stack is about to overflow, instead of crashing the VM.

BUG=24476
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1620493002 .
2016-01-22 08:59:45 -08:00
Lasse R.H. Nielsen 693628e99e Implement ?? as compile-time constant in VM.
Extracted from https://codereview.chromium.org/1493693002/

R=hausner@google.com

Review URL: https://codereview.chromium.org/1575383002 .
2016-01-22 12:39:16 +01:00
Stephen Adams 33ac12a5a4 Lower map literals to constructor or function calls in builder
Remove LiteralMap from cps_ir and tree_ir.

R=asgerf@google.com

Review URL: https://codereview.chromium.org/1616143003 .
2016-01-21 19:32:13 -08:00
Regis Crelier 4bba786129 Temporarily skip a failing test.
Review URL: https://codereview.chromium.org/1610663002 .
2016-01-20 08:30:40 -08:00
Regis Crelier 7f57ebcfa1 Remove signature classes from the VM.
They were used as the class of closure instances and as the type class of
function types.
All closure instances now have class _Closure and function types are represented
by a new class FunctionType extending AbstractType.
Fix issue 24567 and add regression test.

R=asiva@google.com, rmacnak@google.com

Review URL: https://codereview.chromium.org/1584223006 .
2016-01-19 16:32:59 -08:00
Paul Berry c320b26e09 Introduce language test for bug #25525
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1595103003 .
2016-01-19 09:14:46 -08:00
Stephen Adams d7237c5275 Don't inline methods that only throw.
R=sigmund@google.com

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

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

Review URL: https://codereview.chromium.org/1587053003 .
2016-01-15 11:35:46 -08:00
Ivan Posva b2a186c2dd - Readjust Dartium status files.
BUG=

Review URL: https://codereview.chromium.org/1591063002 .
2016-01-15 11:22:24 -08:00
Asger Feldthaus fb0330df46 dart2js cps: Improve constant folding of equality operators.
Previously we would only fold comparisons between primitive constants, missing out on e.g. the list sentinel comparisons.

BUG=
R=sra@google.com

Review URL: https://codereview.chromium.org/1583993005 .
2016-01-14 14:01:20 -08:00
Lasse R.H. Nielsen 2d44ed69e9 Implement (partially) ?? being compile-time constant in analyzer.
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1577293002.
2016-01-14 16:17:52 +01:00
Paul Berry 51f8e5f82a Verify that import prefixes don't shadow exports.
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1585753002 .
2016-01-13 12:45:21 -08:00
Regis Crelier ca1d105c5a Fix finalization of recursive type graph with bounds (issue 25389).
Add regression test.
Rename malformed_error to bound_error.
Fix internal name of bounded type (broken by a previous cl).

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1580643004 .
2016-01-13 11:19:14 -08:00
Asger Feldthaus b5d2165883 dart2js cps: Update status file.
A test started failing after we changed the hints we set on continuation
parameters.  That should not affect semantics so the failure indicates
something else being wrong.

BUG=

Review URL: https://codereview.chromium.org/1581963003 .
2016-01-13 09:41:56 -08:00
Paul Berry 353661ce57 Test that a deferred import of dart:core is ok.
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1583823003 .
2016-01-13 08:24:28 -08:00
Florian Loitsch e775fa0932 Add support for 'dart.library.X' environment variables in dart2js.
R=johnniwinther@google.com, sigurdm@google.com

Committed: https://github.com/dart-lang/sdk/commit/369899c8ffca28f28a1af3cc323d1111c1a4a48a
Reverted: https://github.com/dart-lang/sdk/commit/b80994d6ad63ac30b400590cf51815e862c0e8a1

Review URL: https://codereview.chromium.org/1404183002 .
2016-01-13 16:34:46 +01:00
Ivan Posva 8741a8dcda - Update status files.
BUG=

Review URL: https://codereview.chromium.org/1579213003 .
2016-01-13 01:39:40 -08:00
Ryan Macnak 80702cb272 Fall back to inlining intervals to generate stack traces in --noopt. Inlined frames will lack line and column positions, but they will at least be expanded.
Fix stack traces when visible functions are inlined into an invisible function.

Fix off-by-one expanding inlined functions in the profiler.

BUG=http://dartbug.com/24783
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1582683003 .
2016-01-12 16:45:00 -08:00
Florian Loitsch b80994d6ad Revert "Add support for 'dart.library.X' environment variables in dart2js."
This reverts commit 369899c8ff.

Review URL: https://codereview.chromium.org/1573243004 .
2016-01-12 14:41:00 +01:00
Florian Loitsch 369899c8ff Add support for 'dart.library.X' environment variables in dart2js.
R=johnniwinther@google.com, sigurdm@google.com

Review URL: https://codereview.chromium.org/1404183002 .
2016-01-12 13:58:46 +01:00
Lasse R.H. Nielsen fd59c87146 Make ?? a compile-time constant operator.
Update specification, change analyzer, VM and dart2js.

Fixes issue #25054.
BUG= http://dartbug.com/25054
R=floitsch@google.com, gbracha@google.com

Review URL: https://codereview.chromium.org/1493693002 .
2016-01-12 12:30:07 +01:00