Commit Graph

1605 Commits

Author SHA1 Message Date
Carlo Bernaschina 3ebcc9fdd5 Added custom tags helper classes to the Observatory
R=johnmccutchan@google.com, rmacnak@google.com

Review URL: https://codereview.chromium.org/2154343002 .
2016-07-18 11:08:32 -07:00
John McCutchan b6e17330ed Fix DevFS on Android devices
- [x] Allow a system temporary directory to be set on Android.
- [x] This is set on Flutter's engine startup path which fixes DevFS on Android devices.

Related to https://github.com/dart-lang/sdk/issues/4413

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2156243002 .
2016-07-18 10:45:53 -07:00
John McCutchan 1ff0f72158 Fix DevFS writes with subdirectories
- [x] Add a test case for multiple level directory DevFS write

BUG=
R=asiva@google.com

Review URL: https://codereview.chromium.org/2157013002 .
2016-07-18 08:58:40 -07:00
John McCutchan 09944945ab Update service.status for hot_reload
BUG=

Review URL: https://codereview.chromium.org/2142143003 .
2016-07-12 12:41:20 -07:00
Todd Turnidge 3a51fceaba First cut at _spawnUri rpc in the vm service.
BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2072543002 .
2016-07-11 14:25:27 -07:00
John McCutchan af85432e28 Ban cross origin WebSocket connections to the service protocol.
- Explicitly allow connections from localhost/127.0.0.1 and the server's ip address and host name.

- This has the negative effect of breaking our Dartium work flow, so, I've added the "--disable-service-origin-check" flag to the standalone embedder which disables the security check.

R=asiva@google.com

Review URL: https://codereview.chromium.org/2125343002 .
2016-07-07 12:14:54 -07:00
Todd Turnidge f7242f2137 Reimplement devfs in dart. Implementation now writes to disk.
BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2120473004 .
2016-07-01 14:57:32 -07:00
Ryan Macnak eb20b68e87 Add --hot-reload to the test harness.
./tools/build.py -mdebug,release runtime
./tools/test.py -mdebug,release --checked --hot-reload

BUG=http://dartbug.com/26809
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2114083002 .
2016-07-01 11:28:00 -07:00
Carlo Bernaschina 67063e3147 Added js and js_util to observatory deps
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2109293006 .
2016-06-30 14:09:07 -07:00
Carlo Bernaschina ce9f9621cb Revert "Added js and js_util to observatory deps"
This reverts commit bafbe3083d.

BUG=

Review URL: https://codereview.chromium.org/2114683002 .
2016-06-30 08:50:01 -07:00
Carlo Bernaschina bafbe3083d Added js and js_util to observatory deps
SEE= https://codereview.chromium.org/2104113003/
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2105883003 .
2016-06-30 08:39:34 -07:00
Carlo Bernaschina 412c5f7bf5 Added observatory_ui tests to configuration
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2104213002 .
2016-06-29 08:39:44 -07:00
Carlo Bernaschina 0aa1f383d9 Avoid to mask all the NetworkRpcException
If a malformed message is received and the test fails with a
NetworkRpcException the framework ignores it.
This is still a workaround, if the exception is no thrown from inside the test,
but from a non awaited Future, it will still pass the test.
To fix it definetly, it is required to find all the non awaited rpc requests
and await for them.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2093703002 .
2016-06-28 14:03:12 -07:00
Carlo Bernaschina a601b65261 Added HACKING.md to observatory
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2079953002 .
2016-06-27 10:50:49 -07:00
Ryan Macnak 1f1e425033 Fix string_escaping_test exiting early by re-writing to use async-await.
Review URL: https://codereview.chromium.org/2085683003 .
2016-06-21 19:19:39 -07:00
Carlo Bernaschina 10c6ae2861 Removing OutOfMemoryError test
TBR=rmacnak@google.com

Review URL: https://codereview.chromium.org/2084643004 .
2016-06-20 18:12:23 -07:00
Carlo Bernaschina 05f3bc2823 Make OutOfMemory test work on 32 bit machines.
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2080383003 .
2016-06-20 17:26:17 -07:00
Carlo Bernaschina c4cd62032d Removed all analyzer issues from tests
Done by removing dead code, suppressing warning via getters, removed from analysis files with intentional errors and warnings.

Added tests for rpc commands:
 - setName
 - _getObjectStore

Added tests for particular exceptions:
 - OutOfMemory
 - StackOverflow

R=johnmccutchan@google.com, rmacnak@google.com, turnidge@google.com

Review URL: https://codereview.chromium.org/2073893002 .
2016-06-20 16:26:57 -07:00
John McCutchan 51ace86544 Bug fixes for hot reload
- [x] Report the reload error synchronously from the _reloadSources RPC.
- [x] Add sticky reload error to an isolate so we can report the error.
- [x] Remove redundant 'OnStackReload'.
- [x] Fix a bug where a class could have a field added but we wouldn't reject it.
- [x] Add unit test for above bug fix.
- [x] Enable reload via the service protocol with a live stack.

R=fschneider@google.com

Review URL: https://codereview.chromium.org/2070873002 .
2016-06-16 11:02:35 -07:00
Carlo e1d39e28cf Fixed typo in comment
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2064943003 .
2016-06-14 15:25:59 -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
Ryan Macnak 435b371cb7 Make the object store visible in Observatory.
R=turnidge@google.com

Review URL: https://codereview.chromium.org/2012333002 .
2016-06-01 13:00:22 -07:00
Ryan Macnak ef8baa8760 Add test harness option for app snapshots with unoptimized code.
./tools/test.py -m all -c dart2appjit -r dart_app --use-blobs

Rename 'dart_product' runtime to 'dart_app'.

Rename Dart_PrecompiledJITSnapshotBlob to Dart_CreateAppJITSnapshot and add documentation.

Remove out-of-date scripts in tools/precompilation.

R=fschneider@google.com

Review URL: https://codereview.chromium.org/1992703005 .
2016-05-26 10:37:47 -07:00
Ryan Macnak 7bdf01560a Speculatively revert "Make the object store visible in Observatory."
This reverts commit 2eb8408969.

TBR=turnidge@google.com

Review URL: https://codereview.chromium.org/2002253005 .
2016-05-25 17:33:52 -07:00
Ryan Macnak 2eb8408969 Make the object store visible in Observatory.
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2005983002 .
2016-05-25 11:12:32 -07:00
Florian Schneider f220c1fb7c Temporarily update status for two flaky service tests.
BUG=dartbug.com/26470

TBR=turnidge@google.com,

Review URL: https://codereview.chromium.org/2001583002 .
2016-05-20 12:10:10 +02:00
Ryan Macnak 8994228d81 Add missing gyp dependency for timeline_message_handler.js.
Resort list.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1994293002 .
2016-05-19 12:35:29 -07:00
Florian Schneider c414c2b8da Update status for flaky VM service tests.
TBR=johnmccutchan@google.com,

BUG=

Review URL: https://codereview.chromium.org/1995973002 .
2016-05-19 09:38:08 +02:00
John McCutchan 48c8ffa7f3 Initial isolate reload support
This is a cut of the work that Todd and I collaborated on in the reload branch.

In this CL, we've dropped the loader port hacks, in other words, on stack reloading in the standalone embedder does not work yet.

- [x] Support for hot reloading of isolate source code
- [x] Unit test harness and many tests
- [x] Service protocol and Observatory support
- [x] Product build does not include support for hot reloading.

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1965823002 .
2016-05-17 12:19:06 -07:00
Todd Turnidge 5e196ada5d VMMustBePaused -> IsolateMustBePaused
Closes #24537

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1973303003 .
2016-05-16 11:19:22 -07:00
Todd Turnidge 4d473a819f Allow users to see more elements of a list/map in Observatory.
Closes #26004

BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1977873003 .
2016-05-13 15:08:55 -07:00
John McCutchan b895aa5154 Improve CPU Profile View
Service:

- [x] Add "_profilerMode" to VM response. "VM" or "Dart" depending on --profile-vm flag.
- [x] Output a tree where VM tag are treated as executing "exit frame" functions when profiling Dart.
- [x] tick "exit frame" tag functions when profiling Dart.

Observatory:

- [x] don't include option for VM tags when profiling Dart.
- [x] default to no tags when profiling Dart.

- [x] indent the colored bar closer to the down arrow.
- [x] don't show percentages for user tag rows.

- [x] Update cpu profile table view to use virtual tree.
- [x] Update class allocation view to use virtual tree.

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1851293005 .
2016-05-13 10:07:19 -07:00
John McCutchan c566fc30c6 Add Timeline Developer Profiles for faster category switching
- [x] Add a drop down of preset enabled streams.
- [x] Relabel 'Get' button to 'Refresh'.

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1975953002 .
2016-05-12 13:32:42 -07:00
John McCutchan db07faaa8c Improve Observatory Timeline UI
- [x] Remove Stop / Start buttons and replace with fine grained category control.
- [x] Restrict the cpu profile to the time span of the timeline.
- [x] Display recorder name.
- [x] Show a popup when fetching the timeline from the VM.
- [x] Show a popup when fetching the cpu profile(s) from the VM.

Fixes #26401
Fixes #26394

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1972523003 .
2016-05-12 07:16:19 -07:00
John McCutchan 5331af35bc Skip adding line based range data for ranges that don't map to a line.
BUG=
R=turnidge@google.com

Review URL: https://codereview.chromium.org/1960213002 .
2016-05-09 13:40:09 -07:00
Todd Turnidge 956ac4c183 Fix getSourceReport's forceCompile option for unused classes.
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1916243002 .
2016-05-04 11:02:06 -07:00
Zachary Anderson 3d7202bad3 DBC: Adds simdbc64 target, adds arm64 arithmetic overflow logic
There were differences between linux gcc, android gcc,
MacOS clang, and 32 vs. 64-bit w.r.t the __builtin
functions for detecting arithmetic overflow. I couldn't get
them all working at the same time. Instead, I removed them,
and changed to always use the inline assembly. This works
in all the configurations above.

This change also adds a simdbc64 target for building simdbc
for 64-bit, and sets up the android targets. simdbc targets
arm, and simdbc64 targets arm64. You can build them with:

$ ./tools/build.py -m release -a simdbc{64} --os=android runtime

R=iposva@google.com

Review URL: https://codereview.chromium.org/1904153003 .
2016-04-25 12:48:34 -07:00
John McCutchan 45c0eb6d85 Skip analyzer tests for service/get_isolate_after_language_error_test
BUG=

Review URL: https://codereview.chromium.org/1912683002 .
2016-04-21 07:30:01 -07:00
John McCutchan 204031ea61 Add heart beat tests to make sure we see an isolate's sticky error after exit
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1907743002 .
2016-04-21 07:20:53 -07:00
Florian Schneider e905d64058 VM: Remove redundant build target dart_product.
It has been replaced by out/Product<arch>/dart

Building and testing product mode works via the -mproduct flag
with build.py/test.py.

BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1902073003 .
2016-04-20 12:29:21 +02:00
Ryan Macnak 441f7d8524 vm-service: Answer fields from superclass to subclass in declaration order (layout order).
BUG=http://dartbug.com/26160
R=turnidge@google.com

Review URL: https://codereview.chromium.org/1865553003 .
2016-04-18 16:14:18 -07:00
Vyacheslav Egorov ee0f608ce4 Dart Byte Code interpreter.
This version is Clang/GCC only and does not support Windows because it uses computed goto's.

Only unoptimized mode is supported.

Architecture is described in constants_dbc.h and stack_frame_dbc.h.

R=fschneider@google.com, zra@google.com

Review URL: https://codereview.chromium.org/1858283002 .
2016-04-18 23:02:01 +02:00
Stephen Adams fcf5278b6c Observatory: Tweak disassembly comments
BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1885273004 .
2016-04-15 09:56:13 -07:00
Siva Annamalai 84c81d81a9 Fix status file for tests that are taking long.
R=srdjan@google.com

Review URL: https://codereview.chromium.org/1885243002 .
2016-04-13 17:36:57 -07:00
Ivan Posva c434931517 - Remove --coverage_dir flag and old-style coverage service requests.
BUG=

Review URL: https://codereview.chromium.org/1846443002 .
2016-04-07 16:24:49 -07:00
John McCutchan 1c4f63df6c Print the isolate's sticky error if it has one.
- Bump protocol version to 3.4 to match service.md.
- Added note in changelog about 'none' pause event.
- Print the isolate's sticky error if it has one.

Fixes #26203

Review URL: https://codereview.chromium.org/1862903003 .
2016-04-07 15:31:50 -07:00
Ryan Macnak a43f06e571 Mark evaluate_activation_in_method_class_test as failing on the analyzer.
BUG=http://dartbug.com/24478

Review URL: https://codereview.chromium.org/1858313002 .
2016-04-05 09:50:00 -07:00
Ryan Macnak 87e8bc2c96 VM: Evaluate-in-frame should happen in the scope of the method class, not the receiver class.
BUG=http://dartbug.com/26161
R=hausner@google.com

Review URL: https://codereview.chromium.org/1854243002 .
2016-04-04 15:22:57 -07:00
John McCutchan b1eb8859a5 Add call tree filter to Observatory CPU profile tree
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1846713003 .
2016-04-01 06:41:09 -07:00
John McCutchan 29225365fd Automatically fetch timeline when timeline page is loaded
R=asiva@google.com, rmacnak@google.com

Review URL: https://codereview.chromium.org/1847043003 .
2016-03-31 11:03:14 -07:00