kasperl@google.com
34ec097692
Get rid of the name in HInvokeDynamic (just use the selector instead).
...
This fixes issue 2620.
R=ngeoffray@google.com ,karlklose@google.com
BUG=http://dartbug.com/2620
Review URL: https://chromiumcodereview.appspot.com//10836339
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11030 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 10:56:02 +00:00
sgjesse@google.com
97d17d8276
Fix warning
...
R=ahe@google.com
BUG=dart:4601
TEST=none
Review URL: https://chromiumcodereview.appspot.com//10832388
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10949 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-20 12:45:32 +00:00
ajohnsen@google.com
3109b142a3
Fix a performance regressions introduced by r10632.
...
This gives the compiler the exact same behaviour as before.
BUG=
Review URL: https://chromiumcodereview.appspot.com//10827353
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10891 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-17 12:12:53 +00:00
kasperl@google.com
5534f6a8cb
Stop keeping track of the which library use which private selectors.
...
R=ngeoffray@google.com
BUG=
Review URL: https://chromiumcodereview.appspot.com//10834387
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10889 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-17 12:09:38 +00:00
johnniwinther@google.com
ac5a4808d8
Skeleton typedef type implementation
...
Review URL: https://chromiumcodereview.appspot.com//10832136
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10880 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-17 11:15:44 +00:00
sgjesse@google.com
bf29fed27e
Fix stupid mistake
...
TBR=ngeoffray
BUG=
Review URL: https://chromiumcodereview.appspot.com//10834388
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10877 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-17 10:42:48 +00:00
sgjesse@google.com
210cb22f51
Start inferring return types for static functions
...
Types propagated to the function exit are recorded in the code generator
and optimisticly used at call sites. If this optimistic assumption fails
the callers have to be recompiled.
R=kasperl, ngeoffray, floitsch
Review URL: https://chromiumcodereview.appspot.com//10823389
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10876 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-17 10:32:54 +00:00
regis@google.com
d9b0276a4c
Require two type arguments for map literals (issue 4522).
...
Spec has been changed back.
VM temporarily accepts a single type argument and emits a warning.
Update tests, dart2js source, dartdoc, etc...
Disable failing co19 tests (issue 175 filed).
Review URL: https://chromiumcodereview.appspot.com//10854191
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10861 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-16 20:44:32 +00:00
floitsch@google.com
1c89511be4
Move types out of the HInstructions.
...
Review URL: https://chromiumcodereview.appspot.com//10827180
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10823 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-16 14:25:00 +00:00
kasperl@google.com
3b87631a1c
Make selector registration in the resolver and code generator more explicit.
...
Get rid of registerFieldClosureInvocations() in the enqueuer by explicit
registering the closure call selectors when we may be calling a getter in
the resolver and the code generator.
R=floitsch@google.com ,ahe@google.com
BUG=
Review URL: https://chromiumcodereview.appspot.com//10854158
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10805 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-16 11:52:44 +00:00
sgjesse@google.com
90ef467e0e
Track types for arguments passed to calls to static functions
...
This uses the same mechanism as is currently used for tracking the types of
arguments passed to non-static functions. The type collection has been
refactored to support both.
For static functions the type information for a function is invalidated if
the function is used for anything else than a direct call.
The test LibTest/core/int/operator_truncating_division_A01_t01 now has
the "problem" that the statement
Expect.isTrue(actual is int);
never fails even though actual might not be an int in the generated JavaScript
even though the inferred type for actual is int.
R=floitsch@google.com , kasperl@google.com
Review URL: https://chromiumcodereview.appspot.com//10855170
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10726 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-15 13:52:06 +00:00
lrn@google.com
640e0ee99b
Clean-up of getCompilationUnit.
...
Fixes a few places that assumes libraries can be compilation units.
- VoidElement now belongs to the entry compilation unit of the core library.
- Abstract fields now belong to the compilation unit of the creating accessor.
Review URL: https://chromiumcodereview.appspot.com//10834330
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10711 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-15 11:38:56 +00:00
floitsch@google.com
cc40f8ec3f
Make the closure-to-class translator more accessible. It can now be
...
used by the type-inference algorithm.
Review URL: https://chromiumcodereview.appspot.com//10855146
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10648 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-14 14:16:50 +00:00
kasperl@google.com
e8268dd78a
Add name and library to selectors.
...
This is the first step towards improving the Selector as an
abstraction used by the resolver, builder, and enqueur. The
intent is to have the resolver construct selectors that can
be used for method lookup, tree shaking, and for simplifying
the logic we use to build the correct SSA instructions for
sends (some of which are quite complex).
Next step is to get rid of more of the adhoc selector building
that's done outside of the resolver and clean up how we resolve
sends. After that, I'll start removing the need for passing
around both a name and a selector in a lot of places.
R=ahe@google.com ,sgjesse@google.com
BUG=
Review URL: https://chromiumcodereview.appspot.com//10825337
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10637 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-14 12:21:51 +00:00
ajohnsen@google.com
404f888f83
Refactor Library/CompilationUnit and how we define local Scope.
...
This also collapses members and constructors of a class into the same
map.
BUG=
Original URL: https://chromiumcodereview.appspot.com//10832203
Review URL: https://chromiumcodereview.appspot.com//10830303
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10632 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-14 11:35:17 +00:00
sgjesse@google.com
c888b57137
Fix type inference for self-recursive functions
...
If a self-recursive function calls itself with different argument
types that the ones currently expected the actual recompilation of the
function did not take place. This caused wrong JavaScript code to be
generated.
This change queues the generated JavaScript code to be invalidated to
after compiling the current function so that it itself can be
invalidated correctly.
R=floitsch@google.com , ahe@google.com
BUG=dart:4492
TEST=tests/compiler/dart2js_extra/regress/4492_test.dart
Review URL: https://chromiumcodereview.appspot.com//10854140
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10622 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-14 08:54:02 +00:00
ajohnsen@google.com
dd8585d5a2
Revert "Refactor Library/CompilationUnit and how we define local Scope."
...
This reverts commit 05718e680ca45ac26fcc0d0256fc98419fac1b2e.
BUG=
Review URL: https://chromiumcodereview.appspot.com//10824275
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10550 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-13 06:45:24 +00:00
ajohnsen@google.com
ccc0ce3101
Refactor Library/CompilationUnit and how we define local Scope.
...
This also collapses members and constructors of a class into the same
map.
BUG=
Review URL: https://chromiumcodereview.appspot.com//10832203
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10549 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-13 06:22:24 +00:00
sgjesse@google.com
8995503241
Start moving the JavaScript backend related code into a separate library
...
R=ahe@google.com , floitsch@google.com
BUG=
Committed: https://code.google.com/p/dart/source/detail?r=10479
Review URL: https://chromiumcodereview.appspot.com//10854066
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10482 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-10 08:49:27 +00:00
sgjesse@google.com
756de4bf83
Revert "Start moving the JavaScript backend related code into a separate library"
...
TBR=floitsch@google.com
BUG=
Review URL: https://chromiumcodereview.appspot.com//10854091
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10481 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-10 08:28:43 +00:00
sgjesse@google.com
783902b9be
Start moving the JavaScript backend related code into a separate library
...
R=ahe@google.com , floitsch@google.com
BUG=
Review URL: https://chromiumcodereview.appspot.com//10854066
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10479 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-10 08:10:38 +00:00