Florian Loitsch
07552fb3f6
Mark analyzer test as slow.
...
Review URL: https://codereview.chromium.org/1781343002 .
2016-03-11 13:52:02 +01:00
Stephen Adams
dc95698672
Type inference cleanup
...
- No longer attribute queries to type inference. Queries are attributed to client.
- Remove vestigial CPA code
- Don't compare target sets for additions and deletions if they are
the same (most of the time we revisit the dynamic call site due to
a change in a returned result).
R=sigmund@google.com
Review URL: https://codereview.chromium.org/1777393003 .
2016-03-10 17:25:22 -08:00
Konstantin Shcheglov
4e8e1e2e04
Improve search for constructors and import elements.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org/1778363003 .
2016-03-10 14:57:42 -08:00
Konstantin Shcheglov
5271cd3259
Fix for indexing synthetic elements.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org/1779233002 .
2016-03-10 10:57:08 -08:00
Sigmund Cherem
f80b3d0ce0
Update status on cpsir bot: these new tests crash the compiler for a known
...
reason.
TBR=sra@google.com
Review URL: https://codereview.chromium.org/1777293003 .
2016-03-10 10:04:01 -08:00
Brian Wilkerson
f42380ccbb
Improve the error message when there is an infinite loop in tasks
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org/1783853002 .
2016-03-10 09:04:26 -08:00
Brian Wilkerson
83df52b590
Move more behavior out of ContextManagerCallbacks and into ContextManager
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org/1784523002 .
2016-03-10 08:36:35 -08:00
Brian Wilkerson
ec08de7df8
Get more data to track down issue 25884
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org/1775913005 .
2016-03-10 08:21:40 -08:00
Brian Wilkerson
1a455bcb9d
Move element handles out of generated
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org/1780883002 .
2016-03-10 07:40:33 -08:00
Johnni Winther
78e8677f83
Fix shared messages.
...
Remembered to publish, forgot to test!
Review URL: https://codereview.chromium.org/1780803004 .
2016-03-10 11:20:56 +01:00
Johnni Winther
b31a2566d4
Use specific messages for const constructor with body.
...
BUG=
R=floitsch@google.com
Review URL: https://codereview.chromium.org/1768143003 .
2016-03-10 10:09:17 +01:00
danrubel
d26d023ce7
update tests for execution on windows
...
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org/1774623006 .
2016-03-09 22:33:35 -05:00
Brian Wilkerson
ef1c632679
Clean up some warnings (issue 25964)
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org/1778663006 .
2016-03-09 17:32:49 -08:00
Brian Wilkerson
d03381c587
Fix NPE in rename local (issue 25933)
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org/1776743006 .
2016-03-09 17:02:15 -08:00
Stephen Adams
ae13804e09
dart2js: Destroy some type inference graph edges after type inference.
...
Removing the `_assignments` and `users` collections from TypeInformation
nodes causes interior nodes (e.g. Phi, Narrow) to become unreachable and
available for GC. This seems to trim 1%-5% off the final heap of an SSA
compile.
R=sigmund@google.com
Committed: https://github.com/dart-lang/sdk/commit/e85ac191344cdbecfdd39d99ff50209bb3dc837f
Reverted: https://github.com/dart-lang/sdk/commit/9292d1bc2baa05c4ac97ec12d8d922811a181d02
Review URL: https://codereview.chromium.org/1776533002 .
2016-03-09 16:45:19 -08:00
Konstantin Shcheglov
4d48fa56d0
Listen for context add/remove and unit invalidation to update the index.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org/1783503004 .
2016-03-09 14:52:19 -08:00
Stephen Adams
9292d1bc2b
Revert "dart2js: Destroy some type inference graph edges after type inference."
...
BUG=
Review URL: https://codereview.chromium.org/1775253004 .
2016-03-09 14:07:48 -08:00
danrubel
14983f0a26
extract resource path test utils
...
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org/1777913003 .
2016-03-09 16:26:14 -05:00
Konstantin Shcheglov
00b6f98166
Separate index objects for each analysis context.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org/1778113002 .
2016-03-09 13:24:12 -08:00
Stephen Adams
42070892a4
Create map for dump_info on demand.
...
Saves about 1% of heap for non --dump-info compile.
R=sigmund@google.com
Review URL: https://codereview.chromium.org/1777823002 .
2016-03-09 13:15:05 -08:00
Brian Slesinsky
ae009e0870
Fix regression for import suggestions
...
Imports weren't being suggested for implicit source files,
for example files from other analysis roots.
BUG=
R=brianwilkerson@google.com , scheglov@google.com
Review URL: https://codereview.chromium.org/1759333002 .
2016-03-09 12:59:46 -08:00
Stephen Adams
e85ac19134
dart2js: Destroy some type inference graph edges after type inference.
...
Removing the `_assignments` and `users` collections from TypeInformation
nodes causes interior nodes (e.g. Phi, Narrow) to become unreachable and
available for GC. This seems to trim 1%-5% off the final heap of an SSA
compile.
R=sigmund@google.com
Review URL: https://codereview.chromium.org/1776533002 .
2016-03-09 12:47:10 -08:00
Konstantin Shcheglov
5a927c7373
Add hacks into build_sdk_summaries to workaround bugs in build tools.
...
Paul thinks that there is a bug in gyp or make, and we should generate
only one output. So, we generate the whole bundle with all summaries
and index information. And then we have separate actions that take
this bundle and extract one output each - spec.sum and strong.sum files.
R=paulberry@google.com , whesse@google.com
BUG=
Review URL: https://codereview.chromium.org/1775973003 .
2016-03-09 11:37:17 -08:00
Konstantin Shcheglov
21ed1750ce
Issue 25962. Check for the number of arguments vs. number of required parameters.
...
Unfortunately I was not able to reproduce the problem.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/25962
Review URL: https://codereview.chromium.org/1776353003 .
2016-03-09 11:33:01 -08:00
pq
e7e205f00b
Add error codes to server protocol ( #25958 ).
...
See: https://github.com/dart-lang/sdk/issues/25958
BUG=
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org/1774913006 .
2016-03-09 10:44:03 -08:00
Bob Nystrom
8defa5f77c
Split resolver_test.dart into smaller files.
...
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org/1782463002 .
2016-03-09 10:42:09 -08:00
pq
fb3eae598a
CLI support for enableConditionalDirectives.
...
BUG=
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org/1778683004 .
2016-03-09 10:04:41 -08:00
pq
402f27e26d
Fix enableConditionalDirectives option handling.
...
Net-net: we weren't copying this value over when copying context options.
BUG=
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org/1774213003 .
2016-03-09 10:01:28 -08:00
Asger Feldthaus
40f6c6934c
dart2js cps: Do field calls directly instead going through the adapter.
...
E.g. obj.foo$1(x) becomes obj.foo.call$1(x).
BUG=
R=kmillikin@google.com
Review URL: https://codereview.chromium.org/1776473006 .
2016-03-09 15:59:49 +01:00
Asger Feldthaus
cb46f224f6
dart2js cps: Inline constructor bodies that are only called once.
...
ConstructorBodyElements do not exist in the type inference graph, so
we can't rely on it to tell us if such a method has a single call site.
BUG=
R=kmillikin@google.com
Review URL: https://codereview.chromium.org/1779723002 .
2016-03-09 14:00:25 +01:00
Johnni Winther
7b7cfb66ab
Add source information to variable declarations in CPS.
...
This adds a source mapping to variable declarations in the beginning of a JS function, that points to the start of the corresponding Dart method:
foo: function() {
var a, b;
^
maps to
foo() {
^
R=sigmund@google.com
Review URL: https://codereview.chromium.org/1772703002 .
2016-03-09 10:02:16 +01:00
Bob Nystrom
528f6c01a7
Clean up some copy/paste in a test.
...
Almost all of these tests had the same few steps, so I pulled that out
into a helper function and used that.
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org/1780623002 .
2016-03-08 17:40:46 -08:00
Stephen Adams
d367741ead
Recognize identical() ConstantValues as equal.
...
This fast path is not used when interning ConstantValues but is
beneficial when the ConstantValue is the key of a HashMap.
BUG=
R=sigmund@google.com
Review URL: https://codereview.chromium.org/1777483006 .
2016-03-08 17:18:27 -08:00
Konstantin Shcheglov
5b117e9e18
Use the fact that some index lists are sorted.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org/1776143002 .
2016-03-08 13:43:43 -08:00
Konstantin Shcheglov
3af20476d1
Add AnalysisContext.onResultInvalidated(descriptor).
...
This method will be used to remove index entries corresponding to
invalidated resolved units.
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org/1776023002 .
2016-03-08 12:55:06 -08:00
Konstantin Shcheglov
15bfead120
Sort strings in the index.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org/1774253002 .
2016-03-08 12:45:29 -08:00
Paul Berry
c497c026fe
Fix summary generation in "package-summary-only" mode.
...
If we aren't doing full analysis, then we can't use
`context.librarySources` to find out the set of library sources (because
it doesn't include sources that haven't been examined yet). Instead, we
have to query each source to find out its type.
R=scheglov@google.com
Review URL: https://codereview.chromium.org/1770323003 .
2016-03-08 12:14:11 -08:00
Bob Nystrom
cb7aa02116
Type check for-in statements.
...
This does nominal checking on the iterable expression used in a for-in
statement:
1. It must implement Iterable.
2. The type argument to Iterable must be assignable to the variable's
type.
R=brianwilkerson@google.com , jmesserly@google.com
Review URL: https://codereview.chromium.org/1771153002 .
2016-03-08 11:25:49 -08:00
Stephen Adams
ea480cdf0f
Fix typo in TypeInformationSystem.joinTypeMasks
...
R=sigmund@google.com
Review URL: https://codereview.chromium.org/1771253002 .
2016-03-08 10:55:15 -08:00
Paul Berry
1f8ea5448e
Add an analyzer_cli option to disable analysis (for faster summary generation)
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org/1772923002 .
2016-03-08 09:25:20 -08:00
Brian Wilkerson
d8786ac278
Change when enum constant elements are created to fix bug in re-creating ASTs from existing element models
...
R=paulberry@google.com , scheglov@google.com
Review URL: https://codereview.chromium.org/1771243002 .
2016-03-08 08:45:44 -08:00
Asger Feldthaus
7772152fa1
dart2js cps: Keep interceptors in a separate field.
...
Previously, the "receiver" of an InvokeMethod would be either be the
"Dart receiver" or an interceptor, depending on the calling convention.
Likewise, the argument list was possibly prefixed by the Dart receiver.
Now, the receiver is always the Dart receiver, and the arguments are
the Dart arguments and the interceptor is in a field specific for the
interceptor.
The old way was very inconvenient in the CPS, it has led to several
bugs already, and it's just unintuitive that "receiver" can mean two
very different things.
FunctionDefinition no longer has a thisParameter, but
instead a receiverParameter and an interceptorParameter. These are
named to correspond exactly with the names used in InvokeMethod.
The concept of 'this' has been removed from the CPS IR to hopefully
avoid confusion between 'Dart this' and 'JS this'. There is now only
receiver and interceptor, and which one corresponds to the JS 'this'
is irrelevant.
The Tree IR has not changed. The Tree IR builder is thus responsible
for translating the calling convention into the JS receiver and
argument list. The Tree needs to know the order in which the operands
are evaluated, so it makes sense to keep this form in the Tree.
R=sra@google.com
Review URL: https://codereview.chromium.org/1761903002 .
2016-03-08 13:43:20 +01:00
Johnni Winther
7cbfcd69ca
Updates from comments.
...
BUG=
R=sigmund@google.com
Review URL: https://codereview.chromium.org/1683063002 .
2016-03-08 10:36:58 +01:00
Johnni Winther
583fd470d8
Add source location to function declarations.
...
Temporarily adds source location to function declarations in the new source info system.
R=sigmund@google.com
Review URL: https://codereview.chromium.org/1773553002 .
2016-03-08 10:30:13 +01:00
pq
24ac0d4e2d
Fix cycle in override check.
...
BUG=
R=scheglov@google.com
Review URL: https://codereview.chromium.org/1769253002 .
2016-03-07 14:09:58 -08:00
Konstantin Shcheglov
b9ee5c20eb
Implement SearchEngine.searchMemberReferences().
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org/1768353002 .
2016-03-07 13:41:12 -08:00
pq
4528052e98
Validation of @mustCallSuper overrides.
...
Carried over and refined from https://codereview.chromium.org/1767843002/ .
BUG=
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org/1773803002 .
2016-03-07 13:37:35 -08:00
Konstantin Shcheglov
f2111c2497
Search for direct and indirect subclasses.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org/1770083002 .
2016-03-07 11:30:44 -08:00
Konstantin Shcheglov
2293a22b7f
Implement searchMemberDeclarations() / searchTopLevelDeclarations().
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org/1770953002 .
2016-03-07 11:14:05 -08:00
Brian Wilkerson
687119c56d
Prepare to publish a new alpha version for DDC
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org/1768303002 .
2016-03-07 11:01:25 -08:00