ngeoffray@google.com
f7f6901722
Fix oversight in side effects computation and closure calls.
...
R=kasperl@google.com
Review URL: https://codereview.chromium.org//15027014
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22614 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-13 10:27:56 +00:00
scheglov@google.com
44ab6ee5f2
Report CTEC.AMBIGUOUS_EXPORT
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//14657012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22583 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-10 15:13:47 +00:00
scheglov@google.com
e1c1d8c09b
Report CompileTimeErrorCode.MIXIN_REFERENCES_SUPER
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//14698013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22569 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-09 21:23:21 +00:00
scheglov@google.com
08ed1cdb5d
Report CompileTimeErrorCode.INVALID_REFERENCE_TO_THIS
...
R=brianwilkerson@google.com , jwren@google.com
BUG=
Review URL: https://codereview.chromium.org//15085012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22566 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-09 21:05:00 +00:00
scheglov@google.com
5d1a4b46b3
Report MIXIN_INHERITS_FROM_NOT_OBJECT
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//14773018
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22559 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-09 19:34:58 +00:00
scheglov@google.com
7da1adef44
Report CompileTimeErrorCode.WRONG_NUMBER_OF_PARAMETERS_FOR_SETTER for top-level setters.
...
R=brianwilkerson@google.com , jwren@google.com
BUG=
Review URL: https://codereview.chromium.org//15028010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22554 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-09 18:10:52 +00:00
scheglov@google.com
79e7230e06
Report CompileTimeErrorCode.MIXIN_DECLARES_CONSTRUCTOR
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//14655016
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22549 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-09 15:48:05 +00:00
scheglov@google.com
7fd5cf3e12
Report CompileTimeErrorCode.INVALID_CONSTRUCTOR_NAME
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//15083002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22548 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-09 15:32:36 +00:00
scheglov@google.com
bd38f82625
Report StaticTypeWarningCode.AMBIGUOUS_IMPORT when used as type annotation.
...
R=brianwilkerson@google.com , jwren@google.com
BUG=
Review URL: https://codereview.chromium.org//15074002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22542 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-09 01:43:28 +00:00
scheglov@google.com
60ac65a3e0
Make analysis dyi bot green.
...
TBR
R=devoncarew@google.com
BUG=
Review URL: https://codereview.chromium.org//14816005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22538 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-08 23:58:11 +00:00
scheglov@google.com
c7c94a3b3c
Tweak new analyzer status files.
...
Skip 20 tests.
Update for new passed/failed tests.
R=devoncarew@google.com
BUG=
Review URL: https://codereview.chromium.org//14773011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22522 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-08 18:40:06 +00:00
kasperl@google.com
8173acc17d
Fix issue 10487 by adapting the type checker so it uses the dynamic type for throw expressions.
...
R=johnniwinther@google.com
BUG=
Review URL: https://codereview.chromium.org//14756007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22501 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-08 09:28:10 +00:00
ngeoffray@google.com
49644d4c70
Fix https://code.google.com/p/dart/issues/detail?id=10474 by not loop hoisting instructions that may throw.
...
Review URL: https://codereview.chromium.org//14972005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22500 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-08 09:19:00 +00:00
scheglov@google.com
98d449366f
More new analyzer status file tweaks to run with --checked
...
R=devoncarew@google.com
BUG=
Review URL: https://codereview.chromium.org//14903004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22492 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-08 05:38:51 +00:00
vegorov@google.com
2565ca222f
Implement a variation of scalar replacement for non-escaping allocations.
...
AllocationSinking pass discovers non-escaping allocations that have no input uses other than uses in the stores into its own fields.
Every environment use of such allocation is replaced by a state snapshot (MaterializeObject instruction) that describes the state of each initialized field in the object. State snapshots are computed through an additional round of load-forwarding.
Once snapshots are computed allocations are removed from the graph.
MaterializeObject instructions are not compiled into native code but produce deoptimization instructions instead that describe how object should be materialized at deoptimization.
Deoptimization instructions now follow the following format:
[mat obj #1 ]...[mat obj #N][ret addr][... mat arguments ...][... real frames ...]
- the prefix describes each object to materialize on deopt via kMaterializeObject instruction;
- actual values that are needed for materialization are emited as a part of bottom-most stack frame. This is done to simplify implementation: they need to be discoverable by a GC during materialization phase. At the end of deoptimization they will be removed from the stack;
- normal stack slots can refer to materialized objects via kMaterializedObjectRef instruction.
Additionally this change contains fixes in load-forwarding that are needed to guarantee that all artificial LoadField instructions inserted during AllocationSinking are correctly replaced with actual values.
Limitations of the current implementation:
- can't eliminate allocations that flow into phis but otherwise don't actually escape;
- can't sink allocations out of loops;
- allocation with type arguments are not handled.
R=regis@google.com , srdjan@google.com , zra@google.com
Review URL: https://codereview.chromium.org//14935005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22485 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-07 23:40:42 +00:00
scheglov@google.com
2214a97df7
Update status files for 'dartanalyer'.
...
Small tweak for the Java command line analyzer to actually support --package-root option in batch.
R=devoncarew@google.com
BUG=
Review URL: https://codereview.chromium.org//14786020
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22480 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-07 21:45:20 +00:00
johnniwinther@google.com
afcaf39439
Remove support for interface in dart2js.
...
R=ahe@google.com
Review URL: https://codereview.chromium.org//14907008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22403 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-06 06:21:42 +00:00
karlklose@google.com
57124b5594
Implement implicit constructors in mixin applications.
...
R=kasperl@google.com
Review URL: https://codereview.chromium.org//14168003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22367 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-03 12:15:35 +00:00
ngeoffray@google.com
aa7c44e340
Re-apply https://codereview.chromium.org/14636002/ , but this time avoid creating TypeMask with dynamic.
...
R=kasperl@google.com
Review URL: https://codereview.chromium.org//14751009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22307 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-02 09:43:58 +00:00
hausner@google.com
1d9eb0d9f0
Fix status file for dart
...
Review URL: https://codereview.chromium.org//14586005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22294 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-02 00:05:41 +00:00
hausner@google.com
2a2e7c8305
Fix another library name
...
Review URL: https://codereview.chromium.org//14800003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22293 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-01 23:30:10 +00:00
hausner@google.com
d114137da4
Fix more library name inconsistencies in tests
...
Review URL: https://codereview.chromium.org//14798002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22291 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-01 23:22:40 +00:00
hausner@google.com
37d226d230
Fix another part-of related test failure
...
Library names must match.
Review URL: https://codereview.chromium.org//14788009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22288 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-01 22:05:15 +00:00
hausner@google.com
9c7f8e873c
Fix library names in language tests
...
A part can't be part of two different libraries with different names.
Review URL: https://codereview.chromium.org//14790012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22286 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-01 21:35:08 +00:00
hausner@google.com
8e29370a1b
BREAKING CHANGE: enforce part of directive
...
For historical reasons, the VM is currently too lenient when parsing library parts. Files that get loaded through a 'part' directive must start with a 'part of libraryname;' clause. The VM so far has not reported an error if the clause is missing.
This change enforces the grammar as the Spec mandates it. Library parts that do not start with 'part of' will no longer compile.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//14791005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22278 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-01 20:46:48 +00:00
ngeoffray@google.com
96d0c724f4
Fix issue 10321 by invalidating previous "generate at use site" optimizations based on a pure instruction that is being moved in the graph.
...
R=ahe@google.com , kasperl@google.com
Review URL: https://codereview.chromium.org//14602011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22232 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-01 09:49:09 +00:00
ngeoffray@google.com
344783757c
Fix checked mode error.
...
Review URL: https://codereview.chromium.org//14109026
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22121 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-29 14:11:24 +00:00
ngeoffray@google.com
72096c315b
When a phi is generated at use site, the names of its inputs must be freed by the user of the phi.
...
R=kasperl@google.com
Review URL: https://codereview.chromium.org//14487008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22118 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-29 13:13:27 +00:00
johnniwinther@google.com
73fe0daff9
Check for cyclicity in named mixin applications.
...
Review URL: https://codereview.chromium.org//14532005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22114 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-29 11:50:29 +00:00
ngeoffray@google.com
e5e17e71fa
Fix issue 10216. If the type mask is a subtype, and its base mixes in class A, it should consider an element of class A as potential runtime targets.
...
R=kasperl@google.com
Review URL: https://codereview.chromium.org//14268020
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22111 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-29 10:58:42 +00:00
ngeoffray@google.com
f341cacd45
Do not infer types of arguments of closures and methods named "call".
...
R=ahe@google.com
Review URL: https://codereview.chromium.org//14260012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22109 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-29 10:38:46 +00:00
johnniwinther@google.com
f90f35f643
Status updated.
...
BUG=
Review URL: https://codereview.chromium.org//13982019
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22016 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-25 08:29:19 +00:00
kasperl@google.com
102da4779f
Update dart2dart test status (after throw as an expression).
...
R=ngeoffray@google.com
BUG=
Review URL: https://codereview.chromium.org//14268016
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21933 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-24 09:18:39 +00:00
kasperl@google.com
1ae2542bae
Add support for rethrow and start treating throw <expr> as an expression.
...
R=ngeoffray@google.com
BUG=
Review URL: https://codereview.chromium.org//14211008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21930 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-24 08:24:28 +00:00
ngeoffray@google.com
a2f2eb7b96
Move test to dart2js_extra since it does not apply to VM.
...
Review URL: https://codereview.chromium.org//14091016
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21874 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-23 12:12:55 +00:00
ngeoffray@google.com
03a65ef1fe
Throw NoSuchMethod or ArgumentError instead of generating a bailout, when we know the next instruction after a type guard will throw.
...
Review URL: https://codereview.chromium.org//14404004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21870 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-23 11:51:45 +00:00
vegorov@google.com
2e0af6585f
Ensure that type of the AssertAssignable instruction is recomputed.
...
If the previous type was more specific than destination type but new value type is not than we need to update outgoing type to be destination type. Otherwise a stale more specific type will be flowing out.
BUG=dart:10094
R=kmillikin@google.com
Review URL: https://codereview.chromium.org//14034011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21809 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-22 12:30:05 +00:00
ngeoffray@google.com
4bbf678d64
Fix bug with namer: use the same encoding for an instance method, whether it is an invocation or a definition.
...
Review URL: https://codereview.chromium.org//14267021
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21744 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-19 15:20:31 +00:00
srdjan@google.com
9b53a42536
Add flag --check-function-fingerprints, it checks all function fingerprints of the intrinsifier and method recognizer. Added flag to a test so that the fingerprints will be tested during a regular test.
...
Review URL: https://codereview.chromium.org//14247005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21711 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-18 23:18:13 +00:00
ahe@google.com
2abb5be5ec
Implement Symbol correctly in dart2js.
...
Review URL: https://codereview.chromium.org//14079003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21694 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-18 19:25:22 +00:00
ahe@google.com
5d8b1a1d8c
Move invokeOn to InstanceMirror.
...
Review URL: https://codereview.chromium.org//14251021
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21636 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-17 16:39:19 +00:00
ngeoffray@google.com
c48bb29f06
Fix issue https://code.google.com/p/dart/issues/detail?id=9251 , by compiling for/in correctly.
...
Review URL: https://codereview.chromium.org//13865004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21622 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-17 15:07:52 +00:00
ngeoffray@google.com
e1e0350845
Fix issue 9939 by making the body of a try block have two successors: the join block after the try/catch, and the catch (or finally) block.
...
Review URL: https://codereview.chromium.org//13912013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21618 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-17 12:30:09 +00:00
ngeoffray@google.com
96afd90f64
Take noSuchMethod into account when computing the potential targets of a call.
...
Review URL: https://codereview.chromium.org//14049010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21609 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-17 09:38:18 +00:00
ngeoffray@google.com
55c67a1fd9
Fix variable allocator in the presence of HCheck instructions.
...
Review URL: https://codereview.chromium.org//13877009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21607 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-17 09:05:52 +00:00
ngeoffray@google.com
3771eca383
Fix crash reported in http://code.google.com/p/dart/issues/detail?id=9949 .
...
Review URL: https://codereview.chromium.org//14178008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21605 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-17 08:29:14 +00:00
ahe@google.com
89be2ccac8
Change memberName and namedArguments in Invocation to use Symbol.
...
Review URL: https://codereview.chromium.org//14066019
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21602 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-17 07:54:48 +00:00
floitsch@google.com
466d6670c1
Refactor Future constructors.
...
BUG=
Review URL: https://codereview.chromium.org//14070010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21517 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-15 21:24:27 +00:00
ahe@google.com
5b6c0ba820
Rename InvocationMirror to Invocation.
...
Review URL: https://codereview.chromium.org//14049009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21465 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-15 15:42:44 +00:00
lrn@google.com
485c8a5999
Move Iterable implementation to collection.
...
Add IterableMixin and IterableBase to dart:collection.
For now, the implementation is duplicated, because mixins and const
constructors don't mix. We hope that mixins will be improved in the
future to allow using the mixin to define the base class.
Review URL: https://codereview.chromium.org//14022007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21457 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-15 14:32:16 +00:00