ngeoffray@google.com
03b948e409
Re-apply: "Fix http://code.google.com/p/dart/issues/detail?id=13007 by introducing a new Marker value in the SsaValueRangeAnalyzer."
...
R=kasperl@google.com
Review URL: https://codereview.chromium.org//23669006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27382 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-11 13:33:49 +00:00
johnniwinther@google.com
effefe0e10
Create type masks lazily.
...
R=ngeoffray@google.com
Review URL: https://codereview.chromium.org//23819039
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27379 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-11 12:48:39 +00:00
sra@google.com
39bad23b40
Native abstract classes may be instantiated as a proxy for undeclared native subclasses.
...
Native classes can have subclasses that are not declared to the program, for example, some browsers have subclasses of HTMLElement that are not present on other browsers. Instances of these subclasses are treated as instances of the known class (HTMLElement).
What this means is that abstract native classes can appear to have instances, so abstract native classes can appear to be instantiated.
Review URL: https://codereview.chromium.org//23600020
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27314 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-09 22:21:41 +00:00
ngeoffray@google.com
72e13620a7
Turn a Dart String + String into a JavaScript String + String.
...
R=ahe@google.com
Review URL: https://codereview.chromium.org//23496037
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27281 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-09 09:37:08 +00:00
sra@google.com
b5e50f8de4
Revert "Revert "Fix casts and type assertions on mixins used in native classes.""
...
Fix typo
Review URL: https://codereview.chromium.org//24057003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27274 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-07 00:53:14 +00:00
sra@google.com
b32607aa83
Revert "Fix casts and type assertions on mixins used in native classes."
...
Review URL: https://codereview.chromium.org//23493026
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27273 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-07 00:47:00 +00:00
sra@google.com
e749bcf929
Fix casts and type assertions on mixins used in native classes.
...
The tests are more complex with mixins and subtypes of native types.
We must avoid calling getCheckedModeHelper and friends during resolution because the type queries required to identify the static helper function might access unresolved types.
R=karlklose@google.com
Review URL: https://codereview.chromium.org//23959003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27272 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-07 00:35:26 +00:00
ngeoffray@google.com
14b3a168e0
Revert r27232: some checked mode tests fail.
...
Review URL: https://codereview.chromium.org//23625009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27238 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-06 09:19:11 +00:00
ngeoffray@google.com
11edf0efcb
Fix bug in inferrer for the computation of callers: we need to keep track of what is the called node to ensure another call does not accidentally remove a caller.
...
The bug was in the following code:
Iterable<Element> untypedTargets = allFuctions.filter(selector.asUntyped);
Iterable<Element> typedTargets = allFuctions.filter(selector);
for (callee in untypedTargets) {
if (!typedTargets.contains(callee)) {
callee.removeCall(caller);
} else {
callee.addCall(caller);
}
}
The "removeCall" here is not correct because the relation caller-> callee could have been made by another call, with the same selector name but a different typedTargets set.
R=kasperl@google.com
Review URL: https://codereview.chromium.org//23956007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27233 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-06 08:42:50 +00:00
ngeoffray@google.com
9d598a47a0
Fix http://code.google.com/p/dart/issues/detail?id=13007 by introducing a new Marker value in the SsaValueRangeAnalyzer.
...
R=kasperl@google.com
Review URL: https://codereview.chromium.org//23872005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27232 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-06 08:41:03 +00:00
johnniwinther@google.com
89707c39c9
Check for non-final field in the face of const constructors.
...
BUG=http://dartbug.com/12900,http://dartbug.com/12901
R=karlklose@google.com
Review URL: https://codereview.chromium.org//23533040
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27227 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-06 06:19:38 +00:00
ngeoffray@google.com
f53a51c11c
Is checks on the right hand side of an || used in an 'if' do not apply to the then branch of that if.
...
R=lrn@google.com
Review URL: https://codereview.chromium.org//23816004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27177 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-05 07:34:05 +00:00
ngeoffray@google.com
8007683eb5
Ensure UnionTypeMask.operator== works in the presence of nullability.
...
R=kasperl@google.com
Review URL: https://codereview.chromium.org//23672022
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27173 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-05 07:01:06 +00:00
ngeoffray@google.com
0d12e827d9
Fix bug http://code.google.com/p/dart/issues/detail?id=12941 by doing speculative optimizations even if one class in the system implements the speculated type, but does not implement all its members.
...
R=kasperl@google.com
Review URL: https://codereview.chromium.org//23883004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27128 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-04 13:37:07 +00:00
johnniwinther@google.com
a24216b972
Remove use of deprecatedFutureValue.
...
BUG=
R=ahe@google.com
Review URL: https://codereview.chromium.org//23954002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27119 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-04 12:22:54 +00:00
ngeoffray@google.com
057210724f
Fix the merge of locals handler logic.
...
This currently works because there is no inferrer that make use of the creation of phis. I'm working on an experimental one that found these problems.
R=kasperl@google.com
Review URL: https://codereview.chromium.org//23656005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27104 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-04 09:25:14 +00:00
johnniwinther@google.com
0bfd98da46
Add order to DartType.
...
BUG=
R=karlklose@google.com
Review URL: https://codereview.chromium.org//18721005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27098 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-04 08:09:41 +00:00
johnniwinther@google.com
c8f4cbb263
Support symbol literals.
...
BUG=
R=ahe@google.com
Review URL: https://codereview.chromium.org//21511003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27095 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-04 06:32:44 +00:00
kasperl@google.com
b09b4808db
Mark analyze_dart2js_test as slow and remove slow marker for the test affected by issue 6658 (fixed).
...
R=ricow@google.com
BUG=
Review URL: https://codereview.chromium.org//23620025
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27091 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-04 05:37:30 +00:00
sra@google.com
f48399f435
Test for JS objects spoofing Dart objects.
...
It should not be possible to mistake native objects for Dart objects.
Review URL: https://codereview.chromium.org//23587015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27089 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-04 03:38:14 +00:00
kustermann@google.com
0d19469e7b
dart2js_extra/mirror_invalid_field_access{2,4} are passing now
...
R=ahe@google.com
Review URL: https://codereview.chromium.org//23533024
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27068 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-03 16:45:30 +00:00
ngeoffray@google.com
a74e1255e0
Make sure we're not trying to optimize an int check if the input can be a number.
...
R=kasperl@google.com
Review URL: https://codereview.chromium.org//23565007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27034 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-03 10:23:45 +00:00
ahe@google.com
eb5906ef01
Remove dart2js_foreign.
...
R=kustermann@google.com
Review URL: https://codereview.chromium.org//23477028
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27032 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-03 08:41:32 +00:00
johnniwinther@google.com
3d22a350b3
First pass at asynchronous input loading in dart2js.
...
R=ahe@google.com , johnniwinther@google.com
Review URL: https://codereview.chromium.org//17759007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27028 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-03 08:04:38 +00:00
ngeoffray@google.com
3d04f309e5
Do not do global optimizations on fields and parameters when invokeOn is enabled.
...
R=ahe@google.com , johnniwinther@google.com
Review URL: https://codereview.chromium.org//23504003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27026 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-03 07:50:35 +00:00
ahe@google.com
96c9333b16
Mark mirror_type_inference_field2_test as failing in CSP mode
...
Review URL: https://codereview.chromium.org//23461016
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27023 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-02 20:37:11 +00:00
ahe@google.com
0c09e2ef51
Update syntax and disable dart2js_foreign.
...
Review URL: https://codereview.chromium.org//23876002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27019 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-02 18:46:54 +00:00
ahe@google.com
7222569e4f
Fix various parser bugs related to modifiers of top-level and class members.
...
BUG=http://dartbug.com/5852
BUG=http://dartbug.com/12805
BUG=http://dartbug.com/12887
BUG=http://dartbug.com/12898
R=johnniwinther@google.com
Review URL: https://codereview.chromium.org//23606010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27016 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-02 17:50:42 +00:00
ngeoffray@google.com
bc3d9f0f12
Couple of backend fixes:
...
- Remove the field check for reflection in the type inferrer to be in backend.canBeUsedForGlobalOptimizations.
- Move registering of noSuchMethod helpers in backend.
R=johnniwinther@google.com
Review URL: https://codereview.chromium.org//23449019
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26995 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-02 08:17:24 +00:00
ahe@google.com
0d1742a223
Temporarily skip deferred load tests on IE9.
...
Review URL: https://codereview.chromium.org//23845002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26977 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-31 11:31:14 +00:00
ahe@google.com
11d37b171e
Don't rely on script.async in deferred loading.
...
BUG=http://dartbug.com/12635
R=blois@google.com
Review URL: https://codereview.chromium.org//23678006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26971 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-31 09:11:52 +00:00
ahe@google.com
d99c0de126
Update status for mirror_type_inference_field_test, no mirrors in CSP yet
...
Review URL: https://codereview.chromium.org//23499008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26968 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-31 08:46:44 +00:00
ahe@google.com
65f0be776d
Temporarily skip deferred tests.
...
Review URL: https://codereview.chromium.org//23531022
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26942 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-30 21:08:01 +00:00
ahe@google.com
7f8c9a5911
Fix type error.
...
Review URL: https://codereview.chromium.org//23447008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26939 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-30 20:08:29 +00:00
karlklose@google.com
e1f68cd818
Enable type inference when using mirrors.
...
This reapplies https://codereview.chromium.org//22640009 .
R=ngeoffray@google.com
Review URL: https://codereview.chromium.org//23641006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26922 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-30 15:51:04 +00:00
ahe@google.com
41518b2ddf
Update status file for CSP mode, and clear the HTML document to avoid confusing test.dart.
...
R=kustermann@google.com
Review URL: https://codereview.chromium.org//23659006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26920 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-30 15:31:40 +00:00
floitsch@google.com
1866e87ddd
Switch to async_helper package.
...
R=kustermann@google.com
Review URL: https://codereview.chromium.org//23701010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26918 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-30 14:19:57 +00:00
ahe@google.com
fc33814344
Mirror printer test.
...
BUG=http://dartbug.com/12134
R=karlklose@google.com , ngeoffray@google.com
Review URL: https://codereview.chromium.org//23045007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26916 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-30 13:51:54 +00:00
ahe@google.com
62ef9aea7c
Address a number of issues related to computation of currentScript and deferred loading.
...
* Store currentScript on init, as it is a cross-isolate shared value.
* Clean up deferred loading.
* Fix deferred loading tests so they inform the test runner about asynchronous operations.
BUG=http://dartbug.com/12635
BUG=http://dartbug.com/10622
BUG=http://dartbug.com/9158
R=blois@google.com , ngeoffray@google.com
Review URL: https://codereview.chromium.org//23523003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26903 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-30 06:57:27 +00:00
ngeoffray@google.com
5379a59284
Fix red buildbot for csp.
...
Review URL: https://codereview.chromium.org//23484012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26902 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-30 06:42:05 +00:00
karlklose@google.com
0e2d435ab0
Revert "Enable type inference when using mirrors."
...
This reverts commit r26882.
TBR=ngeoffray@google.com
Review URL: https://codereview.chromium.org//23444018
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26884 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-29 18:02:27 +00:00
karlklose@google.com
5b37b42938
Enable type inference when using mirrors.
...
For potentially invoked functions, infer dynamic for all parameters.
R=ngeoffray@google.com
Review URL: https://codereview.chromium.org//22640009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26882 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-29 17:11:03 +00:00
karlklose@google.com
17adcbec35
Throw when reflecting on elements not covered by a MirrorsUsed annotation.
...
BUG=
R=ngeoffray@google.com
Review URL: https://codereview.chromium.org//23045004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26874 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-29 15:55:01 +00:00
zarah@google.com
9dfe997f8e
Only emit members in mirror helper symbolsmap.
...
R=johnniwinther@google.com
Review URL: https://codereview.chromium.org//23593002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26771 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-28 08:46:48 +00:00
ngeoffray@google.com
867e9d8bb4
Getters and setters must also be added to the list of intercepted names, to make invocations through Function.apply and mirrors know the right calling convetion.
...
R=ahe@google.com
Review URL: https://codereview.chromium.org//23477003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26763 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-28 06:25:34 +00:00
zarah@google.com
1823463b97
Add renames in output when using the mirror helper library.
...
R=johnniwinther@google.com
Review URL: https://codereview.chromium.org//22791002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26623 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-26 08:21:33 +00:00
johnniwinther@google.com
1eb5e57347
Revert "Extract interceptor calls from raw is-checks."
...
This reverts commit r26620.
BUG=
Review URL: https://codereview.chromium.org//23369004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26621 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-26 07:33:21 +00:00
johnniwinther@google.com
4bba0b877a
Extract interceptor calls from raw is-checks.
...
BUG=
R=ngeoffray@google.com
Review URL: https://codereview.chromium.org//23003031
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26620 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-26 07:10:38 +00:00
johnniwinther@google.com
c6dc37da3d
Use predicates to check simple function types.
...
R=karlklose@google.com
Review URL: https://codereview.chromium.org//22903036
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26590 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-23 10:15:24 +00:00
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