Commit graph

45866 commits

Author SHA1 Message Date
Nate Bosch 5f6c950695 Update to latest pub
BUG=
R=kevmoo@google.com, rnystrom@google.com

Review-Url: https://codereview.chromium.org/2789213002 .
2017-04-03 11:24:00 -07:00
Brian Wilkerson 0ea61b64ab Bug fixes and added support for creating source edits
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2790173003 .
2017-04-03 10:56:41 -07:00
Martin Kustermann d8e291cb89 [kernel] vm: Fix a few issues in the kernel flow graph builder, update status file for checked-mode
R=vegorov@google.com

Review-Url: https://codereview.chromium.org/2792033002 .
2017-04-03 19:47:01 +02:00
Brian Wilkerson dd49e79f74 Add context information to driver and add hooks for plugin management
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2795743002 .
2017-04-03 10:13:45 -07:00
Vyacheslav Egorov 41b5d7c6de VM: Fix incorrect canonicalization rule for UnboxedIntConverterInstr.
The rule assumed that `UnboxedIntConverter(U->V, UnboxedIntConverter(V->U, v))` is
equal to `v` which is incorrect if the first convertion is truncating and
V is a larger representation (Mint) than U (Int32 or Uint32).

Now canonicalization rule takes into account if the first convertion is
truncating and does not try to short-circuit such convertions.

Fixes https://github.com/dart-lang/sdk/issues/29137

R=kustermann@google.com
BUG=http://dartbug.com/29137

Review-Url: https://codereview.chromium.org/2793003002 .
2017-04-03 18:51:04 +02:00
Zachary Anderson 78706025da [vm service] Collect garbage before getting native allocation samples
R=bkonyi@google.com

Review-Url: https://codereview.chromium.org/2795473003 .
2017-04-03 09:12:52 -07:00
Peter von der Ahé 5a81cba61a Specify location of SDK when running analyzer.
R=whesse@google.com

Review-Url: https://codereview.chromium.org/2794003002 .
2017-04-03 17:47:21 +02:00
Jacob Richman 509bcd58e1 Fix type checks and display for JS interop types.
Re-enable formatter test that had been disabled when someone changed type
name display for Foo<dynamic> types.
Fix bug in how type names were displayed for JS interop types.

BUG=
R=vsm@google.com

Review-Url: https://codereview.chromium.org/2789663005 .
2017-04-03 08:34:20 -07:00
Devon Carew 3fd497b510 Ignore some uses of deprecated APIs.
BUG=

Review-Url: https://codereview.chromium.org/2796483002 .
2017-04-03 08:31:00 -07:00
Erik Corry 1f1854aa78 Fix disassembly of OSR functions.
This got broken when I changed the compiler to not install OSR code on the
function, where it had to be immediately uninstalled again.

R=vegorov@google.com
BUG=

Review-Url: https://codereview.chromium.org/2793943002 .
2017-04-03 17:29:36 +02:00
Peter von der Ahé 38f398281d Mark tests as slow.
Review-Url: https://codereview.chromium.org/2791283002 .
2017-04-03 16:54:20 +02:00
Brian Wilkerson e3aa3b8ea9 Fix support for uri in part-of directive
R=jcollins@google.com

Review-Url: https://codereview.chromium.org/2786853003 .
2017-04-03 07:35:46 -07:00
Peter von der Ahé 0e82fb44c2 Run analyzer from sources instead of built SDK.
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2790143002 .
2017-04-03 16:13:51 +02:00
William Hesse 801bf3a829 Update checked-in SDKs to 1.23.0-dev.11.3
BUG=
R=kustermann@google.com

Review-Url: https://codereview.chromium.org/2791233002 .
2017-04-03 15:49:06 +02:00
Peter von der Ahé 5bdc1199ca Fix dart2js warnings and add test to ensure it stays clean.
Filed https://github.com/dart-lang/sdk/issues/29224 to track all the problems that require ignore.

R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2791993002 .
2017-04-03 15:08:40 +02:00
Jens Johansen 1ef5c76a4e Stream StaticGet
BUG=
R=kmillikin@google.com

Review-Url: https://codereview.chromium.org/2794473002 .
2017-04-03 12:28:06 +02:00
Jens Johansen c9750187d8 Stream SymbolLiteral & BigIntLiteral
R=kmillikin@google.com

Review-Url: https://codereview.chromium.org/2786073002 .
2017-04-03 12:23:38 +02:00
Jens Johansen 819ce4241c Stream DoubleLiteral
BUG=
R=kmillikin@google.com

Review-Url: https://codereview.chromium.org/2783183002 .
2017-04-03 12:18:47 +02:00
Jens Johansen fad8f80afd Add kernel_offset to all expressions; Make KernelConstMapKeyEqualsTraits use kernel_offset
BUG=
R=kmillikin@google.com

Review-Url: https://codereview.chromium.org/2781313003 .
2017-04-03 12:10:31 +02:00
Jens Johansen 42c80b5906 Step #2 in streaming the kernel flowgraph
* Stream InvalidExpression
* Stream NullLiteral
* Stream BoolLiteral
* Stream IntLiteral
* Stream ThisExpression
* Stream StringLitereal

R=kmillikin@google.com

Review-Url: https://codereview.chromium.org/2787463003 .
2017-04-03 12:04:08 +02:00
Vyacheslav Egorov 7f147b1b6e Revert "When linking natives lazily (as in AOT compilation), don't resolve them eagerly."
This reverts commit 8df8025f2a.

Reason: darkp configuration is completely broken by this CL. Example:

$ python tools/test.py -mrelease -cdartkp -rdart_precompiled -t120 kernel/unsorted/symbol_literal_test

TBR=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2791983002 .
2017-04-03 12:02:33 +02:00
Jens Johansen 63f1de2068 Initial steps into streaming the kernel flowgraph
- Moved stuff into .h
- Leak kernel binary blob
- "Streaming" rethrow in FlowgraphBuilder

R=kmillikin@google.com

Review-Url: https://codereview.chromium.org/2776373002 .
2017-04-03 11:40:37 +02:00
Johnni Winther 9fd5ae5b81 Use entities in NativeResolutionEnqueuer and make it reusable for kernel
This is step towards computing closed world directly from kernel.

R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2786593004 .
2017-04-03 10:33:21 +02:00
Johnni Winther 23999a0f1e Use entities in NoSuchMethodRegistry
This prepares for a kernel based implementation of NoSuchMethodResolver.

R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2777093010 .
2017-04-03 10:26:53 +02:00
John McCutchan fb84ff3fc4 Revert "Disable awaiter stepping by default until context level computation is fixed"
This reverts commit 61e11c6808.

BUG=

Review-Url: https://codereview.chromium.org/2791953002 .
2017-04-03 00:06:28 -07:00
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