Commit Graph

967 Commits

Author SHA1 Message Date
floitsch@google.com 7714545fd9 Add timeout to flaky test.
Review URL: https://codereview.chromium.org//22909035

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26523 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-22 14:14:03 +00:00
ricow@google.com 1a2510a8db Mark dart2js_extra/deferred/deferred_function_test as flaky
Filed issue 12635

R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26512 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-22 09:46:26 +00:00
sra@google.com 38f9e9a222 Revert "Fix casts and type assertions on mixins used in native classes"
Review URL: https://codereview.chromium.org//22831022

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26473 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-21 20:49:21 +00:00
sra@google.com 1a0e976128 Fix casts and type assertions on mixins used in native classes
TBR=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26459 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-21 19:32:16 +00:00
kustermann@google.com bc051d0a91 Remove entries in status refering to non-existent files
R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26438 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-21 16:40:40 +00:00
ngeoffray@google.com 4e107aa0c0 Fix receiver refining optimization in the presence of null: any Object method can be called on the null object.
R=karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26418 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-21 07:30:19 +00:00
ngeoffray@google.com 67258b97fe Refine the type of a local after it has been used as the receiver of a call.
R=karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26342 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-20 09:36:32 +00:00
johnniwinther@google.com 781f279c61 Handle missing imports/exports/parts.
BUG=
R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26341 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-20 09:19:36 +00:00
zarah@google.com 0fcc3c5b2c Load builtin helper libraries on demand.
R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26309 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-19 08:58:13 +00:00
zarah@google.com ac3e971447 Enable unique global renaming in dart2dart minification.
R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26308 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-19 07:56:03 +00:00
ngeoffray@google.com 66476c7a28 Compensate for the lack of code motion in licm.
R=karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26265 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-16 10:47:36 +00:00
sra@google.com 20097882cf Native subclasses of a mixin include classes extending native classes
Fixes a problem Pete found with mixins and custom elements.

TBR=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26251 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-16 01:14:39 +00:00
sra@google.com 28dd6944b7 First cut at extending native classes.
Subclasses of native classes have to be treated largely like native classes since they require interceptors.

The ugly part is collecting the set of subclasses of native classes without resolving all classes.  Only plausible classes are resolved.  Plausible classes have a superclass name that is native class (or subclass of native class).  The name-keyed graph is collected and inverted to identify the true subclasses of native classes.

Things that are missing from this CL:

1. I discussed with Peter a better way of finding which classes are subclasses of native classes by resolving the superclass.  Peter's proposal will still require the graph inversion step but should be more precise.

2. It would be a good idea to replace the 'defineNativeSubclass' calls with more declarative static data on the class and post-process the classes.

3. We need to make sure that fields of subclasses of native classes do not conflict with any (potentially undeclared) properties of the base native class.

4. The compiler should do additional checking
   - The constructor must be a factory constructor.
   - No fields can have initializers.

R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26208 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-15 19:09:12 +00:00
ngeoffray@google.com cbf92d012d Address long-standing review comments.
Comments were from:
https://codereview.chromium.org/12299008/
https://codereview.chromium.org/11273121/

R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26196 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-15 16:07:07 +00:00
ngeoffray@google.com e4b04e7007 Allow infering of return types on runtime helpers. It's only arugments the inferrer does not see.
Also fix a few dependencies of runtime errors requiring the string class to be instantiated.

R=ahe@google.com, karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26189 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-15 11:53:41 +00:00
ngeoffray@google.com 9ec9da04eb Fix test to not generate a NoSuchMethodError.
R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26184 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-15 10:44:59 +00:00
ngeoffray@google.com bf154f76a6 Ensure the type inferrer does not infer types for runtime helpers used by the backend.
R=ahe@google.com, karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26180 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-15 10:06:08 +00:00
polux@google.com 775288a3d1 Refactor and reorganize type inference classes before porting ConcreteTypesInferrer to InferrerVisitor.
R=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26174 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-15 09:00:33 +00:00
ngeoffray@google.com 6698a94683 Fix inference bugs found by sra@ by changing how we merge if/then/else locals.
R=sra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26171 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-15 08:04:30 +00:00
ahe@google.com bd78f6f837 Update test after disallowing uppercase letters.
Review URL: https://codereview.chromium.org//23195002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26124 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-14 15:15:17 +00:00
kustermann@google.com 250264d15e Implement visitCascade/visitCascadeReceiver in inferrer_visitor.dart
R=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26115 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-14 12:45:48 +00:00
ngeoffray@google.com 86d92ec96f Handle switch with default case, and do/while loop better in the inferrer.
R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26109 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-14 08:10:07 +00:00
ahe@google.com c0ce070471 Improve performance of ClassMirror.newInstance.
R=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26065 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-13 17:25:47 +00:00
ahe@google.com 667e357a91 Only retain needed metadata constants.
R=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26056 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-13 15:30:13 +00:00
sra@google.com d082492e10 Tweak simple_inferrer_test to pass with fix for 12320
TBR=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26030 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-12 20:33:51 +00:00
sra@google.com d25bf6b258 Fix for switch type inferrence
Review URL: https://codereview.chromium.org//22279006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26022 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-12 19:04:32 +00:00
ahe@google.com bbdcf3ac01 Increase expectedMethodCount to account for new methods from UnmodifiableMapView.
Review URL: https://codereview.chromium.org//22894002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26013 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-12 17:40:34 +00:00
aprelev@gmail.com 3064d92f36 Ignore unused classes when constructing set for deferred loading.
BUG=dartbug.com/11740
R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25959 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-09 01:56:05 +00:00
zarah@google.com dd7d7f5012 Rename MirrorSystem.getName calls in dart2dart.
R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25924 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-08 12:59:38 +00:00
ahe@google.com 47b20961c2 Retain fewer names for reflection.
R=johnniwinther@google.com, karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25878 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-07 15:44:36 +00:00
ahe@google.com c456a4e90b Retain elements a finer granularity than library.
BUG=http://dartbug.com/11524
R=johnniwinther@google.com, nweiz@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25873 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-07 13:40:54 +00:00
johnniwinther@google.com 63f6d5ce6c Handle int/double case expression types correctly.
BUG=http://dartbug.com/11536
R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25864 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-07 09:14:33 +00:00
johnniwinther@google.com 1a2f104eaa Remove support for remaining deprecated features.
BUG=
R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25858 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-07 06:58:25 +00:00
johnniwinther@google.com 79274687c3 Remove support for getters with parameters.
BUG=
R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25857 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-07 06:35:47 +00:00
johnniwinther@google.com 1319ddbac5 Remove support for missing part-of tag.
BUG=
R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25855 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-07 06:02:10 +00:00
kustermann@google.com cb18d8ba87 Removed compiler/ directory from repository
R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25728 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-02 08:31:15 +00:00
ahe@google.com c63bb3c1ce Implement MirrorUsed.targets for libraries.
Caveat: non-library targets are "replaced" by their library.

R=johnniwinther@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25611 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-30 12:07:09 +00:00
johnniwinther@google.com dedc8aa0b4 Remove support for script tags.
BUG=
R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25606 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-30 06:11:06 +00:00
johnniwinther@google.com 62c042d679 Support new malformed types semantics.
BUG=http://dartbug.com/8325,http://dartbug.com/9056
R=karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25553 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-29 10:19:58 +00:00
ahe@google.com 6b5691052c Clean up error handling.
BUG=http://dartbug.com/12039
R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25546 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-28 09:07:07 +00:00
sra@google.com a3663cc09a Code review changes for r25379
Review URL: https://codereview.chromium.org//20509002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25506 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-25 22:09:05 +00:00
ngeoffray@google.com 9b964af467 Small inferrer improvments, and one refactoring in the inferrer.
- Make the try/catch handling put a phi at the end of the try block.
- Add a [InferrerEngine.addReturnTypeFor] to allow different implementations.

R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25406 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-24 11:09:55 +00:00
sra@google.com 2173e09981 Add dartExperimentalFixupGetTag for polymer experiments.
If global JavaScript name dartExperimentalFixupGetTag is a function,
it is used to generate a 'hooked' version of the code that inspects an
object to discover the native class dispatch tag.

R=sigmund@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25379 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-23 22:57:02 +00:00
ngeoffray@google.com 04d1990761 Cleanup in the type inferrer.
- Simplify inferencing of boxed variables. They are now inferred the same way as fields.
- Move the code to handle field initialization into its own class.
- Only track field initializations in generative constructors.

R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25338 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-23 10:59:20 +00:00
ahe@google.com c17ca9d9b3 Implement top-level accessors.
Also, implement top-level fields in minified mode.

R=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25276 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-22 14:52:39 +00:00
ahe@google.com f3fd7eea2a Fix some bugs regarding native fields.
BUG=http://dartbug.com/11894, http://dartbug.com/11525
R=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25272 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-22 12:31:19 +00:00
ahe@google.com e85e0ff11b Improve decoding of JS TypeError.
R=kasperl@google.com, ngeoffray@google.com, sra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25262 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-22 10:47:29 +00:00
polux@google.com a78aeef84a Capture and handle properly every call to JSArray that read or writes elements via a native call
R=karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25215 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-19 13:56:35 +00:00
polux@google.com 3af8457bb1 Handle do-while
R=karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25212 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-19 13:13:43 +00:00
polux@google.com 0958316177 Account for boolean operators shortcircuiting behavior
R=karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25211 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-19 13:08:25 +00:00