Commit graph

38637 commits

Author SHA1 Message Date
Zachary Anderson 678cb048ed Adds blocking file locks.
Fixes #26665

R=sgjesse@google.com

Review URL: https://codereview.chromium.org/2050413002 .
2016-06-13 07:58:09 -07:00
Terry Lucas 6914b84a03 Fixed Linux bots to disable GPU otherwise process is terminated
R=whesse@google.com
TBR=alanknight@google.com, whesse@google.com

Review URL: https://codereview.chromium.org/2054153002 .
2016-06-13 06:34:04 -07:00
William Hesse f9a6371c53 Suppress failing analyzer test.
BUG=https://github.com/dart-lang/sdk/issues/26692
R=sgjesse@google.com, scheglov@google.com

Review URL: https://codereview.chromium.org/2062803002 .
2016-06-13 15:19:30 +02:00
William Hesse 093672fe21 Queue standard test suites before co19
When running multiple test suites, queue the suites listed in
TEST_SUITE_DIRECTORIES before co19, vm tests, analyze_library, and
pkgbuild.

A re-upload of CL https://codereview.chromium.org/15565004/ from 2 years ago.

R=sgjesse@google.com
CC=kustermann@google.com

Review URL: https://codereview.chromium.org/2059153002 .
2016-06-13 13:37:34 +02:00
Paul Berry 7653369e50 Fix exit detection for try statements.
Previously, we assumed that if the contents of the "try" block always
exit, then the whole try statement always exits.  But this is not
correct if there is at least one catch handler that does not exit.

Fixes #26676

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2054323002 .
2016-06-11 06:06:43 -07:00
Konstantin Shcheglov 0ce19821fc When a test class is named SoloTest, run it using solo_group().
So, we can quickly run a single test suite without commenting ont
other classes in main(). Still have to rename the test class. though...

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

Review URL: https://codereview.chromium.org/2053143003 .
2016-06-10 18:52:41 -07:00
Florian Schneider bbe812f727 Fix dead lock in isolate shutdown.
The service isolate is shutdown after the application isolates, so that any blocking i/o requests by pending isolate spawn tasks can be handled.

BUG=#26684
R=zra@google.com

Review URL: https://codereview.chromium.org/2052343002 .
2016-06-10 16:00:18 -07:00
Konstantin Shcheglov 6d49c787dc Stop tracking cache dependencies in analyzer_cli.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2058253002 .
2016-06-10 14:29:34 -07:00
Konstantin Shcheglov 8b2d313300 Optimize paths comparision in source closure sorting.
This makes incremental analysis 13% faster.
Paths comparision time falls from 12.9% to 3.2%.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2060433003 .
2016-06-10 14:26:37 -07:00
John Messerly 67dd48060b Add analysis option that will be used to fix #26583
There's follow up work that is needed for CLI and analysis_options

R=brianwilkerson@google.com, leafp@google.com

Review URL: https://codereview.chromium.org/2054443002 .
2016-06-10 14:05:50 -07:00
Konstantin Shcheglov 643e682b1e Prepare for publishing analyzer 0.27.4-alpha.11
I think the new trackCacheDependencies option might be interesting for
DDC to use.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2061463002 .
2016-06-10 13:32:18 -07:00
Konstantin Shcheglov 6682e74526 Use package_config 0.1.5 in analyzer_cli to get performance improvements.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2055363002 .
2016-06-10 13:30:05 -07:00
John McCutchan be9ab0714c Fix bots
BUG=

Review URL: https://codereview.chromium.org/2057283003 .
2016-06-10 12:39:42 -07:00
John McCutchan 1a4c2005cc DevFS initial implementation.
This cl implements an experimental filesystem maintained in the vm, called dart-devfs.  This will allow service protocol users to read and write source files while the vm is running.  This is needed for the reload support for flutter.

R=turnidge@google.com

Review URL: https://codereview.chromium.org/2059883003 .
2016-06-10 12:33:50 -07:00
Terry Lucas c2b7fb2c76 Test out disable GPU for layout test for linux bots
TBR=alanknight@google.com

Review URL: https://codereview.chromium.org/2058523005 .
2016-06-10 11:39:05 -07:00
Florian Schneider c8f449e1a1 Update status for precompilation tests.
TBR=johnmccutchan@google.com,

BUG=

Review URL: https://codereview.chromium.org/2056393002 .
2016-06-10 11:07:07 -07:00
Konstantin Shcheglov cb428694d3 Add Folder.getChildAssumingFile().
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2058163002 .
2016-06-10 10:37:43 -07:00
Kevin Moore c790c11ac5 update changelog for 1.17.1 release
Review URL: https://codereview.chromium.org/2056973003 .
2016-06-10 10:35:40 -07:00
Brian Wilkerson 776000aac4 Enhance the tests for ComputeLibraryCycleTask
R=paulberry@google.com

Review URL: https://codereview.chromium.org/2052223003 .
2016-06-10 09:55:15 -07:00
Vyacheslav Egorov ec9b1c385a VM: Improve specialization of calls on receiver in AOT mode.
When encountering call this.m(...) we can check if m resolves to the same
method in all concrete subclasses of the receiver class. If it does then
we don't need any checks and can just use a StaticCall instead of InstanceCall.

This is allows us to improve code quality for cases like:

    class Base {
      var _field;

      foo() { _field = true; }
    }

    class A01 extends Base { }
    ...
    class A16 extends Base { }

Previously AOT would generate InstanceCall(get:_field) in the method foo.

However with this change we generate StaticCall(...) which subsequently gets
handled by the inliner.

R=fschneider@google.com
BUG=

Review URL: https://codereview.chromium.org/2055263002 .
2016-06-10 18:12:49 +02:00
Brian Wilkerson 51bb8b289e Fix the generation of URIs for scripts
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2052293002 .
2016-06-10 08:26:17 -07:00
Regis Crelier e803457081 Silence analyzer choking on new test.
Review URL: https://codereview.chromium.org/2057943002 .
2016-06-09 19:46:57 -07:00
Regis Crelier f4029bf3ee Capture instantiator in async function when required to check result type.
Add regression test (fixes #26668).

Review URL: https://codereview.chromium.org/2057903003 .
2016-06-09 19:14:14 -07:00
Florian Schneider 705e9e781d Fix more flakiness in pkg tests.
I already fixed similar failures.

I recommend eliminating all uses of pumpEventQueue.

BUG=#26556
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2059503002 .
2016-06-09 15:08:06 -07:00
Brian Wilkerson 279cb449e2 Fix a broken unit test
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2055983002 .
2016-06-09 14:03:17 -07:00
Konstantin Shcheglov a986d92eb4 Optimize computing library closures - reuse already created closures.
This is not the most efficient implementation, but it still makes
incremental analysis of an Analysis Server test module about 30% faster.

Now computing MD5 takes about 50% of total time.
Not sure what to do with this :-(

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

Review URL: https://codereview.chromium.org/2046223004 .
2016-06-09 14:02:52 -07:00
Florian Schneider 82fac9b30b Fix incorrect new-space allocations in the parser during background compilation
Thess place were forgotten when changing all allocations in the background
compiler to old-space. New-space allocation is not allowed in the background
compiler thread.

I added assert to places that should only be reachable during unoptimized compilation.

BUG=#26669
R=asiva@google.com

Review URL: https://codereview.chromium.org/2056813002 .
2016-06-09 13:53:42 -07:00
pq 1eefb68c25 SDK summary creation generalization (pt 1).
Steps towards generalizing summary creation bits (to allow for, among other things, flutter SDK summary creation).  API is provisional (note still in `lib/src`).

Next up:
* move result writing out of `tool/` to allow for reuse
* `SummaryBuilder.forPackageMap(..)` factory (or similar) for use in the flutter SDK case

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

Review URL: https://codereview.chromium.org/2055543002 .
2016-06-09 12:06:36 -07:00
Vyacheslav Egorov 9d5e133114 VM: ProcessPendingWeakProperties must call VisitingOldObject(NULL) at the end.
TBR=asiva@google.com

Review URL: https://codereview.chromium.org/2057703002 .
2016-06-09 20:16:01 +02:00
pq 253ef8c391 Update DEPS (and analyzer) to latest package_config.
Once incremental analysis caching is enabled this will win us a 30% boost in analyzer CLI throughput. :)

BUG=
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2048323003 .
2016-06-09 10:09:39 -07:00
Brian Wilkerson 800a54354a Conditionally enable SDK summaries in server
R=pquitslund@google.com, scheglov@google.com

Review URL: https://codereview.chromium.org/2020293004 .
2016-06-09 09:58:59 -07:00
Vyacheslav Egorov 97a8c4caff VM: Fix WeakProperty processing during parallel marking.
Previously if one marker marked the weak property and another marker marked its key then the first marker might stop marking before it sees that the key was marked.

Here is a possible concurrent execution, assuming P is a WeakProperty and K is P.key:

    (Marker A)                        (Marker B)
        |                                  |
[ mark property P     ]                    |
        |                                  |
[ drain marking stack ]                    |
[ no more work to do  ]                    |
        |                       [ mark K               ]
        |                       [ draing marking stack ]
        |                       [ no more work to do   ]
        |                                  |
        |                                  |
       ...                                ...
        |                                  |
    [Finalize]                         [Finalize]
        |
    [Clear P]

In this execution we end up clearing P even though P.key is marked.

To fix this issue without reintroducing central WeakProperty processing
we change the marking phase loop in such a way that markers consider the
marking done only if all of them agree that they have no more weak properties
with marked keys.

Essentially the marking loop now has a separate phase where all markers check
their pending weak properties. The decision to proceed to the next marking phase
(weak handles processing) is done in lock step using barrier - either all threads
advance to the next stage or one of the threads finds a weak property
with marked key and unmarked value and all threads resume marking.

BUG=
R=asiva@google.com

Review URL: https://codereview.chromium.org/2041413005 .
2016-06-09 18:50:23 +02:00
Zachary Anderson 6e90ca4e0a DBC: Eager deoptimization and CheckSmi instruction.
R=vegorov@google.com

Review URL: https://codereview.chromium.org/2039913006 .
2016-06-09 09:47:56 -07:00
Harry Terkelsen 3bb92ad12d rename operathor to operator now that vm bug is fixed
R=johnniwinther@google.com

Review URL: https://codereview.chromium.org/2052693002 .
2016-06-09 09:29:20 -07:00
William Hesse ee197d01fd Update status for test that passes on ARM.
This reverts commit 09b6d3cdc0, which
distinguished between the android ARM version, which passed, and the
linux ARM version, which didn't.  Both versions are now passing.

BUG=https://github.com/dart-lang/sdk/issues/24416
R=eernst@google.com, fschneider@google.com

Review URL: https://codereview.chromium.org/2050163003 .
2016-06-09 18:18:51 +02:00
Konstantin Shcheglov 979543e3a8 Issue 26629. Detect cache inconsistency in GetContentTask.
When it is detected, invalidate the outputs and throw an exception to
let Driver know that it should to recover.

R=brianwilkerson@google.com, paulberry@google.com
BUG= https://github.com/dart-lang/sdk/issues/26629

Review URL: https://codereview.chromium.org/2050573003 .
2016-06-09 08:31:04 -07:00
Konstantin Shcheglov d7ec8ca711 Make possible to don't track cache dependencies.
If 'trackCacheDependencies' is set to 'false', this makes DDC
compilation of Angular2 project about 10% faster.

Unfortunately I was not able to avoid creating ResultDescriptor(s) and
adding them into WorkItem.inputTargetedResults altogether. It is used
in AnalysisTask._findCyclicPath() to create InfiniteTaskLoopException
with additional information.

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

Review URL: https://codereview.chromium.org/2054453002 .
2016-06-09 08:23:15 -07:00
Brian Wilkerson f183ec3a45 Fix equality between subclasses of Source
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2050083002 .
2016-06-09 07:42:32 -07:00
Michael Thomsen 6b3247c277 Update 1.17 release date to actual ship date
BUG=
R=whesse@google.com

Review URL: https://codereview.chromium.org/2056593003 .
2016-06-09 14:32:40 +02:00
Lasse R.H. Nielsen 419873dcd3 Add tests for resolving missing packages, relative and absolute URIs.
R=floitsch@google.com

Review URL: https://codereview.chromium.org/2051433002 .
2016-06-09 11:35:15 +02:00
Johnni Winther 286b21133b Compute and cache element NativeBehavior during resolution.
NativeBehavior for method calls and field load/store are now computed
during resolution and apply as part of the world impact. This prepares
for (full) serialization/deserialization of native elements.

R=het@google.com

Review URL: https://codereview.chromium.org/2045223002 .
2016-06-09 09:50:51 +02:00
Harry Terkelsen ddac2a8a76 Revert "check that Class and typedef refs are const"
This reverts commit 8a6a6377e7.

BUG=

Review URL: https://codereview.chromium.org/2049343002 .
2016-06-08 16:32:30 -07:00
Harry Terkelsen 8a6a6377e7 check that Class and typedef refs are const
Fixes #26580

R=sra@google.com

Review URL: https://codereview.chromium.org/2049553002 .
2016-06-08 16:02:55 -07:00
Konstantin Shcheglov 32f032a874 Add AnalysisCache.flush() utility method.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2052553003 .
2016-06-08 14:52:23 -07:00
Konstantin Shcheglov f2c17362fd Issue 26639. Set source for mock 'dart:async' library.
R=brianwilkerson@google.com, danrubel@google.com
BUG= https://github.com/dart-lang/sdk/issues/26639

Review URL: https://codereview.chromium.org/2044383003 .
2016-06-08 12:08:41 -07:00
pq 435e38ab77 @required support for super and redirecting cons (#26642).
R=brianwilkerson@google.com

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

Fixes: https://github.com/dart-lang/sdk/issues/26642
2016-06-08 11:19:43 -07:00
John McCutchan 4d5ad08d11 Enable on stack reload in standalone embedder
- [x] Implement Isolate::OnStackReload
- [x] Now that we don't invoke Dart code during loading, stop blocking class finalization during loading

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2049833002 .
2016-06-08 11:00:31 -07:00
Konstantin Shcheglov c57052d2b4 Check versions of summaries and cache.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2048933002 .
2016-06-08 09:10:42 -07:00
Brian Wilkerson 0f9fb5d394 Slightly better debugging output (issue-26636)
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2053443002 .
2016-06-08 09:06:39 -07:00
Brian Wilkerson f772c64cfe Add bounds check in scope lookup (issue 26633)
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2047273004 .
2016-06-08 09:02:12 -07:00