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
floitsch@google.com
bebe3ac2cd
Refactor List.setRange function.
...
Review URL: https://codereview.chromium.org//13863012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21452 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-15 13:52:29 +00:00
lrn@google.com
43a8774e2e
Fix expectations for stack-trace tests to also match dart2dart.
...
Review URL: https://codereview.chromium.org//14049008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21449 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-15 13:29:34 +00:00
lrn@google.com
7164dfaafe
Make dart2js language/stacktrace_test Pass or Fail.
...
Whether it passes or fails depends on the JS engine running the code.
Review URL: https://codereview.chromium.org//14122009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21444 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-15 12:43:15 +00:00
lrn@google.com
0f607e459c
Remove methods on StackTrace class.
...
The API is not ready for finalization, so we remove it for further
development after M4.
Makes dart2js's StackTrace object implement dart:core's StackTrace.
Marks dart2js stack-trace tests as Fail instead of Skip.
Review URL: https://codereview.chromium.org//14009004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21437 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-15 11:44:30 +00:00
hausner@google.com
54dde7ce89
Implement rethrow statement
...
Or: how to turn a 5 minute task into a 2 hour ordeal.
The actual business of the change is one line in token.h and one line in parser.cc.
Review URL: https://codereview.chromium.org//14012005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21371 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-12 16:32:37 +00:00
vegorov@google.com
06ef8eafad
Support IfThenElse instruction pattern for arbitrary smi constants.
...
Also fix bug in the IfThenElse::Canonicalize.
BUG=
Review URL: https://codereview.chromium.org//13884009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21364 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-12 15:28:29 +00:00
ahe@google.com
13bcc022e6
Correctly compile unresolved for-in loops.
...
BUG=http://dartbug.com/6725
Review URL: https://codereview.chromium.org//13866010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21342 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-12 10:19:51 +00:00
ajohnsen@google.com
044f0d02eb
Remove Collection, Collections and clean up List/Set/Queue implementations of retain/remove.
...
BUG=
Review URL: https://codereview.chromium.org//14173003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21338 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-12 09:34:52 +00:00
ngeoffray@google.com
563aa07a72
Fix typos.
...
Review URL: https://codereview.chromium.org//14137006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21280 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-11 13:29:31 +00:00
ngeoffray@google.com
ba4d23258b
Fix first part on liveness analysis of bug https://code.google.com/p/dart/issues/detail?id=9687 : a throw in a catch block must have the finally block as a successor.
...
Review URL: https://codereview.chromium.org//14071003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21278 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-11 13:20:12 +00:00
ngeoffray@google.com
7b3b80529c
Fix invalid SSA graph generated by dart2js in a do/while with breaks, by removing locals that do not exist in all breaks.
...
Review URL: https://codereview.chromium.org//13877005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21271 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-11 12:10:49 +00:00
erikcorry@google.com
9d044d3f20
dart2js: Allow 'throw' when inlining
...
R=karlklose@google.com
BUG=
Review URL: https://codereview.chromium.org//13947004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21259 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-11 09:20:28 +00:00
regis@google.com
bdcca76e3a
Prohibit use of dynamic when extending or implementing classes (was crashing).
...
Added test.
Fix typos in array patch.
Cleanup factory result finalization.
Do not verify field offsets after a finalization error.
Review URL: https://codereview.chromium.org//13992002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21217 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-10 16:43:39 +00:00
vegorov@google.com
11edd87390
Convert diamond shaped control flow into a single conditional instruction.
...
Adds a IfConverter pass that right now recognizes two simple patterns cond ? 0 : 2^n and cond ? x : x+-1 that can be generated without branches on ia32 and x64 using setcc instruction.
R=fschneider@google.com
Review URL: https://codereview.chromium.org//14057004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21207 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-10 15:09:46 +00:00
ngeoffray@google.com
51f4e4c5ee
Realize that this() is a closure send.
...
Review URL: https://codereview.chromium.org//13912003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21204 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-10 14:14:54 +00:00
floitsch@google.com
343fa26d65
Remove deprecated Expect from the libraries.
...
Review URL: https://codereview.chromium.org//13724021
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21079 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-08 16:07:34 +00:00
karlklose@google.com
b2d5c2bb62
Make sure required type arguments are given when using factories.
...
When a factory is used to create an instance using type arguments and these instances needed the type arguments, we did not track that requirement, because we only knew about the constructor call to the factory.
Review URL: https://codereview.chromium.org//13642002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21057 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-08 10:38:18 +00:00
kustermann@google.com
f168de9c51
language/execute_finally{8,9}_test are passing now on safari
...
Review URL: https://codereview.chromium.org//13777004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21053 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-08 08:44:59 +00:00
floitsch@google.com
8fd6d0aafd
Remove Expect from core library.
...
Committed: https://code.google.com/p/dart/source/detail?r=19755
Reverted: http://code.google.com/p/dart/source/detail?r=19756
Review URL: https://codereview.chromium.org//12212016
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20996 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-05 19:43:16 +00:00
erikcorry@google.com
08e09ad2f2
Fix buildbot VM breakage caused by incorrect test
...
R=ahe@google.com
BUG=
Review URL: https://codereview.chromium.org//13646007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20970 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-05 15:02:39 +00:00
johnniwinther@google.com
843dfb2008
Handle private fields from mixins.
...
BUG=http://dartbug.com/9602
Review URL: https://codereview.chromium.org//13521008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20966 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-05 13:20:11 +00:00
erikcorry@google.com
cc6db230be
dart2js: Fix SSA corner case with always breaking loop and failing assert
...
R=johnniwinther@google.com
BUG=
Review URL: https://codereview.chromium.org//13723002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20965 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-05 13:06:04 +00:00
karlklose@google.com
2b1e42801d
Make this available in closures if a type variable is used as expression.
...
Review URL: https://codereview.chromium.org//13527003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20950 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-05 08:32:30 +00:00
regis@google.com
158d90d50f
Prevent expensive and unnecessary error formatting in the case a bound check is
...
postponed to run time (issue 9106).
Eliminate bound check at compile time in some cases.
Fix bound checking of mutually referencing bounds.
Added test.
Review URL: https://codereview.chromium.org//13653005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20938 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-04 20:24:49 +00:00
fschneider@google.com
5e0ac1419e
Use range analysis to improve constant propagation.
...
This CL runs a second round of constant propagation after range
analysis to eliminate additional unreachable code. Range analysis
is changed to mark branches as constant if the constraints they
generate are unsatisfiable.
The second pass of constant propagation only visits branches and
removes unreachable code, but does not do full constant propagation.
This proves useful when inlining array view operations where the
following pattern occurs:
for (i = 0; i < length; i++) {
if (i < 0 || i >= length) {
throw 123;
}
foo();
}
In this example the if-statement will be eliminated completely.
Also, fix a bug in range analyis where constraints of already
constrained values were missing.
Review URL: https://codereview.chromium.org//13469013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20914 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-04 12:42:17 +00:00
kasperl@google.com
da72ff691c
Add crashing bug for issue 9602.
...
R=karlklose@google.com
BUG=
Review URL: https://codereview.chromium.org//13502006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20913 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-04 12:26:12 +00:00
kasperl@google.com
959dbef11d
Fix issue 9664.
...
R=lrn@google.com
BUG=
Review URL: https://codereview.chromium.org//13621003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20910 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-04 09:17:53 +00:00
kasperl@google.com
fedee176c6
Add crashing test case for for dartbug.com/9664.
...
R=erikcorry@google.com
BUG=
Review URL: https://codereview.chromium.org//13621002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20909 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-04 07:37:08 +00:00
srdjan@google.com
1441b09b0b
Make type_cast test less fragile.
...
Review URL: https://codereview.chromium.org//13547002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20877 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-03 17:19:38 +00:00
srdjan@google.com
ae25ca904c
Fix issue 9608: When replacing call with assert assignable, transfer call's deopt_id to the new node.
...
Review URL: https://codereview.chromium.org//13464021
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20871 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-03 16:22:24 +00:00
lrn@google.com
83f88eaacb
Fix linenumbers in VM tests.
...
Review URL: https://codereview.chromium.org//13526004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20859 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-03 13:03:47 +00:00
johnniwinther@google.com
d41baf225c
Use correct compilation unit for inlined field initializers.
...
BUG=http://dartbug.com/9602
Review URL: https://codereview.chromium.org//13408008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20851 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-03 12:17:00 +00:00