Johnni Winther
6b156993db
Use Name instead of Selector in SemanticSendVisitor
...
BUG=
R=floitsch@google.com , sigmund@google.com
Review URL: https://codereview.chromium.org//1314573002 .
2015-08-25 10:03:32 +02:00
Johnni Winther
4ed23aff42
Remove SendResolver.computeSendStructure.
...
BUG=
R=floitsch@google.com
Committed: https://github.com/dart-lang/sdk/commit/4013a9aae54ee60d344247d295b750f370ce2417
Reverted: https://github.com/dart-lang/sdk/commit/73a49a5ddbf7bc989adfd07668db1d29c98f91f2
Review URL: https://codereview.chromium.org//1306143002 .
2015-08-25 09:32:26 +02:00
Johnni Winther
73a49a5ddb
Revert "Remove SendResolver.computeSendStructure."
...
This reverts commit 4013a9aae5 .
BUG=
Review URL: https://codereview.chromium.org//1311123002 .
2015-08-24 13:46:28 +02:00
Johnni Winther
4013a9aae5
Remove SendResolver.computeSendStructure.
...
BUG=
R=floitsch@google.com
Review URL: https://codereview.chromium.org//1306143002 .
2015-08-24 11:31:23 +02:00
Karl Klose
999ec11985
dart2js cps: Handle native functions, getters, and setters.
...
R=asgerf@google.com
Review URL: https://codereview.chromium.org//1288013002 .
2015-08-24 11:01:54 +02:00
Stephen Adams
5d575f307c
dart2js cps: Generate fast checks for 'is String' and 'is bool'.
...
R=sigmund@google.com
Review URL: https://codereview.chromium.org//1301363002 .
2015-08-21 17:41:21 -07:00
Johnni Winther
4b85e5b393
Handle erroneous constant constructor call.
...
BUG=
Review URL: https://codereview.chromium.org//1309743002 .
2015-08-21 15:05:58 +02:00
Johnni Winther
087155dcde
Remove code accidentally committed.
...
BUG=
Review URL: https://codereview.chromium.org//1306113002 .
2015-08-21 14:22:01 +02:00
Johnni Winther
bda8db4785
Make InferrerVisitor implement SemanticSendVisitor directly and delete ResolvedVisitor.
...
BUG=
R=floitsch@google.com
Review URL: https://codereview.chromium.org//1308803002 .
2015-08-21 14:11:33 +02:00
Johnni Winther
9a64a00ab9
Deprecate visitStaticSend in ResolvedVisitor.
...
BUG=
R=floitsch@google.com
Review URL: https://codereview.chromium.org//1302313002 .
2015-08-21 14:04:48 +02:00
Stan Manilov
96a76a9bb1
Add documentation for StringToken.stringValue
...
It simply points to the documentation for Token.stringValue. Also: fix
minor typo.
R=ahe@google.com
Review URL: https://codereview.chromium.org//1283373005 .
2015-08-21 09:50:57 +02:00
Johnni Winther
9ce4da5e1a
Refactor qualified send sets.
...
Closes #23795
R=floitsch@google.com
Review URL: https://codereview.chromium.org//1293953006 .
2015-08-21 09:34:45 +02:00
Sigmund Cherem
6e0b2418c7
[dart2js] fix inference of ??= and []??=
...
Fixes #24134
Fixes #24135
R=floitsch@google.com , johnniwinther@google.com
Review URL: https://codereview.chromium.org//1305663002 .
2015-08-20 07:32:34 -07:00
Johnni Winther
34db6ed4cb
Handle static assignment to final/const fields in SSA.
...
BUG=
R=floitsch@google.com
Review URL: https://codereview.chromium.org//1305443004 .
2015-08-20 14:25:34 +02:00
Johnni Winther
99bc71afe6
Move common identifiers, names and selectors to a separate library.
...
BUG=
R=sigurdm@google.com
Review URL: https://codereview.chromium.org//1299413002 .
2015-08-20 13:08:10 +02:00
Johnni Winther
256092eee3
Refactor handling of unqualified static updates.
...
BUG=
R=floitsch@google.com
Review URL: https://codereview.chromium.org//1292673005 .
2015-08-20 12:43:28 +02:00
Johnni Winther
b731e6230b
Refactor updates of locals.
...
BUG=
R=floitsch@google.com
Review URL: https://codereview.chromium.org//1303503002 .
2015-08-20 12:32:09 +02:00
Kevin Millikin
aa9e569ecf
dart2js: Use 'new Array' instead of 'Array' in the JS output.
...
Though the spec says that they are equivalent when called, they are not
optimized equivalently by V8. This might be considered a performance bug in
V8 (https://code.google.com/p/v8/issues/detail?id=4380 ) but we should use
the much faster one unless that issue is fixed.
BUG=
R=asgerf@google.com , floitsch@google.com
Review URL: https://codereview.chromium.org//1291323004 .
2015-08-20 11:03:40 +02:00
Kevin Millikin
1ed82e83c8
dart2js: Just because it's slow doesn't mean it has to be dumb.
...
Change LinkEntry.slowLength to be iterative instead of recursive. The
Guassian blur benchmark, ported from the Kraken JS benchmark suite, has a
427,200 element list literal. Computing the length of a linked list of
427,200 entries will be a stack overflow.
R=asgerf@google.com
BUG=
Review URL: https://codereview.chromium.org//1299393002 .
2015-08-20 11:01:51 +02:00
Stephen Adams
24588d9fec
Recognize corelib.identical.
...
Convert to BuiltinOperator.Identical to enable type based
simplifications. Remaining unsimplified BuiltinOperator.Identical
applications are still codegen-ed as calls to corelib.identical.
About half of the calls to identical() in swarm are improved.
R=asgerf@google.com
Review URL: https://codereview.chromium.org//1294283005 .
2015-08-19 16:31:50 -07:00
Harry Terkelsen
98e67aa065
dart2js: fail gracefully with invalid package config
...
Fixes #24118
Fixes #24120
Fixes #24121
Fixes #24122
BUG=
R=sigmund@google.com
Review URL: https://codereview.chromium.org//1291283006 .
2015-08-19 16:00:37 -07:00
Sigmund Cherem
27b55b60bb
Revert use of ?? to unbreak the build
...
TBR=sra@google.com
Review URL: https://codereview.chromium.org//1293533006 .
2015-08-19 14:16:16 -07:00
Sigmund Cherem
aae02054d2
Record information about constants in dump info
...
R=johnniwinther@google.com
Review URL: https://codereview.chromium.org//1301903002 .
2015-08-19 13:52:49 -07:00
Stephen Adams
bd4b9690a2
cps: Use BuiltinOperator.IsNumber for 'is num'
...
Use double quotes for JavaScript string in expansion of 'is num' for consistency with other strings.
R=asgerf@google.com
Review URL: https://codereview.chromium.org//1294423002 .
2015-08-19 08:21:35 -07:00
Asger Feldthaus
73a6229d7c
dart2js cps: Replace interceptor calls with interceptor constants.
...
BUG=
R=kmillikin@google.com
Review URL: https://codereview.chromium.org//1298373002 .
2015-08-19 13:16:28 +02:00
Asger Feldthaus
6c6ac77475
dart2js cps: Do not treat final field reads as effectively constant.
...
This is a workaround until assignment propagation is able to propagate
constants more effectively.
BUG=
R=kmillikin@google.com
Review URL: https://codereview.chromium.org//1296403004 .
2015-08-19 10:53:14 +02:00
Sigmund Cherem
8896ccd385
dart2js: switch to use dart2js_info/info.dart
...
R=het@google.com
Review URL: https://codereview.chromium.org//1298553002 .
2015-08-18 15:44:38 -07:00
Kevin Millikin
0a12c2c3d1
dart2js CPS: Inline list.forEach.
...
Instead of building up a CPS term representing the implementation of
forEach, use the CPS translation on the code for forEach.
R=asgerf@google.com
Review URL: https://codereview.chromium.org//1294353002 .
2015-08-18 17:15:18 +02:00
Asger Feldthaus
eb3fc17ea9
dart2js cps: Use direct length and index access on strings.
...
BUG=
R=kmillikin@google.com
Review URL: https://codereview.chromium.org//1293803003 .
2015-08-18 16:08:46 +02:00
Asger Feldthaus
ff74930f67
dart2js: Mark startRootIsolate as "used" by the backend.
...
This fixes a type inference issue where the empty type was inferred for
the parameters to this method.
BUG=
R=herhut@google.com
Review URL: https://codereview.chromium.org//1298173002 .
2015-08-18 15:55:55 +02:00
William Hesse
e2928705be
Move third_party/pkg/package_config to pkg_tested.
...
Closes https://github.com/dart-lang/sdk/issues/24092
R=ricow@google.com
Review URL: https://codereview.chromium.org//1296093003 .
2015-08-18 15:04:41 +02:00
Johnni Winther
fb7ea815c8
Handle C?.m as C.m for Sends
...
BUG=
R=floitsch@google.com
Review URL: https://codereview.chromium.org//1294103004 .
2015-08-18 11:38:48 +02:00
Asger Feldthaus
64825e695d
dart2js cps: Set proper receiver type for intercepted methods.
...
BUG=
R=kmillikin@google.com
Review URL: https://codereview.chromium.org//1294083002 .
2015-08-18 11:26:54 +02:00
Asger Feldthaus
d3d7de8c12
dart2js cps: Add logical rewriter rules to favor null-aware operators.
...
These useful patterns arise with null-aware operators:
x ? y : x ==> x && y
x ? x : y ==> x || y
BUG=
R=kmillikin@google.com
Committed: https://github.com/dart-lang/sdk/commit/0e46c8dec97d5ab10c06900c67eeceb1f3e065ba
Review URL: https://codereview.chromium.org//1291073002 .
2015-08-18 11:09:00 +02:00
Johnni Winther
00df363b7a
Split resolution into several libraries.
...
BUG=
R=sigmund@google.com
Review URL: https://codereview.chromium.org//1286993004 .
2015-08-18 10:45:22 +02:00
Johnni Winther
1d356f8072
Refactoring resolution of updates to type literals.
...
BUG=
R=floitsch@google.com
Review URL: https://codereview.chromium.org//1301583002 .
2015-08-17 16:23:37 +02:00
Florian Loitsch
672df7c087
dart2js: Don't zone-register callbacks in async functions for every await.
...
R=johnniwinther@google.com , lrn@google.com
Review URL: https://codereview.chromium.org//1281523003 .
2015-08-17 15:57:34 +02:00
Florian Loitsch
7e64f3d962
Dart2js async-await. Bind the async-body to the current zone.
...
Also ensure the wrapping of js-functions happens only once per
async-call.
BUG=
R=floitsch@google.com
Review URL: https://codereview.chromium.org//1163833002 .
2015-08-17 15:56:53 +02:00
Kevin Millikin
b495fceef8
dart2js CPS: Fix a bug in commuting binary operations.
...
The Tree IR statement rewriter assumes both operands of a binary
operation are variable uses. Either one of them could also be `this`.
BUG=
R=asgerf@google.com
Review URL: https://codereview.chromium.org//1284233003 .
2015-08-17 11:17:44 +02:00
Asger Feldthaus
01844e7bb0
dart2js cps: Compile some loops as 'for' loops.
...
BUG=
R=kmillikin@google.com
Committed: https://github.com/dart-lang/sdk/commit/296cb0b5b45575f9e32acd2cbad2b8969e56cb77
Review URL: https://codereview.chromium.org//1287253002 .
2015-08-17 10:52:35 +02:00
Johnni Winther
720e72428c
Check for one-to-many source mappings.
...
BUG=
R=herhut@google.com
Review URL: https://codereview.chromium.org//1287973002 .
2015-08-17 09:57:57 +02:00
Florian Loitsch
f9d05b6e29
Fix names of map files in the startup emitter.
...
R=sigmund@google.com
Review URL: https://codereview.chromium.org//1295873002 .
2015-08-14 22:22:46 +02:00
Asger Feldthaus
13a3413ca2
Revert "dart2js cps: Add logical rewriter rules to favor null-aware operators."
...
This reverts commit 0e46c8dec9 .
BUG=
Review URL: https://codereview.chromium.org//1291313003 .
2015-08-14 15:37:20 +02:00
Asger Feldthaus
e1f4ae5482
Revert "dart2js cps: Compile some loops as 'for' loops."
...
This reverts commit 296cb0b5b4 .
TBR=kmillikin@google.com
BUG=
Review URL: https://codereview.chromium.org//1291333002 .
2015-08-14 14:34:04 +02:00
Asger Feldthaus
296cb0b5b4
dart2js cps: Compile some loops as 'for' loops.
...
BUG=
R=kmillikin@google.com
Review URL: https://codereview.chromium.org//1287253002 .
2015-08-14 12:09:32 +02:00
Asger Feldthaus
0e46c8dec9
dart2js cps: Add logical rewriter rules to favor null-aware operators.
...
These useful patterns arise with null-aware operators:
x ? y : x ==> x && y
x ? x : y ==> x || y
BUG=
R=kmillikin@google.com
Review URL: https://codereview.chromium.org//1291073002 .
2015-08-14 12:07:39 +02:00
Asger Feldthaus
c659bda53b
dart2js cps: Bugfixes in .push rewrites.
...
Two consecutive pushes would sometimes be merged in a way that one of
the arguments could fall out of scope.
List.addAll with a literal list as argument would sometimes be rewritten
to a push, even though the list could be modified before the use.
BUG=
R=kmillikin@google.com
Review URL: https://codereview.chromium.org//1286123005 .
2015-08-14 12:07:11 +02:00
Sigmund Cherem
e3fbf44643
dart2js: add function coverage tracking in dart2js output, dumpinfo, and
...
coverage recording server
R=sra@google.com
Review URL: https://codereview.chromium.org//1288593002 .
2015-08-13 16:47:58 -07:00
Harry Terkelsen
43e6b8b8db
dart2js: remove trailing 0 byte when reading .packages
...
BUG=
R=sigmund@google.com
Review URL: https://codereview.chromium.org//1290643007 .
2015-08-13 10:11:58 -07:00
Asger Feldthaus
0210c5c035
dart2js cps: Fix treatment of captured type variables.
...
CLOSES=24064
BUG=
R=kmillikin@google.com
Review URL: https://codereview.chromium.org//1286113003 .
2015-08-13 13:35:50 +02:00