Commit Graph

1605 Commits

Author SHA1 Message Date
Jens Johansen 1467909921 Call _completeOnAsyncReturn instead of .complete directly
The VM debugger expects _completeOnAsyncReturn to be called when
returning from an async function for stepping out of the async function
to work.

This CL does just that.

Note that `_completeOnAsyncReturn` only exists in the VM, but as
the async transformation is only run for the VM target that shouldn't
be a problem.

Change-Id: Id71344310de918f743dcb1ad66e165fc649516ba
Reviewed-on: https://dart-review.googlesource.com/63383
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2018-07-03 06:24:49 +00:00
Sigmund Cherem 5c8fcc1048 Add strong section for observatory_ui.status
We are about to add dart2js coverage in Dart 2.0 for observatory_ui in the bots,
this adds a section to reflect the current state of the observatory_ui tests.

Bug: https://github.com/dart-lang/sdk/issues/32503
Change-Id: I5fa01a4b9e09dac371722bbff977c69385f09adb
Reviewed-on: https://dart-review.googlesource.com/63447
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-07-02 20:44:05 +00:00
Alexander Aprelev e5f3d682b4 [gardening] Add multiplier for arm64 buildbot.
Revert "[gardening] Update arm64 status files."

This reverts commit ff0a1d6b67 as
updating multiplier is better solution than updating status files.

Bug: http://dartbug.com/33659
Change-Id: I064964e1fafe9c77fb24d5e9c324927b75cbacb0
Reviewed-on: https://dart-review.googlesource.com/63340
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2018-07-02 18:39:33 +00:00
Alexander Aprelev ff0a1d6b67 [gardening] Update arm64 status files.
Bug: http://dartbug.com/33659
Change-Id: Ib3bb01fa127c5a95a27709dbfcf24bec43930619
Reviewed-on: https://dart-review.googlesource.com/63304
Reviewed-by: Aart Bik <ajcbik@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2018-06-29 22:44:49 +00:00
Alexander Markov 4552beb514 Revert "[vm/kernel-service] Report an error if isolate compilation options change."
This reverts commit e0845f9359.

Reason for revert: large number of test failures on vm-kernel-reload-* bots.

Original change's description:
> [vm/kernel-service] Report an error if isolate compilation options change.
> 
> This is follow-up to https://dart.googlesource.com/sdk/+/f67cba10676e6464ed137656d04373392e6d5c03.
> 
> Change-Id: I81832ad7fb948cf31c39530f8bb193ef7f45f58d
> Reviewed-on: https://dart-review.googlesource.com/62280
> Reviewed-by: Siva Annamalai <asiva@google.com>
> Commit-Queue: Alexander Aprelev <aam@google.com>

TBR=aam@google.com,rmacnak@google.com,asiva@google.com

Change-Id: Id7f1d26d11261cda46d5f552a468c2e3c3f50ec5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/62860
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-06-28 15:56:45 +00:00
Kevin Millikin 29924c4000 In observatory use ArgumentError instead of FallThroughError
Throwing a programmer-constructed FallThroughError is not useful.  It
prints something like:

    'null': Switch case fall-through at line null.

And if you can track that down, it's confusing because it's being used
to signal things that don't have anything to do with falling through
from one switch case to the next one.  Usually, there turns out to be
no matching case in the first place so there's no possible way that
anything fell through to the next case.

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

Change-Id: I68d8aaf22c95163f87a159928f924c25c19f094e
Reviewed-on: https://dart-review.googlesource.com/62522
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
2018-06-28 11:28:33 +00:00
Alexander Aprelev e0845f9359 [vm/kernel-service] Report an error if isolate compilation options change.
This is follow-up to https://dart.googlesource.com/sdk/+/f67cba10676e6464ed137656d04373392e6d5c03.

Change-Id: I81832ad7fb948cf31c39530f8bb193ef7f45f58d
Reviewed-on: https://dart-review.googlesource.com/62280
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2018-06-27 23:31:07 +00:00
Jens Johansen 9a8b5f3bc2 Update app_jitk service status
New test was added in d2d47acdce.
It fails - as many others - in `compiler == app_jitk` mode.

Change-Id: Id2ab4aec2e7f631a206490d46fefc614b4d666f5
Reviewed-on: https://dart-review.googlesource.com/62148
Reviewed-by: Jens Johansen <jensj@google.com>
2018-06-26 10:12:23 +00:00
Jens Johansen d2d47acdce [kernel] Include urls even when we have no source
Previously, if we didn't include the source code, we wrote the url as
null. This for instance made it impossible to step through mixed in code
(at least when mixed in from the sdk).

This CL includes all used urls. If there's no source, the source is empty,
but the VM then tries to find the proper source to be able to display it
(e.g. the VM already has the sdk source).

This CL further more adds a service test that tests that we can actually
step into mixin in code from the sdk.

Change-Id: Ied9569723e23928769ebc980410aed60be6eaa22
Reviewed-on: https://dart-review.googlesource.com/51621
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-06-26 09:23:16 +00:00
Ryan Macnak 65a3c4443b [observatory] Update packages and remove dead dependencies.
Change-Id: I6dbf547e30a6be9a303d7fc08c9f4c024164334e
Reviewed-on: https://dart-review.googlesource.com/62200
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-06-25 22:09:54 +00:00
Vyacheslav Egorov 20ca5bbb05 [vm/jit] Introduce dynamic invocation forwarders that perform type checking
This forwarders are used at dynamic call-sites and perform type checking
for all non-generic-covariant arguments. This allows to skip the same
type checks in the actual method body.

This yield on average 10% improvement in performance across the body of
benchmarks including dart2js compilation times.

Bug: https://github.com/dart-lang/sdk/issues/33257
Change-Id: If3fc94a2e0a6f496ec0633f0b379d053a54a40ca
Reviewed-on: https://dart-review.googlesource.com/61244
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2018-06-25 07:27:04 +00:00
Jens Johansen e2ce88dfcc Add startFileOffset on procedures et al, enable VMs GetSource
Prior to this change we only had fileOffset which points to the name.
This CL adds a field - startFileOffset - that points to the start
(e.g. 'static', 'factory', the return type or any presiding annotation
(including '@')), as well as fixing `Function::GetSource` in the VM to
fix a crash when using mirrors to ask for the source of a function or
constructor.

The field is added to procedures, constructors and classes.
The latter changes the location of classes with annotations to be
the position of the annotation. This is on-par with --no-preview-dart-2.
The change in regards to procedures and constructors mean, that both
the location and the source (from .location and .source on a
MethodMirror) will change to include any annotations. This is a
different behavior than --no-preview-dart-2.

Closes #33271.

Change-Id: I90f1232c5ec2d01e60e0bab070d44c37232b2730
Reviewed-on: https://dart-review.googlesource.com/60560
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2018-06-21 13:10:04 +00:00
asiva 6fcc95d2a4 Adjust status files.
Change-Id: Ia94c7477b73ae1f5fa90ffa072436355fcbacf0e
Reviewed-on: https://dart-review.googlesource.com/60830
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-06-19 03:38:20 +00:00
Alexander Aprelev ea837c91a0 Transition tests to EvaluateCompiledExpression.
This is follow-up to https://dart-review.googlesource.com/c/sdk/+/58660.

Change-Id: Ic0ae58eb34dabe6e0902f37c8e817f949ed4ac64
Reviewed-on: https://dart-review.googlesource.com/60705
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-06-19 02:41:00 +00:00
asiva a69d922794 Adjust some of the test expectations based on the flip to Dart 2 mode.
Change-Id: I84491b161959050b3fab2493f125ab23c8078ec4
Reviewed-on: https://dart-review.googlesource.com/60823
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-06-19 00:04:57 +00:00
asiva bc7220a4fd [VM] Turn dart2 on by default on the command line VM
- make Dart2 the default option for the command line VM
- add option --no-preview-dart-2 as a fallback option to run dart1
- change test scripts to use the executable dart for testing dart2 mode instead of
pkg/vm/tool/dart2
- adjust numerous build and test configurations

Change-Id: Id813fa5b71a89c7ec9335d3f6e83cfc9f35f86e7
Reviewed-on: https://dart-review.googlesource.com/58240
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2018-06-18 22:31:32 +00:00
Alexander Aprelev 4c9689c1d2 [vm] Support pluggable expression compiler for evaluate service api call.
This is follow-up to https://dart-review.googlesource.com/c/sdk/+/57520, which added expression compiler support for EvaluateInFrame

Bug: dartbug.com/31981
Change-Id: I19e6b654698d5b032a276c9cb3634324f4f1ad37
Reviewed-on: https://dart-review.googlesource.com/58660
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-06-18 15:50:02 +00:00
Alexander Thomas 3df126c497 [gardening] Update status for vm-kernel-linux-debug
Change-Id: I61d83c261db166258de341f731cb48f8fd9994fc
Reviewed-on: https://dart-review.googlesource.com/60542
Reviewed-by: William Hesse <whesse@google.com>
2018-06-18 07:22:43 +00:00
Lasse R.H. Nielsen 0b91676362 Remove the retype method.
See #33075.

Bug: http://dartbug.com/33075
Change-Id: I1ee2f587afbc672dd08ac61ac003bbdc85bb95e2
Reviewed-on: https://dart-review.googlesource.com/59091
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2018-06-12 14:36:09 +00:00
Alexander Markov 84b3af7b7b [gardening] Skipping more timed-out tests on vm-kernel-win-release-x64
Issue: https://github.com/dart-lang/sdk/issues/32137
Change-Id: I0ac4be2a9e9caaf5e98c0cb2b9de5d49aad00245
Reviewed-on: https://dart-review.googlesource.com/59241
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-06-07 22:41:56 +00:00
Florian Loitsch 9672d69a06 Mark pause_on_unhandled_async_exceptions_test as flaky with optimization_counter_threshold. with optimization_counter_threshold.
Change-Id: Ic9895b8638bf218dab63f42b6d8cc11d37f93dfa
Reviewed-on: https://dart-review.googlesource.com/58782
Reviewed-by: Florian Loitsch <floitsch@google.com>
2018-06-06 17:09:08 +00:00
Florian Loitsch 2b36f923d9 Fix status file.
Change-Id: Ica224de62d1db05715c6fd1ac609759118e2cce0
Reviewed-on: https://dart-review.googlesource.com/58722
Reviewed-by: Florian Loitsch <floitsch@google.com>
2018-06-06 15:11:27 +00:00
Florian Loitsch 398ba13e4a Reapply "Make --sync-async the default for the VM."
Change-Id: I6e4da0da6c3f635d84380b384ae17fbb55587895
Reviewed-on: https://dart-review.googlesource.com/58721
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Florian Loitsch <floitsch@google.com>
2018-06-06 14:32:13 +00:00
Ryan Macnak b375d69800 [observatory] When the VM is forwarding events to the Android or Fuchsia system tracers, link to the document describing how to use them.
Change-Id: I940b2d5b47a54661c5d25e6d52e714b8819d79a6
Reviewed-on: https://dart-review.googlesource.com/58601
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: Chinmay Garde <chinmaygarde@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-06-05 21:55:56 +00:00
Paul Berry b66dd3d456 Stop using generic comment syntax in observatory.
In most cases the correct fix is to simply drop the generic comment
syntax (e.g. replace "List/*<Map>*/" with "List").  We can't use the
more precise type because the runtime type is actually more general
(e.g. when processing an object that came from the JSON parser, all
lists have runtime type List<dynamic>, even if their elements happen
to be uniform).  But we can introduce more precise types when handling
substructures.

Exception: all JSON-derived maps have type Map<String, dynamic> (since
JSON maps always have string keys), so we can use a more precise type
when dealing with JSON maps.
Change-Id: I48c9dbdda97c11530978212146f74db7b43f5197
Reviewed-on: https://dart-review.googlesource.com/58320
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-06-05 18:29:26 +00:00
Paul Berry 60631b0944 Remove unnecessary casts from observatory.
Change-Id: I2ad59645471b41ce0c8530665b9dc2bcd3e56e7d
Reviewed-on: https://dart-review.googlesource.com/58321
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-06-05 15:55:00 +00:00
Alexander Aprelev a5e41681e5 Add support for expression compilation via service.
If there is registered expression compiler, VM debugger uses it to compile expressions. Otherwise, it will fallback to use kernel service compiler.
This is needed to support Flutter use case where compiler is running on developer's host machine, not on the device where VM is running.

Bug: dartbug.com/31981
Change-Id: I8bdfc8ab45a57c306169abe189f1e24e1b0bcf40
Reviewed-on: https://dart-review.googlesource.com/57520
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-06-05 04:16:39 +00:00
Paul Berry 648f62a170 Rename Function to ServiceFunction, since creating a class called Function is deprecated.
Change-Id: Ia052b1663252a8786f94577626e631a66d69dff5
Reviewed-on: https://dart-review.googlesource.com/58280
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-06-04 22:02:29 +00:00
Zach Anderson 9847c06e76 [observatory] Top-level observatory_archive rule copies to root_out_dir
Change-Id: I165d5391f8ae36ec4201d25907c90a526d8b8c6b
Reviewed-on: https://dart-review.googlesource.com/58360
Commit-Queue: Zach Anderson <zra@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-06-04 21:35:39 +00:00
Ryan Macnak 53f7bb175e Revert "Make --sync-async the default for the VM."
This reverts commit 1ddf553eb6.

Reason for revert: Failing service tests

Original change's description:
> Make --sync-async the default for the VM.
> 
> Change-Id: Ic6d7bbc27835ea7b197cccf05724adb99e95dd51
> Reviewed-on: https://dart-review.googlesource.com/57580
> Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
> Reviewed-by: Martin Kustermann <kustermann@google.com>

TBR=vegorov@google.com,kustermann@google.com,floitsch@google.com

Change-Id: I062cb40badf0d1cf1808bee152fdd4074b00179d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/58380
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-06-04 21:04:20 +00:00
Florian Loitsch 1ddf553eb6 Make --sync-async the default for the VM.
Change-Id: Ic6d7bbc27835ea7b197cccf05724adb99e95dd51
Reviewed-on: https://dart-review.googlesource.com/57580
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2018-06-04 18:05:20 +00:00
Paul Berry a518d3c6dc Use int.tryParse rather than deprecated onError parameter of int.parse.
Change-Id: I20943a59e367fa6bd328604063b4a736ec300c0e
Reviewed-on: https://dart-review.googlesource.com/58260
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-06-04 17:49:39 +00:00
Paul Berry 6ba8c711fa Observatory strong mode fix: expand the class hierarchy for debug events.
This CL adds base classes for breakpoint events (which support a
`breakpoint` getter) and async suspension events (which support an
`atAsyncSuspension` getter).  Previously these getters were accessed
through dynamic dispatch.

Change-Id: I9bc450a8988483cd0662b1dfe31b4adaf0936ff9
Reviewed-on: https://dart-review.googlesource.com/57380
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-06-01 22:43:29 +00:00
Paul Berry bef7cd354f Observatory strong mode fix: Use .nodes= instead of .children= to accommodate text nodes.
This is necessary because HtmlElement.children= requires its parameter
type to be a List<Element>, and text nodes are not elements.

Change-Id: I99c91fe060c16f02d737d904f6869b3dad19c196
Reviewed-on: https://dart-review.googlesource.com/57005
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-06-01 20:39:34 +00:00
Paul Berry 72aae537a2 Observatory strong mode fix: clean up port mocking.
Change-Id: If2077620c0243838587d8d689a74f37c54b19c08
Reviewed-on: https://dart-review.googlesource.com/57360
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-06-01 20:34:43 +00:00
Samir Jindel 9a02f5bf4d [vm/kernel] Fix bugs with expression evaluation in debug mode.
Fixes #33170: We had an assert that type variables are not bounded by "dynamic".
This assert was previously valid because the FE replaces "extends dynamic" with
"extends Object". However, it's not necessary in any way, and it's difficult to
access the Object type from outside the FE when synthesizing type parameters for
expression compilation.

Fixes #33171: The synthetic class generated during serialization to hold the
synthetic method may need to extend core library classes if the expression's
scope was within a core library class. In this case, the class finalizer needs
to avoid applying the restrictions on class extension to the synthetic class.

To facilitate this, we now use a single class name for all synthetic classes,
rather than copying the original class name. The name of the synthetic class has
no function at all, since the synthetic method is reparented to the original
class before execution.

Fixes #33239: The arguments descriptor passed to InvokeFunction for expression
functions which capture generic type parameters was using the wrong argument
count.

Fixes #33270: Use LookupClassAllowPrivate instead of LookupClass when resolving
the expression's scope in the VM.

Test Plan:

#33170: python tools/test.py -m debug -c dartk --strong service/evaluate_function_type_parameters_test
#33171: python tools/test.py -m debug -c dartk --strong service/eval_test
#33239: Updated "evaluate_function_type_parameters_test.dart".
#33270: Updated "eval_test.dart".

Change-Id: I376926bddd2224ec2322b43685d6c13831f1a8e7
Reviewed-on: https://dart-review.googlesource.com/56060
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2018-05-31 18:46:07 +00:00
Paul Berry 9e3842d624 Observatory strong mode fix: fix type errors with onDisconnect.
The method ObservatoryApplication._switchVM calls newVM.onDisconnect
and requires the resulting future to be completed with a String.  In
normal operation, this is satisfied and we just need to change a few
static types to enforce it.  But when FakeVM was in use, the future
was completed with `this`.  Since ObservatoryApplication._switchVM is
the only call site that cares what the future is completed with, it
makes sense to just change all the types to Future<String> and modify
FakeVM accordingly.

Change-Id: Id94d27ac6a42f31ab19ccc9ad8dd270ecf4042b4
Reviewed-on: https://dart-review.googlesource.com/57400
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-05-30 20:50:24 +00:00
Paul Berry bfeb80a0c9 Observatory strong mode fixes: fix some int/double mismatches.
Change-Id: I22db86e2ecd579c165536a1178ff9eba6963735a
Reviewed-on: https://dart-review.googlesource.com/57381
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-05-30 18:10:21 +00:00
Paul Berry 7fc88c494b Observatory strong mode fix: add required calls to .toList().
Change-Id: Ie3e3d4c52c64d9fe1c4ab000315b3a959f6f336a
Reviewed-on: https://dart-review.googlesource.com/57382
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-05-30 18:08:43 +00:00
Paul Berry a40993a6af Observatory strong mode fix: Fix incorrect types in DebuggerStackElement.
Change-Id: Ib882fa965b3ce9af377e89cc3666cbde04d2d657
Reviewed-on: https://dart-review.googlesource.com/57004
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-05-29 21:42:06 +00:00
Paul Berry 0fdfc9aa3b Observatory strong mode fix: Add a needed implements clause.
Add a clause indicating that FunctionCallTreeNode (in
lib/src/sample_profile/sample_profile.dart) implements
M.FunctionCallTreeNode.  This allows the two types for `root`
inherited by FunctionCallTree to be consistent with each other: the
type inherited from CallTree<FunctionCallTreeNode> is
FunctionCallTreeNode whereas the type inherited from
M.FunctionCallTree is M.FunctionCallTreeNode.

Change-Id: I0b48c57f84681a7d40afadfb59c72501cfe38577
Reviewed-on: https://dart-review.googlesource.com/57002
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-05-29 21:12:29 +00:00
Paul Berry 209029ab8e Observatory strong mode fix: Pass through a type parameter in the implements clause for GuardedMock.
Change-Id: Ia28bcff6594b82bf8a45ddf79510d3bd73903d1e
Reviewed-on: https://dart-review.googlesource.com/57003
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-05-29 21:12:06 +00:00
Zach Anderson 736ddd9b0e [Observatory] Refactor observatory build to prepare for Fuchsia prebuilt
This splits create_archive.py into two steps. One that creates the .tar
and one that creates the .cc for the .tar. This way on Fuchsia, the
second step will take the prebuilt instead of building it.

Change-Id: I7f407f9e70db3135884eeeb61aa5aec3091f1fcc
Reviewed-on: https://dart-review.googlesource.com/56291
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-05-29 16:35:34 +00:00
Alexander Thomas 2a3d1dc9ed [vm] Prepare status for app_jitk builders (#33126)
Change-Id: Iec5347b5f091b9fd6ff3c24047b011527f8b08ee
Reviewed-on: https://dart-review.googlesource.com/56802
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2018-05-29 11:43:25 +00:00
Paul Berry c09e0121f7 Observatory strong mode fixes: add explicit downcasts to button onClick callbacks.
Since the downcast is explicit (using "as") the type will be checked
even in unchecked mode, so technically there is a slight risk of
breakage.  But since the callback is so near the creation of the
ButtonElement, I'm not concerned.  Also, I'm not concerned about the
performance penalty of the explicit downcast because the cost is only
paid once per user click.

Change-Id: I64fbb442985f6ba6f745f665b36a3321498025e4
Reviewed-on: https://dart-review.googlesource.com/56704
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-05-25 19:38:13 +00:00
Paul Berry a5bf688622 Observatory strong mode fix: Avoid a String/Uri type mismatch.
Change-Id: Ie4871b7467bd00e594f7df397909690461fe358a
Reviewed-on: https://dart-review.googlesource.com/56702
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-05-25 19:30:18 +00:00
Paul Berry 1b0c2f4507 Observatory strong mode fix: Add VM.target getter.
This allows code to access a VM object's target without having to
downcast it to a more specific type.

Change-Id: I42f329e205c2da0137be2440f0d3088a7137bc55
Reviewed-on: https://dart-review.googlesource.com/56703
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-05-25 19:30:08 +00:00
Paul Berry 210d175cc0 Observatory strong mode fix: Fix a callback parameter type using an explicit downcast.
For brevity we explicitly downcast the parameter type (using "as")
rather than implicitly downcasting it (by assigning to a fresh
variable).  Since this is test code, I'm not concerned about the
performance penalty of the explicit downcast.

Change-Id: I2bf1556ec11db124978c6631df8fcdd5adbc298d
Reviewed-on: https://dart-review.googlesource.com/56701
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-05-25 19:22:13 +00:00
Paul Berry 08d0dcb4b0 Observatory strong mode fixes: specify some list literal types.
In some cases we need to specify a type because the inferred type
would be too specific.  For example, in the code:

    final content = [new SampleBufferControlElement(...)];
    ...
    content.addAll([new BRElement(), ...]);

Strong mode would infer a type of `List<SampleBufferControlElement>`
for `content`, making it impossible to add other kinds of HTML
elements to the list later.  So we have to specify explicitly that the
list element type is meant to be `HTMLElement`.

In other cases we need to specify a type because the inferred type is
too general.  For example, in the code:

    Future<List<String>> complete(...) {
      var result = [];
      ...add values of type String to `result`...
      return new Future.value(result);
    }

Strong mode would infer a type of `List<dynamic>` for `result`, making
it impossible to enclose in a `Future<List<String>>`.  So we have to
specify explicitly that the list element type is meant to be `String`.

Change-Id: I1b1c884529de2775898dfff800d250cd10629811
Reviewed-on: https://dart-review.googlesource.com/56700
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-05-25 19:22:03 +00:00
Paul Berry 462e350a6a Observatory strong mode fixes: Change types of InstanceMock/Instance members.
The types now correspond in the two classes, so we avoid invalid
override errors.

Change-Id: Iceeb324e6adf7573ae39d7250184f7eb58656498
Reviewed-on: https://dart-review.googlesource.com/56021
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-05-25 19:02:03 +00:00