Commit Graph

5559 Commits

Author SHA1 Message Date
floitsch@google.com 898a3d8867 Relax method override restrictions.
This implements part of issue 11495.

BUG= http://dartbug.com/11495
R=regis@google.com

Committed: https://code.google.com/p/dart/source/detail?r=24731
Reverted: https://code.google.com/p/dart/source/detail?r=24733

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24736 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-03 18:02:11 +00:00
scheglov@google.com 6c6b88967f Remove dartc status sections.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24735 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-03 17:50:34 +00:00
johnniwinther@google.com 20b5a01fe1 Revert "Fix minified signature generation."
This reverts commit r24715.

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24717 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-03 06:03:24 +00:00
johnniwinther@google.com a02df6ff5a Add test for checked setters of generic types.
R=karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24716 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-03 05:55:53 +00:00
johnniwinther@google.com f6e0f46678 Fix minified signature generation.
BUG=dartbug.com/11469
R=erikcorry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24715 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-03 05:45:23 +00:00
iposva@google.com 4e96a9bfef Fix bug 11637:
- Handle repeated private name mangling which can been introduced
  with mixins.

R=rmacnak@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24712 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-03 01:37:02 +00:00
hausner@google.com 8b8795fc0b Const constructor must have const super initializer
Compile time error if a const constructor calls a non-const super
constructor (either explicitly or implicitly).

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24704 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-02 20:09:24 +00:00
karlklose@google.com 9c3a63b7c9 Report error when using initializing formals in redirecting constructors.
BUG=dartbug.com/6242
R=johnniwinther@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24687 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-02 14:22:57 +00:00
johnniwinther@google.com 615ff96eed Retain type annotations for function subtyping in minified mode.
BUG=dartbug.com/11467,dartbug.com/11468
R=antonm@google.com, karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24681 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-02 12:45:00 +00:00
karlklose@google.com 2f5c65496f Update drt test expectations.
TBR=johnniwinther@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24676 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-02 09:35:20 +00:00
karlklose@google.com 8fb445c1c9 Make closures in constructor initializers read type variables directly.
BUG=dartbug.com/11540
R=johnniwinther@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24674 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-02 08:56:05 +00:00
scheglov@google.com 8b0684be54 New analyzer_experimental snapshot.
R=brianwilkerson@google.com, devoncarew@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24613 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-28 22:34:01 +00:00
srdjan@google.com 15c47d5bf6 Fix 11574: Smi is a subtype of parametrizable Compare.
R=regis@google.com, zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24612 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-28 22:30:59 +00:00
brianwilkerson@google.com d89ef55006 Add error on use of argument definition test
R=jwren@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24604 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-28 19:08:36 +00:00
ahe@google.com 3a23c34dc1 Handle map literals in conditional expression in PartialParser.skipExpression.
BUG=http://dartbug.com/11570
R=kasperl@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24586 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-28 12:55:30 +00:00
kmillikin@google.com 5f9331e20c Fix a VM bug in the handling of try/catch/finally.
In the case that code in the catch block threw in any fashion, the
finally block was not executed.  Fix this by properly treating the
finally block of try/catch/finally as an exception handler for the
catch block.

R=fschneider@google.com, srdjan@google.com
BUG=https://code.google.com/p/dart/issues/detail?id=430

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24583 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-28 12:28:56 +00:00
scheglov@google.com 69dc734f8b Report TYPE_ALIAS_CANNOT_REFERENCE_ITSELF
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24568 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-28 01:12:31 +00:00
zra@google.com e730b67b10 Fixes bug in mips left shift.
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24561 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-27 23:11:13 +00:00
scheglov@google.com 594c29a13f Report PRIVATE_OPTIONAL_PARAMETER in more cases.
R=brianwilkerson@google.com, jwren@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24544 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-27 19:49:15 +00:00
iposva@google.com f48d70cec2 - Update analyzer status file: ? operator needs to be removed.
Review URL: https://codereview.chromium.org//18050010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24540 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-27 18:52:55 +00:00
iposva@google.com 50fc824be9 - Remove arguments definition test from the VM.
- Update tests still referring to it.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24539 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-27 18:37:53 +00:00
scheglov@google.com e5b3f9f855 Report errors for invalid annotations.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24529 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-27 16:58:04 +00:00
fschneider@google.com fd3f443181 Fix a bug in allocation sinking and load elimination.
1. Aliasing information was not computed for allocations that
are never used in a LoadField instruction.

2. CanBeAliased was not correct in the case of a StoreVMField.

BUG=https://code.google.com/p/dart/issues/detail?id=11538
TEST=runtime/vm/flow_graph_optimizer.cc
R=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24515 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-27 13:26:23 +00:00
regis@google.com 169bc2f989 Fix code for store buffer update on ARM and MIPS (link register was trashed).
R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24493 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-26 22:14:42 +00:00
regis@google.com 5ffa56b798 Fix and simplify invocation of noSuchMethod on all platforms after the wrong
number (or bad name) of arguments is passed.
The frame of the wrong method (the one invoked with the wrong number or name of
arguments) is not left on the stack and therefore not visible in the stack trace
anymore, which is much cleaner, especially since the leftover frame was not
fully initialized.
This change was already done on ARM.

R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24485 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-26 19:58:49 +00:00
zra@google.com ce82a777e5 Fixes integer negate intrinsic for arm and mips.
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24481 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-26 17:43:48 +00:00
regis@google.com 70043d1f94 Fix and simplify invocation of noSuchMethod on ARM after the wrong number of
arguments is passed.
The frame of the wrong method (the one invoked with the wrong number of
arguments) is not left on the stack and therefore not visible in the stack trace
anymore, which is much cleaner, especially since the leftover frame was not
fully initialized.
Note: We should simplify this on other platforms as well.

R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24475 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-26 16:31:53 +00:00
fschneider@google.com 7e71783df6 Support type arguments for allocation sinking in certain conditions.
The type arguments are treated like a normal field that is initialized
with the type arguments passed to the allocation stub. This CL restricts
the optimization to the case where no instantiator is passed
(instantiator == kNoInstantiator). In this case the type arguments are
either a constant or loaded from a field.

Also: improve variable liveness analysis by pruning partially dead
variables from the environment. At the beginning of each block, all 
variables that are _not_ in live-in are replaced with null.

R=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24459 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-26 09:20:46 +00:00
fschneider@google.com b76b3bbbf4 Correctly deal with method invocation of a getter.
If getter lookup succeeds, but getter invocation throws
an exception, the result is the thrown exception and
not as previously noSuchMethod invocation.

BUG=https://code.google.com/p/dart/issues/detail?id=11512
TEST=tests/language/method_invocation_test.dart
R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24457 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-26 08:44:00 +00:00
kasperl@google.com 1e6c3a1998 Remove support for 'argument definitions test' from dart2js.
R=ngeoffray@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24455 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-26 08:02:25 +00:00
iposva@google.com 11632110c6 - Revert r24441 until issues found have been addressed.
Review URL: https://codereview.chromium.org//17769004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24443 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 23:38:45 +00:00
iposva@google.com ddc3e13f8a - Trial balloon for removal of argument definition test.
This change removes the support for the ? operator.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24441 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 23:04:19 +00:00
jwren@google.com 5b4546b4ec Combine TYPE_ARGUMENT_VIOLATES_BOUNDS and TYPE_ARGUMENT_NOT_MATCHING_BOUNDS into TYPE_ARGUMENT_NOT_MATCHING_BOUNDS, and cover remaining TypeName cases.
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24435 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 22:06:54 +00:00
zra@google.com 99772465b5 Updates status files for arm hardware
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24431 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 20:16:02 +00:00
zra@google.com 5bf5a92064 Fixes bugs in arm and mips intrinsifier.
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24427 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 18:58:47 +00:00
vegorov@google.com 370a99eda4 Refactor load forwarding pass to use a Place abstraction.
Place describes a location that code can load from or store to.

Start forwarding loads through phis.

Previously load forwarding operated directly on load instructions which complicated certain things e.g. implementation of a hash map had to allow looking up a load instruction by store instruction, forwarding through phis might have required introducing synthetic load instructions to be put into the map.

R=kmillikin@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24426 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 18:50:26 +00:00
kmillikin@google.com 8fa4f3134a Add an exhaustive test of for loops.
Test 52 different versions of for loops created by including or leaving
off various bits of the loop structure.

BUG=
R=iposva@google.com, srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24384 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 07:50:44 +00:00
johnmccutchan@google.com db9f4d4ef7 Remove --disable_privacy
BUG=https://code.google.com/p/dart/issues/detail?id=11493
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24374 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 22:45:12 +00:00
zra@google.com 8edda78ccc Enables more tests for SIMMIPS.
. Fixes register allocation bugs
. Implements float <-> double conversion in assembler and simulator.
. Fixes floating point argument passing for simarm and simmips,
  and floating point return for simarm, and adjusts tests to match.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24365 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 20:16:16 +00:00
scheglov@google.com 72ae727f63 Report CompileTimeErrorCode.CONFLICTING_METHOD_AND_GETTER
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24360 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 18:38:31 +00:00
kasperl@google.com 2aed492df2 Update ie9 status after tweaking inlining heuristics.
R=ngeoffray@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24358 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 18:31:58 +00:00
scheglov@google.com b0da45bbab Report CompileTimeErrorCode.INSTANCE_STATIC_MEMBER
R=brianwilkerson@google.com, jwren@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24353 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 17:36:16 +00:00
fschneider@google.com 0bf7251d1a Reland: Optimizing noSuchMethod invocation with no arguments.
This is the same CL as https://codereview.chromium.org/17315008/ with
one bug fixed:

If a method is invoked with a mismatching number of arguments, we don't
add a no-such-method-dispatcher function since the dispatcher currently
can only invoke noSuchMethod and would not work if the method
is invoked with correct arguments at a later point.

I extended the test to cover that case.

TEST=tests/language/no_such_method_dispatcher_test.dart
R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24351 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 17:18:51 +00:00
scheglov@google.com ad8cb0aeed Report CONST_INITIALIZED_WITH_NON_CONSTANT_VALUE when 'new' even if 'const' constructor.
R=brianwilkerson@google.com, jwren@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24346 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 16:38:36 +00:00
scheglov@google.com 4aba9a97c1 More cases to report IMPLICIT_THIS_REFERENCE_IN_INITIALIZER
R=brianwilkerson@google.com, jwren@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24345 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 16:34:35 +00:00
scheglov@google.com c5f42c2fb3 Report CTEC.INSTANCE_MEMBER_ACCESS_FROM_STATIC
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24343 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 16:20:48 +00:00
scheglov@google.com b4ec80d99d Report NO_DEFAULT_SUPER_CONSTRUCTOR_EXPLICIT as CTEC.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24342 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 16:16:26 +00:00
karlklose@google.com 63d4b42a35 Update dart2dart test expectations.
R=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24334 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 13:50:00 +00:00
vegorov@google.com 35ce4d245f Ensure that allocation sinking candidates are classified as not-aliased before final load forwarding.
R=fschneider@google.com
BUG=dart:11436

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24325 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 12:16:10 +00:00
johnniwinther@google.com eb2b22d356 Remove dart2dart status failures.
BUG=
R=karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24321 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 10:46:56 +00:00