Commit Graph

5559 Commits

Author SHA1 Message Date
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
johnniwinther@google.com 256affbaa2 Handle call properties in is-checks.
BUG=http://dartbug.com/9601

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20848 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-03 11:38:29 +00:00
asiva@google.com e7bb0455bc Fix status file to account for crash in issue7525_test.dart
Review URL: https://codereview.chromium.org//13421003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20823 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-02 21:36:58 +00:00
iposva@google.com 5671af9230 - Fix typo in https://codereview.chromium.org/13190014
Review URL: https://codereview.chromium.org//13430010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20789 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-02 16:21:41 +00:00
srdjan@google.com 60e57ecfe1 Optimizes 'as' operation in similar way as 'instanceof': collect type feedback in unoptimized mode and try to convert it to a simple classcheck in optimized code.
Review URL: https://codereview.chromium.org//13190014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20783 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-02 15:30:14 +00:00
ngeoffray@google.com 5761086498 Fix bug 9239 by always evaluating the receiver before the value in an instance SendSet.
Review URL: https://codereview.chromium.org//13094013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20649 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-28 21:46:02 +00:00
hausner@google.com a9324c5338 Add constructor test
Constructor has side effects mutating the parameters and checking
whether the mutated values are remembered in the constructor body.
Review URL: https://codereview.chromium.org//13181004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20638 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-28 20:06:56 +00:00
regis@google.com 3e4d359fce Fix an F-bounded quantification bug (issue 9291).
Add regression test.
Review URL: https://codereview.chromium.org//13119022

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20576 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-27 20:42:02 +00:00
srdjan@google.com c5e562d18d Improve code for !identical(a, b):
"x = (a === b); y = (x !== true)" => "y = (a !== b)".
Review URL: https://codereview.chromium.org//12852007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20550 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-26 23:41:27 +00:00
regis@google.com f50189a001 Fix issue 9442.
Add regression test.
Review URL: https://codereview.chromium.org//13046009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20545 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-26 21:26:03 +00:00
regis@google.com 5eeaba1d98 Update function subtyping rules to latest spec (issue 9057).
Update language tests and status files (and filed co19 issue 392).
Review URL: https://codereview.chromium.org//12940010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20493 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-25 22:14:17 +00:00
ngeoffray@google.com 8651b2a290 Fix registering on interceptor classes: the resolution queue register abstract classes (Sring, List, ...), the backend registers implementation classes (JSString, JSArray, ...).
Review URL: https://codereview.chromium.org//12908006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20474 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-25 19:41:13 +00:00
hausner@google.com 89346f3e3a Remove legacy syntax support for library import
Remove legacy syntax for #import, #library and #source
Update test programs
Recalc fingerprints of inlined functions that were apparently
affected by the change of library name from "dart:io" to dart.io.
Review URL: https://codereview.chromium.org//12880023

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20466 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-25 18:11:08 +00:00
iposva@google.com 349391e323 - Add issue number.
Review URL: https://codereview.chromium.org//12729033

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20411 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-22 19:57:12 +00:00
iposva@google.com 9419bdadc1 Fix bug 4898:
- Mark test as runtime error based on the spec.
- Update status files for dartc, dart2dart and dart2js.
Review URL: https://codereview.chromium.org//13009002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20407 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-22 19:11:10 +00:00
hausner@google.com 1548e37c82 Fix dartium tests
Review URL: https://codereview.chromium.org//12729031

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20392 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-22 18:06:26 +00:00
hausner@google.com d4872a1499 Support initialized mixin fields across scripts
Add capability to set parser to read tokens from different
scripts and token positions. This is used when the initializer
expression of a field resides in a different script.
Review URL: https://codereview.chromium.org//12827007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20388 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-22 17:06:42 +00:00
hausner@google.com 595271f2c9 Properly handle cascades in top-level functions
Fix for bug 8530
Review URL: https://codereview.chromium.org//12647012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20279 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-20 17:04:28 +00:00
hausner@google.com 472bf6fde3 Fix dart2js status
Review URL: https://codereview.chromium.org//12437020

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20262 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-20 00:05:23 +00:00