Commit Graph

1880 Commits

Author SHA1 Message Date
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
iposva@google.com 59bd51bbc7 - Add test for private dart:_ libraries.
Review URL: https://codereview.chromium.org//12221028

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18160 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-06 00:49:54 +00:00
ngeoffray@google.com 3784b7e136 Fix braino in SSA optimizer and add a test for it.
Review URL: https://codereview.chromium.org//12220013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18139 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-05 14:54:57 +00:00
ngeoffray@google.com db98396375 Allow private selectors to be typed, and fix ClassElement.isSubclassOf to take patches into account.
Review URL: https://codereview.chromium.org//12223004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18126 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-05 11:18:11 +00:00
karlklose@google.com 12840df1fe Revert "Implement substitution for type variables."
This reverts commit r18124.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18125 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-05 10:40:47 +00:00
karlklose@google.com 074335268f Implement substitution for type variables.
This change does not yet address the case where there is more than one substitution, as in this example:

class S<X> {}
class S1 extends S<int> {}
class S2 extends S<double> {}
class T implements S1, S2 {}

main() {
  new T() is S<int>;
  new T() is S<double>;
}

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18124 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-05 10:23:13 +00:00
srdjan@google.com eaa1c974a3 Use SAR for divident by a power-of two constant divisor.
Review URL: https://codereview.chromium.org//12091100

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18075 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-04 20:29:58 +00:00
ngeoffray@google.com 1fe57ce799 Fix the arity of a call to a constructor body, now that we pass not just the parameters.
Review URL: https://codereview.chromium.org//12090118

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17983 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-01 14:47:12 +00:00
ngeoffray@google.com c6c01a213f Fix a crash in dart2js where references to this in inlined initializers id not know what instruction to use.
Review URL: https://codereview.chromium.org//12079116

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17982 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-01 14:11:46 +00:00
johnniwinther@google.com b83a499aa6 Revert "Take type arguments into account in interface type subtype check."
This reverts commit r17912.

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17915 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-31 14:58:23 +00:00
johnniwinther@google.com 8171115947 Take type arguments into account in interface type subtype check.
BUG=http://dartbug.com/7342

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17912 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-31 14:40:41 +00:00
ngeoffray@google.com a28be0430e Fix another bailout problem where not all blocks were visiting when propagating bailout information to blocks, and fix a braino where we were not getting the right block for the loop header of a do/while loop.
Review URL: https://codereview.chromium.org//12082074

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17887 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-31 08:26:11 +00:00
johnniwinther@google.com 9e6659ab52 Implement Types.isSubtype for FunctionType with optional and named parameters.
Review URL: https://codereview.chromium.org//12087052

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17832 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-30 10:46:10 +00:00
ngeoffray@google.com dddf91378a Don't use a map literal if we insert non-string keys, otherwise it fails in checked mode.
Review URL: https://codereview.chromium.org//12087083

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17830 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-30 10:27:59 +00:00
ngeoffray@google.com c393fd0f4d Fix crash in compiler when we are generating a bailout method where a loop contains continue/break/return.
Review URL: https://codereview.chromium.org//12082054

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17828 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-30 10:12:05 +00:00
srdjan@google.com 3d1a139c4d Fix double modulo bug by temporary disabling calling to C (fix and reenabling it will follow later). Added test.
Review URL: https://codereview.chromium.org//12077052

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17806 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-29 20:36:59 +00:00
fschneider@google.com dfda7854a8 Fix source position for stack traces with optimized top function.
Fix decoding of the deoptimization info when constructing a stack trace.

Fix stack trace for checked mode exceptions from optimized code.

BUG=dart:8058
TEST=runtime/tests/vm/dart/optimized_stacktrace_test.dart,
     tests/language/stack_overflow_stacktrace_test.dart
Review URL: https://codereview.chromium.org//12049039

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17755 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-29 12:38:27 +00:00
erikcorry@google.com 858aa5ac78 dart2js: Don't emit static const fields since they are inlined where they are used
R=ngeoffray@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17753 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-29 11:21:29 +00:00
johnniwinther@google.com bdf4f3b86d language_dart2js.status updated
Review URL: https://codereview.chromium.org//12095013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17709 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-28 13:26:25 +00:00
scheglov@google.com 5b8f5acf9b Issue 6560. Reassign issue to tests to close issue.
http://code.google.com/p/dart/issues/detail?id=6560

R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17688 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-27 00:28:35 +00:00
scheglov@google.com 368d8d1b5c Issue 8027. Disallow cyclic mixins.
http://code.google.com/p/dart/issues/detail?id=8027

R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17664 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-25 22:47:10 +00:00
ahe@google.com 8d698fdf19 Improve performance of dart2js StringBuffer.
Review URL: https://codereview.chromium.org//11565034

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17639 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-25 15:32:10 +00:00
kasperl@google.com cdba6a35c8 Add more tests and fix the parser to deal with generic superclasses for mixin applications.
R=ahe@google.com,karlklose@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17635 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-25 10:15:09 +00:00
kasperl@google.com b8dc627d54 Add (failing) test case for mixin type parameters.
R=karlklose@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17630 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-25 08:45:34 +00:00
iposva@google.com 7e0cb951e8 Fix issue 8094:
- Do not assert that dart-scheme URIs point to libraries exclusively.
Review URL: https://codereview.chromium.org//12036089

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17604 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-24 21:56:10 +00:00
regis@google.com 517f653176 Fix argument test for the captured parameter of an outer function (issue 8007).
Review URL: https://codereview.chromium.org//12036088

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17592 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-24 19:14:55 +00:00
johnniwinther@google.com d3eb38dc9e language.status updated.
Review URL: https://codereview.chromium.org//12047081

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17573 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-24 14:32:50 +00:00
johnniwinther@google.com 229036fa8b Internal libraries supported.
Review URL: https://codereview.chromium.org//11967010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17556 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-24 13:01:56 +00:00
floitsch@google.com fb7b9e3c5c Rename Date to DateTime.
BUG=http://dartbug.com/1424

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17549 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-24 12:16:37 +00:00
ngeoffray@google.com 5139dcb231 Cleanup the namer, and add a test with fields that used to clash with internal names used by the compiler.
Review URL: https://codereview.chromium.org//12049036

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17535 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-24 10:59:17 +00:00