Commit Graph

27 Commits

Author SHA1 Message Date
floitsch@google.com be5ff89c9f Fix instance compound assignment.
We compiled a.y.x += 1 into a.y.x = a.y.x + 1.
Similarly foo().x++ was compiled into foo().x = foo().x + 1.
Now we store the receiver and reuse it on both sides.

Review URL: https://chromiumcodereview.appspot.com//9979021

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6365 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-10 15:52:13 +00:00
floitsch@google.com 593b3835fa Verify that there are enough positional arguments.
Review URL: https://chromiumcodereview.appspot.com//9961005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6361 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-10 15:22:22 +00:00
floitsch@google.com 3695be92d7 Make constant lists immutable.
Review URL: https://chromiumcodereview.appspot.com//9965047

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6360 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-10 15:19:46 +00:00
floitsch@google.com df78d6220b Some cleanups.
Review URL: https://chromiumcodereview.appspot.com//9969039

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6359 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-10 14:52:55 +00:00
podivilov@google.com 9af05c07ee Auto-generate TimeoutHandler.dart.
R=antonm@chromium.org,sra@chromium.org

Review URL: https://chromiumcodereview.appspot.com//10027017

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6317 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-09 11:31:08 +00:00
floitsch@google.com bf9e80617e Fix bug where constants were not correctly canonicalized.
Review URL: https://chromiumcodereview.appspot.com//9967001

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6056 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-30 18:12:06 +00:00
floitsch@google.com ec60610969 During bailout construction add condition instructions to list of live variables.
Review URL: https://chromiumcodereview.appspot.com//9958007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6054 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-30 17:54:41 +00:00
floitsch@google.com 266d3a8c98 Don't use === instead of equality-method call for user class constants.
Review URL: https://chromiumcodereview.appspot.com//9956012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6048 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-30 17:04:40 +00:00
floitsch@google.com a8d1e46fc7 Fix bug where a parameter was mutated while it was still used.
Review URL: https://chromiumcodereview.appspot.com//9963005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6047 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-30 17:03:31 +00:00
polux@google.com c2fd555385 Typecheck constructor calls.
Review URL: https://chromiumcodereview.appspot.com//9835007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6040 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-30 15:24:15 +00:00
ahe@google.com d94d1010be Eliminate branches on constant conditions during codegen.
Review URL: https://chromiumcodereview.appspot.com//9950014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6033 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-30 13:34:14 +00:00
ngeoffray@google.com 839fa9bf62 Code cleanup for speculative type optimization.
Review URL: https://chromiumcodereview.appspot.com//9969006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6032 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-30 13:28:14 +00:00
ngeoffray@google.com 8a0eb0e392 Building the Ssa graph has some sanity checks.
Review URL: https://chromiumcodereview.appspot.com//9958011

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6028 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-30 10:00:59 +00:00
ngeoffray@google.com 2e7d234667 Implement redirecting natives.
Review URL: https://chromiumcodereview.appspot.com//9909011

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6027 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-30 09:36:13 +00:00
ngeoffray@google.com 288f96ad44 Address review comments from: https://chromiumcodereview.appspot.com/9750003.
Review URL: https://chromiumcodereview.appspot.com//9921010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6026 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-30 09:27:41 +00:00
lrn@google.com a9c98da876 Fix typo in type.
TBR: ngeoffray

Review URL: https://chromiumcodereview.appspot.com//9970001

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6025 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-30 09:15:15 +00:00
lrn@google.com 5163f80703 Generate prettier loops.
Add structure information to HLoopInformation, and use it to generate prettier
loops when the condition can be generated as an expression.
If it can't, it still falls back to the while(true){if(!cond) break;} pattern.
Only handle for/while/for-in, not do-while yet.

Review URL: https://chromiumcodereview.appspot.com//9863037

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6023 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-30 08:59:40 +00:00
floitsch@google.com 647019b6d0 Implement constant maps with __proto__ and fix maps with duplicated keys.
Review URL: https://chromiumcodereview.appspot.com//9873040

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6008 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-29 22:59:01 +00:00
floitsch@google.com c9be80704e Move member-iterating code into ClassElement.
Review URL: https://chromiumcodereview.appspot.com//9873012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6007 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-29 22:45:03 +00:00
kasperl@google.com 12d57c09ae Fix issue http://dartbug.com/2342 by checking document.readyState
before adding the DOMContentLoaded event listening.
Review URL: https://chromiumcodereview.appspot.com//9918014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5984 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-29 17:03:43 +00:00
ngeoffray@google.com 648c400c69 Use isKnown instead of !isUnknown: if the inputs conflict, don't return automatically, but use the first input to decide for the type. We should rename isKnown and isUnknown to remove this confusion.
Review URL: https://chromiumcodereview.appspot.com//9909013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5972 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-29 13:51:59 +00:00
ngeoffray@google.com 295394ee58 New CL for https://chromiumcodereview.appspot.com/9784002/: Support non-speculative type propagation.
Review URL: https://chromiumcodereview.appspot.com//9874014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5969 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-29 12:58:23 +00:00
ngeoffray@google.com 133b680241 Fix a bug where a block would be visited twice: by a non-dominating loop, and by its dominator.
Review URL: https://chromiumcodereview.appspot.com//9878001

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5968 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-29 09:15:02 +00:00
floitsch@google.com 918a9681dd Correctly handle constness for list and map literals inside bodies.
Also parse const keyword for maps.

Review URL: https://chromiumcodereview.appspot.com//9802023

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5944 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-28 18:16:39 +00:00
kasperl@google.com 5c664f9e2a Move the DOMContentLoaded logic into the generated JavaScript
code thus simplifying htmlconverter.py.
Review URL: https://chromiumcodereview.appspot.com//9877008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5942 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-28 17:55:00 +00:00
ahe@google.com d03830349f Add library mapping.
Review URL: https://chromiumcodereview.appspot.com//9866006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5935 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-28 16:07:58 +00:00
ahe@google.com dc099c4a00 Move frog/leg to lib/compiler/implementation.
Review URL: https://chromiumcodereview.appspot.com//9873021

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5926 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-28 08:54:01 +00:00