Commit graph

45841 commits

Author SHA1 Message Date
Karl Klose
1ec54ff2df Fix test expectations for io/file_lock_test
TBR=jensj@google.com

Review-Url: https://codereview.chromium.org/2789123002 .
2017-04-03 07:47:58 +02:00
John McCutchan
61e11c6808 Disable awaiter stepping by default until context level computation is fixed
BUG=
R=asiva@google.com, fschneider@google.com

Review-Url: https://codereview.chromium.org/2787023002 .
2017-04-02 21:03:11 -07:00
Siva Annamalai
4654381213 Move kernel related status lines from service.status to service_kernel.status
Review-Url: https://codereview.chromium.org/2789993002 .
2017-03-31 17:57:09 -07:00
Vijay Menon
46d6c56c96 Fix ddc async test code
Fortunately, not too many false passes.

R=jacobr@google.com

Review-Url: https://codereview.chromium.org/2792703002 .
2017-03-31 15:57:08 -07:00
Ryan Macnak
dd6140f61b Remove dart:jni library in FlutterTarget
BUG=
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2793703002 .
2017-03-31 15:55:00 -07:00
Florian Schneider
80b43ff15c Reland "VM: Handle null-comparisons in the flow graph type propagation"
This reverts commit ee452a8600.

Original CL: https://codereview.chromium.org/2772143002/

Additional bug fix: Correctly replace ToCid with ToNullableCid in
RedefinitionInstr::ComputeType.

R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2789943002 .
2017-03-31 15:39:01 -07:00
Mike Fairhurst
761d21d414 Fix #14144 confusing error message misusing a callable object
New tests to make sure that:
* Error message calling a closure wrong is unchanged
* Error message calling a static function wrong is unchanged
* Error message calling a callable object wrong is unchanged
* Error message calling nonexist method is unchanged
* Error message calling nonexist method for a callable object is clearer

The new tests involving calling a closure wrong exposed a bug in the
inliner, it assumed (due to lack of ic data, it seems) that all closures
have the right number of arguments. Left that assertion/behavior, but
put a guard around closures specifically (since static and method calls
don't have that bug, due to I think better ic data).

Welcoming myself to the world of VMs.

BUG=
R=fschneider@google.com

Review-Url: https://codereview.chromium.org/2785623004 .
2017-03-31 15:09:02 -07:00
Vijay Menon
3be5099a8c Don't format on DDC presubmit
The primary presubmit (PRESUBMIT.py) now enforces this on git cl
upload.  It also uses a difference version of the formatter, so
dropping this avoids that annoyance.

R=jacobr@google.com

Review-Url: https://codereview.chromium.org/2791643003 .
2017-03-31 15:06:16 -07:00
Siva Annamalai
74229dfb1f Adjust status file to account for build breakage.
TBR=fschneider

Review-Url: https://codereview.chromium.org/2793683002 .
2017-03-31 14:51:45 -07:00
Ryan Macnak
a2c41bd926 Move the canonical empty context to the VM isolate.
R=fschneider@google.com

Review-Url: https://codereview.chromium.org/2780393005 .
2017-03-31 14:43:01 -07:00
Ryan Macnak
21e9a4fc65 Use -no_compact_unwind when creating dylibs on Mac.
Instructs the linker not to attempt generating _eh_frame from the DWARF info, avoiding warnings like

R=vegorov@google.com

ld: warning: could not create compact unwind for _kDartVmSnapshotInstructions: register saved more than once (might be shrink wrap)
Review-Url: https://codereview.chromium.org/2784253003 .
2017-03-31 13:37:09 -07:00
Vijay Menon
466d4ffb9c Add runtime tests for ignored checks
Tests for https://codereview.chromium.org/2788933002/

R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2789933002 .
2017-03-31 13:31:59 -07:00
Ryan Macnak
d0529c8638 Nicer message when attempting to use Observatory from dart_bootstrap, dart_precompiled_runtime or an unnamed badly configured build.
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2793603002 .
2017-03-31 13:29:52 -07:00
Mike Fairhurst
a5a65d09a4 Tick angular analyzer to v0.0.6
BUG=
R=keertip@google.com

Review-Url: https://codereview.chromium.org/2793663002 .
2017-03-31 13:27:40 -07:00
John McCutchan
904beb3d9d Avoid many temporary allocations when serializing service protocol responses
- [x] Use an on stack buffer for small string allocations.
- [x] Avoid unnecessary calls to strlen.

Related #29207

BUG=
R=rmacnak@google.com, zra@google.com

Review-Url: https://codereview.chromium.org/2791633002 .
2017-03-31 13:20:11 -07:00
John McCutchan
4c4c9f2ce6 Fix test failure and add new awaiterFrames to service_dev.md
BUG=

Review-Url: https://codereview.chromium.org/2788993002 .
2017-03-31 13:18:07 -07:00
John McCutchan
193f26d1e1 Implement support for single stepping out of an async function.
BUG=
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2785243003 .
2017-03-31 10:55:11 -07:00
Brian Wilkerson
8d340ee8c6 Add an experimental annotation
R=matanl@google.com

Review-Url: https://codereview.chromium.org/2789843003 .
2017-03-31 10:54:24 -07:00
Florian Schneider
ee452a8600 Revert "Reland "VM: Handle null-comparisons in the flow graph type propagation""
This reverts commit e7afde47e9.

This was because of analyzer test failures (out of memory in the background compiler)

TBR=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2794583002 .
2017-03-31 10:53:56 -07:00
Emily Fortuna
6b398ef91c Allow dartk to print out binary Kernel IR results to stdout if requested.
BUG=
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2784303003 .
2017-03-31 10:48:09 -07:00
Emily Fortuna
4588dceaf3 Start preparing tests to accept binary compiler input.
BUG=
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2781423003 .
2017-03-31 10:18:15 -07:00
Florian Schneider
e7afde47e9 Reland "VM: Handle null-comparisons in the flow graph type propagation"
This reverts commit 30a942f728.

Plus:

1. Fixes integer type propagation in the optimizer by introducing a _int64 marker interface

2. Fixes calculation of whether an instructions can deoptimize: This has to be stable so that
once determined that an instructions can't deoptimize, it will stay that way and not flip back
later in the optimization

3. Address comments to improve CompileType::CopyNonNullable()

R=vegorov@google.com

Review-Url: https://codereview.chromium.org/2772143002 .
2017-03-31 10:12:59 -07:00
Vijay Menon
08f085727e Fix ignore on FutureOr
I'll look into adding tests - these eventually supposed to *not* get ignored (see #27223)

R=leafp@google.com

Review-Url: https://codereview.chromium.org/2788933002 .
2017-03-31 09:30:16 -07:00
Dmitry Olshansky
82beee09c2 VM [KERNEL] Elide null-initialization of the fields
They are filled with nulls after allocation, so there is
no need to set a field to null explicitly.

R=vegorov@google.com

Review-Url: https://codereview.chromium.org/2790603002 .
2017-03-31 17:49:38 +02:00
Lasse Reichstein Holst Nielsen
d4c1531b5b Use the *correct* type for the fix to analysis_server/test/mocks.dart.
It's a stream, not an iterable, so the return type is a Future.

Review-Url: https://codereview.chromium.org/2784363003 .
2017-03-31 16:36:24 +02:00
Dmitry Stefantsov
42f82d1d21 Add primitive to create closures and use it for closure conversion
A new AST node 'ClosureCreation' is added. It takes a name of a
top-level function, a context, and a closure function type and creates a
closure of the given type. The effect of this closure invocation is the
same as of the invocation of the given top-level function with the
contexts as the first argument.

In order to use 'ClosureCreation', the closure conversion pass now
transforms closures into top-level functions, not closure classes. These
functions receive the context as the first argument.

The type of the expression represented by 'ClosureCreation' is its third
parameter. It its the responsibility of closure conversion pass to
create the correct types for 'ClosureCreation' nodes based on types of
closures transformed into top-level functions.

R=asgerf@google.com

Review-Url: https://codereview.chromium.org/2778223002 .
2017-03-31 14:43:56 +02:00
danrubel
1fbca8be94 cleanup scanner
Review-Url: https://codereview.chromium.org/2784353003 .
2017-03-31 08:41:51 -04:00
Lasse R.H. Nielsen
83298690b0 Fix static typing problem in analysis_server tests.
After changing argument of `Future` constructor to be `()->FutureOr<T>`,
the `()->Future<dynamic>` argument didn't work.
Problem compounded by return type of `Stream<T>.firstWhere` being `dynamic`.

R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2794503002 .
2017-03-31 14:12:32 +02:00
Lasse R.H. Nielsen
91e4917735 Fix test that assumed an async function returned a Future<not-dynamic>.
Review-Url: https://codereview.chromium.org/2788103002 .
2017-03-31 13:04:42 +02:00
Florian Loitsch
46ba54e315 Add @MirrorsUsed annotations to speed up tests.
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2727323002 .
2017-03-31 12:46:31 +02:00
Lasse R.H. Nielsen
d509ddb3fa Use FutureOr more and make Future.sync return the resulting Future directly.
When the computation passed to Future.sync returns a Future of the correct type,
then it's returned directly instead of wrapping it again.
(Until strong mode, we have an extra case for when it returns a Future of an
incorrect type, but that will eventually be removed).

This should improve the performance of Future.sync a bit.

Also adds missing Zone intercept for when the Future.sync computation throws.

Updates documentation for Future.doWhile.

Fixes #29202
BUG= http://dartbug.com/29202
R=floitsch@google.com

Review-Url: https://codereview.chromium.org/2790663003 .
2017-03-31 12:41:07 +02:00
Erik Corry
c5ffe74881 DartVM: Fix rounding error causing linear instead of geometric heap growth
R=kustermann@google.com
BUG=

Review-Url: https://codereview.chromium.org/2790673004 .
2017-03-31 11:21:33 +02:00
Erik Corry
fc2fcf9bc8 Add more safe points in compiler.
The Scavenge (young-gen) GCs on the main thread have to wait for other
threads to check in at a safe point. We were seeing big waits here, often
20ms, occasionally up to 180ms where the main thread is idling, waiting
for the optimizing compiler.  By adding more safe points the wait is
reduced and is now rarely over 10ms, often under 1ms.

This also changes the --verbose-gc output to be better aligned with the
column headings, and to add the time needed to get to
the safe point to the output, eg:

[ GC(784211551): Scavenge(new space), 18, 2.209, 76.009, 32768, 0, 32768, 32768, 0, 0, 144912, 154425, 152064, 154880, 0, 0, 46.984, 2.752, 7.407, 18.657, 0.033, 5421, 0, 0, 0, ]
                                                 ^^^^^^ Scavenge time                                                        ^^^^^^  safe point time.

R=vegorov@google.com
BUG=

Review-Url: https://codereview.chromium.org/2771013002 .
2017-03-31 11:19:46 +02:00
Karl Klose
2d7403abe1 [Gardening] Mark io/file_lock_test as Slow on dartk-debug
R=jensj@google.com

Review-Url: https://codereview.chromium.org/2787313002 .
2017-03-31 09:23:26 +02:00
Karl Klose
4b7e73fe00 [Gardening] Mark service/async_generator_breakpoint_test as slow on dartk
R=jensj@google.com

Review-Url: https://codereview.chromium.org/2786343002 .
2017-03-31 08:52:09 +02:00
Florian Schneider
4525b2451c VM: Re-enable regexp/global_test
The corresponding performance issue has been fixed.

Fixes #21708.

R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2781283003 .
2017-03-30 16:02:58 -07:00
Zachary Anderson
8d81d91201 Update status file for locale_name_test failure on Android
related #29211

R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2787173002 .
2017-03-30 15:00:21 -07:00
Jacob Richman
a7465d942f Update test expectations to reflect errors that are now warning.
BUG=

Review-Url: https://codereview.chromium.org/2785183003 .
2017-03-30 14:54:35 -07:00
Leaf Petersen
d9e7a36616 Strong mode changelog updates for 1.23.0
Update changelog for down cast composite changes, and new mixin
restriction.  Also move Strong Mode section underneath Language.

BUG=
R=kevmoo@google.com

Review-Url: https://codereview.chromium.org/2788703002 .
2017-03-30 14:22:23 -07:00
Zach Anderson
bc923bed16 [dart:io] Reland: Adds Platform.localeName
The Mac OS build broke because a typedef wasn't added until 10.12.

related #29126

Review-Url: https://codereview.chromium.org/2786183003 .
2017-03-30 13:51:46 -07:00
Zachary Anderson
e75df3cce3 Revert "[dart:io] Adds Platform.localeName"
This reverts commit ae6d854ec6.

The build failed on the mac build bots. Need to investigate.

Review-Url: https://codereview.chromium.org/2791453002 .
2017-03-30 13:35:02 -07:00
Zachary Anderson
ae6d854ec6 [dart:io] Adds Platform.localeName
related #29126

R=fschneider@google.com

Review-Url: https://codereview.chromium.org/2785073002 .
2017-03-30 13:31:11 -07:00
Brian Wilkerson
4d4441a868 Update status files to fix the bots (TBR)
Review-Url: https://codereview.chromium.org/2787913002 .
2017-03-30 13:19:42 -07:00
Brian Wilkerson
ad54733d46 Convert top-level inference errors to hints
Review-Url: https://codereview.chromium.org/2786993002 .
2017-03-30 12:45:55 -07:00
Ryan Macnak
8e99919c92 Fix inconsistent removal of imports during tree-shaking.
R=fschneider@google.com

Review-Url: https://codereview.chromium.org/2783703005 .
2017-03-30 12:32:55 -07:00
Florian Schneider
22d5833ae4 Fix analyzer warnings in a test.
Review-Url: https://codereview.chromium.org/2787063003 .
2017-03-30 12:13:34 -07:00
Dan Rubel
c22c6bad6c flag to enable fasta scanner in analyzer
R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2784363002 .
2017-03-30 14:16:12 -04:00
Steve Messick
543d0dc20e Update coverage testing
R=devoncarew@google.com

Review-Url: https://codereview.chromium.org/2780393004 .
2017-03-30 11:15:55 -07:00
Florian Schneider
5a3f9d9398 Fix a couple of bugs with async stack traces
Related to #29145.

Fixes #29199.

1. Missing source positions in async and async* functions (synthetic code)

2. Added unit tests for issues #28980 and added asyns stack trace testing flags to existing test.

3. Handle uninitialized Completer object when collecting async stack traces.

Still missing is the correct calculation of context levels in ActivationFrame::ContextLevel. This is planned for a separate CL.

R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2786503003 .
2017-03-30 11:02:33 -07:00
Steve Messick
4a2cca3a52 Add getStatementCompletion to the API spec
R=brianwilkerson@google.com, scheglov@google.com

Review-Url: https://codereview.chromium.org/2784673003 .
2017-03-30 10:13:21 -07:00