Commit graph

41072 commits

Author SHA1 Message Date
John Messerly
c1cde9600b use pkg/dev_compiler in the build 2016-08-31 18:05:17 -07:00
John Messerly
6f9a51fef1 Merge dev_compiler into SDK repository. 2016-08-31 18:04:32 -07:00
Stan Manilov
87e1b35651 Add more non-nullability tests
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2259333002 .
2016-08-31 18:01:50 -07:00
Ryan Macnak
bff1351a22 Address additional comments re class id sorting.
R=asiva@google.com

Review URL: https://codereview.chromium.org/2305493002 .
2016-08-31 17:38:20 -07:00
Carlo Bernaschina
1341e94321 Converted Observatory class-view element
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2294073003 .
2016-08-31 17:03:38 -07:00
Brian Wilkerson
2cdafd82c2 Remove unnecessary hide clauses
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2305453002 .
2016-08-31 16:44:52 -07:00
Todd Turnidge
cd8292d175 Don't return negative token positions in stack traces.
Closes #27128

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2294883004 .
2016-08-31 16:22:18 -07:00
Harry Terkelsen
f57aa28577 kernel -> ssa: add tests for other simple operators
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2299453004 .
2016-08-31 16:17:53 -07:00
Konstantin Shcheglov
ac81124b8c Revert "Use dependency_overrides / analyzer in analysis_server."
This reverts commit 72f5463631.

Yes, we do have bot failures :-(

R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2298423002 .
2016-08-31 15:01:10 -07:00
Konstantin Shcheglov
72f5463631 Use dependency_overrides / analyzer in analysis_server.
RFC

We always do this locally, but until analysis_server is published,
we could just keep this change in repo.

R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2298973002 .
2016-08-31 14:44:09 -07:00
Konstantin Shcheglov
ee08f86c91 Rename test_reflective_loader_tag to test_reflective_loader_rev in DEPS.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2292423003 .
2016-08-31 14:05:10 -07:00
Konstantin Shcheglov
f096f7b985 Flush results when contexts are made idle.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2297343002 .
2016-08-31 14:03:25 -07:00
Konstantin Shcheglov
cc6beaf56d Pull in test_reflective_loader 0.0.4 and switch analyzer to it.
There are following changes:

1. DEPS to pull in test_reflective_loader 0.0.4
2. Rename runReflectiveTests() to defineReflectiveTests().
3. Remove analyzer's pkg/analyzer/test/reflective_tests.dart
4. Replace reflective_tests.dart imports with package:test_reflective_loader/test_reflective_loader.dart imports.
5. Sort/format and organize imports in the files with imports changes.
6. Fix for a couple of bugs in analysis_server exposed by the new loader.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2298913003 .
2016-08-31 13:46:39 -07:00
Brian Wilkerson
db61b35a62 Fix a null pointer exception (found in a log)
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2290233006 .
2016-08-31 12:57:19 -07:00
Ryan Macnak
ba94427eb1 AOT: When a call goes polymorphic but has a single target, transition to a stub that does a cid range check.
Expand the range on a miss if all classes in the range have the same lookup result, otherwise transition to the stub that does a linear scan of ICData.

Because we do a depth-first sort of classes during AOT, if a call site sees only objects all inheriting the same function as the call target, the call site will be handled by this new stub.

Adjust LoadClassIdMayBeSmi on x64 to preserve the object.

R=fschneider@google.com

Review URL: https://codereview.chromium.org/2279563002 .
2016-08-31 11:12:22 -07:00
John Messerly
63046da4be fix #25740 again, making sure we have the substituted bound in inference
The first fix only addressed part of the problem. Unfortunately we go back and forth between .element and .type, assuming they always return the other one, which was not the case for TypeParameterMember.

R=leafp@google.com

Review URL: https://codereview.chromium.org/2291103004 .
2016-08-31 11:10:33 -07:00
Harry Terkelsen
2ee5807184 create selectors directly from method invocations in kernel -> ssa
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2297283002 .
2016-08-31 10:46:30 -07:00
Harry Terkelsen
227766e4ac implement kernel -> ssa for simple binary expression
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2297853003 .
2016-08-31 09:59:33 -07:00
Jacob Richman
c2f07c61f2 DEPS AutoUpdate: dev_compiler
commit 01d4907cff61ecf934940e7243f79ef68e4bb12b
Author: Vijay Menon <vsm@google.com>

    Mark test flaky
2016-08-31 09:56:08 -07:00
Vijay Menon
367b3626f0 Mark test flaky
TBR'ing to get travis green

TBR=jmesserly@google.com

Review URL: https://codereview.chromium.org/2294333002 .
2016-08-31 09:51:18 -07:00
Johnni Winther
02ec9fb204 Mark dart2js_resolver_test as slow
Review URL: https://codereview.chromium.org/2297163002 .
2016-08-31 11:58:37 +02:00
Johnni Winther
64a2a03f0e Handle parts as input in resolver.
R=het@google.com

Review URL: https://codereview.chromium.org/2294753002 .
2016-08-31 11:04:40 +02:00
Johnni Winther
726d8fdb23 Handle html+mirrors
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2296723003 .
2016-08-31 10:34:04 +02:00
Konstantin Shcheglov
f8f4228728 Revert "Flush AST results for source outside of the analysis roots."
This reverts commit b115309531.

Revert "Use FlushTargetFilter to pre-filter targets before checking their results."

This reverts commit 2e24662c06.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2298043002 .
2016-08-30 19:55:10 -07:00
Stephen Adams
ba11ae416f Revert "Fold HTypeInfoReadVariable of instance creation."
These tests 'fail':
  language/mixin_regress_13688_test
  language/regress_18713_test

They are marked as failing due to faulty type information ($isX and
$asX) causing the wrong lookup of a type parameter of a mixin class.
The CL causes the lookup to be folded, giving the correct result.

The underlying issue needs to be fixed before we can proceed with this
CL.

TBR=sigmund@google.com

BUG=

Review URL: https://codereview.chromium.org/2294123003 .
2016-08-30 19:10:41 -07:00
Devon Carew
c3e64df2af Fix an analysis server test.
BUG=

Review URL: https://codereview.chromium.org/2294163002 .
2016-08-30 17:58:31 -07:00
pq
39c828f4a9 Analyzer 0.28.2-alpha.0.
* Corresponds with the analyzer/server in the `1.20.0-dev.1.0 ` SDK.

BUG=
R=brianwilkerson@google.com, scheglov@google.com

Review URL: https://codereview.chromium.org/2297963002 .
2016-08-30 17:20:12 -07:00
Carlo Bernaschina
8561986221 Removed warnings from service tests
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2296043002 .
2016-08-30 17:01:05 -07:00
Florian Schneider
5dfa8a863c VM: Fix polymorphic inlining of recognized methods in the JIT.
Also, clean up the inlining white list: [] and []= operators are inlined
specially as recognized methods and don't need to be in the always-inline list.

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2297033002 .
2016-08-30 16:25:09 -07:00
Stephen Adams
5b2e0a19fc Fold HTypeInfoReadVariable of instance creation.
This often replaces an expensive substitution read with a re-use of an indexed read, e.g.:

    t1 = H.setRuntimeTypeInfo(
        new H.WhereIterable(
            t1,
            new Q.CompositeView_removeChild_closure(view)),
        [H.getTypeArgumentByIndex(t1, 0)]);
    this.childViews = P.List_List$from(
        t1,
        true,
        H.getRuntimeTypeArgument(t1, "Iterable", 0));

---->

    t2 = H.getTypeArgumentByIndex(t1, 0);
    this.childViews = P.List_List$from(
        H.setRuntimeTypeInfo(
            new H.WhereIterable(
                t1,
                new Q.CompositeView_removeChild_closure(view)),
            [t2]),
        true,
        t2);

R=sigmund@google.com

Committed: b43ac92770

Review URL: https://codereview.chromium.org/2272923002 .

Reverted:  c3c5ee8c0a
2016-08-30 16:10:49 -07:00
Devon Carew
cd0a81ddf5 Update the styles for the analysis server specification.
BUG=
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2296023002 .
2016-08-30 15:42:27 -07:00
Jacob Richman
2e287201e2 DEPS AutoUpdate: dev_compiler
commit 80fcd4337743378bde800ad9a3b99b0d76d560c2
Author: Vijay Menon <vsm@google.com>

    Remove deprecated code
2016-08-30 15:40:44 -07:00
Vijay Menon
2bc19eaa64 Remove deprecated code
Updating to the latest analyzer.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2289263004 .
2016-08-30 15:39:38 -07:00
Carlo Bernaschina
1a1224b1d3 Removed const from classes arrays in Observatory
R=turnidge@google.com

Review URL: https://codereview.chromium.org/2298563002 .
2016-08-30 15:38:07 -07:00
Ryan Macnak
c80b23b7ff Fix evaluating in async/sync*/async* methods.
Fixes #27167.

R=hausner@google.com

Review URL: https://codereview.chromium.org/2291293003 .
2016-08-30 15:16:57 -07:00
Carlo Bernaschina
bf7d220741 Converted Observatory instance-view element
R=turnidge@google.com

Review URL: https://codereview.chromium.org/2291233002 .
2016-08-30 14:53:24 -07:00
Stephen Adams
7b3bc6933a locateSingleElement improvement for mixins.
I see several code improvements:

1. More inlining of small methods in mixin classes like ListMixin.isEmpty
2. Fewer interceptor calls where the target is now known but not inlined.
3. Implied getters and setters on mixin classes are inlined to direct field references.

Addresses https://github.com/dart-lang/sdk/issues/27160

R=johnniwinther@google.com

Review URL: https://codereview.chromium.org/2278143003 .
2016-08-30 14:08:50 -07:00
Konstantin Shcheglov
f3f06374c8 An AnalysisTarget is a priority one if its Source is in prioritySources.
Test for not flushing results of priority sources.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2289283003 .
2016-08-30 13:59:21 -07:00
Carlo Bernaschina
19e9627ea0 Converted Observatory library-view element
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2289953003 .
2016-08-30 13:58:15 -07:00
Konstantin Shcheglov
a92f54c746 Make LIBRARY_CYCLE_UNITS and LIBRARY_CYCLE_DEPENDENCIES be List<LibrarySpecificUnit>.
I expected some performance gains by avoiding creating LSU instances
multiple times, but don't see any difference.

However this makes flutter-memory-initialAnalysis-2 benchmark use
about 2.5% less memory.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2298493002 .
2016-08-30 13:53:55 -07:00
Carlo Bernaschina
0083d2610e Converted Observatory object-view element
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2294473002 .
2016-08-30 13:39:12 -07:00
Stephen Adams
82fc834632 Add language test with nested function typedef with two references to argument
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2297783002 .
2016-08-30 13:27:20 -07:00
pq
b7f0ce083b Revert "Remove 'Element.docRange'."
This reverts commit abc5051854.

Background: required to keep `analyzer` version-compatible with `test`.

BUG=
R=brianwilkerson@google.com, scheglov@google.com

Review URL: https://codereview.chromium.org/2293143003 .
2016-08-30 13:10:15 -07:00
Stephen Adams
70dddcb4c7 Fix dart2js_extra/27199_test.dart
Use annotations instead of DateTime.now()

TBR=sigmund@google.com

Review URL: https://codereview.chromium.org/2293163002 .
2016-08-30 12:19:08 -07:00
Brian Wilkerson
3e58ee5799 Move error checking from scope creation to error reporter (take 2)
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2290373003 .
2016-08-30 11:22:38 -07:00
Florian Schneider
442fa8e7bc VM: Remove unecessary dead code from flow-graph builder.
We already recognize typed list factories and mark them
using is_known_list_constructor_.

BUG=
R=vegorov@google.com

Review URL: https://codereview.chromium.org/2293103002 .
2016-08-30 11:14:40 -07:00
Konstantin Shcheglov
1c6d3472a6 Set 'packageResolverProvider' for ContextBuilder in DAS.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2290423002 .
2016-08-30 10:56:27 -07:00
Matthias Hausner
e1e4a950ad Remove legacy patch class syntax in VM
This should now work since the last remaining uses of legacy
patch syntax in Dartium are gone.

This reverts commit 04b8a627d6.

BUG=

Review URL: https://codereview.chromium.org/2292213002 .
2016-08-30 10:54:52 -07:00
Terry Lucas
6544e9b7d8 Updated to latest fix for @patch in blink
TBR=jacobr@google.com

Review URL: https://codereview.chromium.org/2289263002 .
2016-08-30 10:38:39 -07:00
Zach Anderson
62f9ac3cb9 Fix mac dartium build
Review URL: https://codereview.chromium.org/2291253002 .
2016-08-30 09:53:51 -07:00