Commit Graph

5559 Commits

Author SHA1 Message Date
ngeoffray@google.com 40332497d0 Also crashes on dart2dart.
Review URL: https://codereview.chromium.org//12388020

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19234 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-28 14:56:55 +00:00
ngeoffray@google.com b84dba5539 It's actually a fail.
Review URL: https://codereview.chromium.org//12383021

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19225 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-28 13:55:44 +00:00
ngeoffray@google.com 44d23fec96 Add a test that makes both dart2js and the VM crash.
Review URL: https://codereview.chromium.org//12387013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19224 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-28 13:45:24 +00:00
ngeoffray@google.com 601975e930 Make sure field initializers have access to the type variables.
Review URL: https://codereview.chromium.org//12390010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19217 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-28 12:48:57 +00:00
karlklose@google.com 5923bf1ce9 Implement is-checks against type variables.
Review URL: https://codereview.chromium.org//12210142

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19216 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-28 12:23:17 +00:00
ngeoffray@google.com d727259404 Fix bug 8841 by running the closure analyzer before compiling a field.
Review URL: https://codereview.chromium.org//12374011

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19204 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-28 08:09:38 +00:00
asiva@google.com 3c90369ba6 Add functionality to get full stack trace when exceptions are thrown.
This should address the issue raised in 7813.

try {
 ...
 ...
} on Object catch(e, s) {
 print(s.fullStackTrace);  // This should print the full stack trace.
}
Review URL: https://codereview.chromium.org//12316116

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19179 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-27 22:47:06 +00:00
ngeoffray@google.com 63b20b566d Stop creating selectors in the SSA builder that were already created by the resolver.
Review URL: https://codereview.chromium.org//12334088

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19131 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-27 13:18:52 +00:00
lrn@google.com 6b4f4b1bab Change new List(n) to return fixed length list.
Deprecate List.fixedLength, add List.filled.

Make Iterable.toList and List.from take "growable" argument,
defaulting to false.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19112 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-27 08:45:04 +00:00
ngeoffray@google.com 19401fa75b Fix for issue 8781: it is not ok to move a HTypeGuard, so mark it as "unpure".
Review URL: https://codereview.chromium.org//12310133

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19110 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-27 08:07:06 +00:00
regis@google.com 7c4eec75ed Fix bad optimization prematurely marking types as instantiated (issue 8710).
Add test.
Review URL: https://codereview.chromium.org//12314132

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19101 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-27 00:32:31 +00:00
hausner@google.com ad61d01daa Progress in generic mixins
Handle generic mixin applications in class declarations, but
not yet in type aliases.
Review URL: https://codereview.chromium.org//12340085

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19097 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-26 23:39:37 +00:00
ngeoffray@google.com 6ce5151888 Small cleanups in RegExp to avoid generating lots of code just because there is a try/catch in our RegExp implementation.
Review URL: https://codereview.chromium.org//12310103

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19037 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-26 11:54:56 +00:00
srdjan@google.com 1bc8991142 For Doubl erounding call C-function instead of attempting to inline it. Fixes issue 8760.
Review URL: https://codereview.chromium.org//12334080

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19013 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-25 23:05:43 +00:00
vegorov@google.com 51c4652bca null value can be the receiver of methods on Object (e.g. hashCode).
Fix wrong assumption in the type propagator that marked the receiver as never nullable.

R=srdjan@google.com
BUG=dart:8739

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18991 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-25 18:48:49 +00:00
lrn@google.com 3c0ac360e7 Remove deprecated string features.
Make String.codeUnits return a List.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18960 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-25 10:48:09 +00:00
ngeoffray@google.com b6b0a4d291 Infer types of final fields.
Review URL: https://codereview.chromium.org//12327010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18825 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-21 12:50:24 +00:00
ngeoffray@google.com 1ef7c2ae44 Make an erroneous element when setting a final field.
Review URL: https://codereview.chromium.org//12326041

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18819 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-21 11:35:45 +00:00
kasperl@google.com 6153a12367 Teach Selector.applies about mixins.
To determine whether or not an element applies to a selector we
have to check if there is a subclass of the receiver type
that mixes in the element instead of defining it. This checks
must be done for both subclass and subtype checks.

R=ngeoffray@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18811 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-21 09:44:29 +00:00
kasperl@google.com 40fa758493 Update status files for Safari and Firefox. Tests now pass!
TBR'ed.

R=ngeoffray@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18745 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-20 12:02:40 +00:00
hausner@google.com 5eba0b69e4 Fix static name resolution in mixing code
In mixin code, static names need to be looked up in the mixin class.
OTOH, in patch classes, we need to resolve static names in the
class into with the code is patched. I'm all for simplicity!
Review URL: https://codereview.chromium.org//12308005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18710 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-19 18:26:55 +00:00
ngeoffray@google.com cd3d08d752 Tests now pass on dart2dart because of: https://codereview.chromium.org//12288041.
Review URL: https://codereview.chromium.org//12302026

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18690 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-19 15:19:17 +00:00
floitsch@google.com ecce8a6293 Remove deprecated Strings class.
Review URL: https://codereview.chromium.org//12295014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18686 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-19 13:57:03 +00:00
ngeoffray@google.com 21a2a4ff8a Fix dart2dart.
Review URL: https://codereview.chromium.org//12302024

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18678 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-19 12:46:52 +00:00
kasperl@google.com b24abfb57a Turn error into warning for non-static member access through the class.
Make sure 'abstract fields' are treated as instance members so
they get mixed in when applying mixins.

R=johnniwinther@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18661 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-19 09:31:53 +00:00
johnniwinther@google.com d131b63163 Handle malformed types in catch-on.
BUG=http://dartbug.com/8325

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18652 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-19 06:57:19 +00:00
johnniwinther@google.com 16b104c6f9 Take type arguments into account in interface type subtype check.
BUG=http://dartbug.com/7342

Committed: https://code.google.com/p/dart/source/detail?r=17912

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18651 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-19 06:40:31 +00:00
kasperl@google.com 45f6dbd39b Start tracking all registered elements in one big full function set
and use that to simplify some of the queries on the world.

I found a few places where we seem to be mistreating getters with
side-effects in the builder. Please review carefully.

R=ngeoffray@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18622 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-18 13:10:38 +00:00
ngeoffray@google.com 05c7fd7da6 When inlining, create a new local handler, to avoid polluting the local handler of the caller.
Review URL: https://codereview.chromium.org//12304006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18620 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-18 12:50:27 +00:00
fschneider@google.com 0a1d6d15f9 Fix bug in optimizing string .length loads.
We're not allowed to hoist a .length load if the corresponding
class-check is not also hoisted out of a loop.

TEST=tests/language/optimized_string_charcodeat_test.dart
Review URL: https://codereview.chromium.org//12256037

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18519 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-14 15:59:18 +00:00
kasperl@google.com 1bc39bc413 Correctly minify named mixin applications in dart2dart.
R=erikcorry@google.com
BUG=http://dartbug.com/8537

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18504 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-14 09:17:46 +00:00
hausner@google.com 90ad1c88a5 Fix dartium status
Dartium trips over the import clause in test/language/mixin_lib_extends_method_test.dart

TBR=efortuna
Review URL: https://codereview.chromium.org//12257023

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18497 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-14 00:10:08 +00:00
srdjan@google.com 39713f0efc The code size does not scale with architecture word size, set code size cutoff limit to 200,000 bytes for all architectures
Review URL: https://codereview.chromium.org//12256028

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18492 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-13 23:00:09 +00:00
srdjan@google.com b975d54c8e Test uses a lot of memory (optimizing compiler, issue 8529) and may cause timeouts on buildbots.
Review URL: https://codereview.chromium.org//12253014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18491 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-13 22:39:41 +00:00
hausner@google.com b2116af7ce Fix minified test status
Minifier chokes on some mixing tests. Non-minified dart2dart works.
Review URL: https://codereview.chromium.org//12252021

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18487 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-13 22:14:11 +00:00
srdjan@google.com 4f285ac0a8 Add flag to block optimizations of large implicit getters. Implicit getters have a 0 size in tokens, therefore also check the size of unoptimized code to decide if a function is optimizable. Print more data with --trace-compiler.
Review URL: https://codereview.chromium.org//12263017

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18485 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-13 21:52:02 +00:00
hausner@google.com b4527a7465 First stab at mixins in VM compiler
Things not yet supported:
- Type parameters for super class and mixin class
- super call limitation check
Review URL: https://codereview.chromium.org//12210127

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18479 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-13 21:08:15 +00:00
vegorov@google.com 4313776ac4 Update language_dart2js.status to expect failure on branch_canonicalization_test due to differences in integer semantics.
Fix style issues in the test itself.

R=ahe@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18450 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-13 15:09:58 +00:00
ngeoffray@google.com 5a2d74ca50 Start work on a non-complete type inferrer. Currently only analyzes return types.
Review URL: https://codereview.chromium.org//12211112

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18447 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-13 14:43:45 +00:00
vegorov@google.com b1a343033e When canonicalizing branch on StrictCompare don't fuse comparisons that can deoptimize or serve as pending deoptimization target for representation changes.
R=fschneider@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18443 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-13 14:14:05 +00:00
hausner@google.com f71dfc4034 Mixin tests with libraries
Add tests where the mixin class is from an imported library.
Review URL: https://codereview.chromium.org//12250018

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18407 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-12 22:45:56 +00:00
karlklose@google.com cc13f073fb Add substitution for classes that use type variables.
Review URL: https://codereview.chromium.org//12210138

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18379 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-12 13:36:43 +00:00
karlklose@google.com 759bf01d3c Implement substitution for type variables.
Review URL: https://codereview.chromium.org//12218007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18376 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-12 11:20:50 +00:00
floitsch@google.com 3f7146707d Rework Timer interface.
Review URL: https://codereview.chromium.org//12213092

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18326 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-11 19:22:16 +00:00
ngeoffray@google.com 6d960bfcde Also fails in dart2dart.
Review URL: https://codereview.chromium.org//12223070

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18315 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-11 17:38:38 +00:00
ngeoffray@google.com 5402a011a4 VM does not implement mixins yet.
Review URL: https://codereview.chromium.org//12212112

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18312 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-11 16:54:28 +00:00
ngeoffray@google.com da51aac292 Add a type kind to TypedSelector. A typed selector can either be
- EXACT: it knows the exact type of the receiver (e.g. new Map()).
- SUBCLASS: the type is in the subclass hierarchy (e.g. 'this')
- INTERFACE: any type that implements the receiver type is a target.
Review URL: https://codereview.chromium.org//12207081

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18311 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-11 16:42:27 +00:00
floitsch@google.com 20657ad702 Remove use of IllegaleJSRegExpException.
Review URL: https://codereview.chromium.org//12209059

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18243 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-08 10:48:51 +00:00
floitsch@google.com e1efa71761 Hide collection-dev library.
Committed: https://code.google.com/p/dart/source/detail?r=18167
Reverted: https://code.google.com/p/dart/source/detail?r=18169

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18172 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-06 15:11:47 +00:00
kasperl@google.com 8ac8cab588 Fix issue http://dartbug.com/8350 by dealing with interceptors in invokeOn.
R=ngeoffray@google.com
BUG=http://dartbug.com/8350

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18168 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-06 12:49:31 +00:00