Commit Graph

713 Commits

Author SHA1 Message Date
Ryan Macnak df64bb1619 - Annotate instructions that load objects from the ObjectPool or Thread.
- Remove disassembly tooltips.
- Surface whether a function has an intrinsic or is recognized.
- Mark intrinsified or ffi functions in the profile.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1439893002 .
2015-11-12 15:18:31 -08:00
John McCutchan c6a8c44eae Include field reference with implicit getter / setter functions
- When printing implicit getter or setter functions, include the field that the implicit functions were generated for.
- Display field on function view in Observatory.
- Service unit test.

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1440753002 .
2015-11-11 14:13:45 -08:00
John McCutchan 43b0ae00e7 Timeline service protocol support with Observatory UI
Service Protocol:
- _clearVMTimeline (clear timeline)
- _getVMTimeline (fetch timeline)
- _setVMTimelineFlag (control recording)
- _getVMTimelineFlag (...)
- _getVMTimeline service unit test

Observatory:
- timeline page with record on/off, clear timeline, and refresh buttons.
- trace-viewer based timeline view that runs in an iframe driven by a small javascript program

Misc:
- Fix default enable logic bugs
- Add 'Debugger Pause' timeline event
- Threads can have a name and that name will be displayed in Observatory
- Tighten up locking when printing JSON

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1406413006 .
2015-11-10 08:02:22 -08:00
John McCutchan b9399cd964 Allow for FakeVMRpcExceptions when listening for streams
BUG=
R=turnidge@google.com

Review URL: https://codereview.chromium.org/1406343004 .
2015-10-27 07:44:10 -07:00
Ryan Macnak 9de6b3be0a Move selector and arguments descriptor into MegamorphicCache.
Towards making call sites swappable between ICs and MegamorphicCaches.

R=srdjan@google.com

Review URL: https://codereview.chromium.org/1420433004 .
2015-10-20 13:44:21 -07:00
Todd Turnidge f5a07f6a9c Pad line number appropriately when generating script insets.
This avoid jagged indentation when we jump from 9->10, 99->100, etc.

BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1402193003 .
2015-10-14 13:28:33 -07:00
Ryan Macnak 8df96f0f48 -Fix display of megamorphic miss function.
-Fix inbound reference of megamorphic miss function.
-Speculative fix for eval Script.
-Rationalize isolate list as isolate list.
-Fix attempted eval in precompiled isolate.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1403883002 .
2015-10-13 10:26:44 -07:00
Ryan Macnak 8341085f11 Add view for MegamorphicCache. Update view for ObjectPool.
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1392953003 .
2015-10-12 13:57:48 -07:00
John McCutchan 49b627c366 Shrink by 33% the allocation profile pie charts
BUG=
R=turnidge@google.com

Review URL: https://codereview.chromium.org/1401763003 .
2015-10-12 13:08:53 -07:00
John McCutchan fc3baf97e3 Fix class hierarchy display
- Left align 'Class'
- Increase minimum width for expander to be 2em (fixes offset problem)

R=turnidge@google.com

Review URL: https://codereview.chromium.org/1395423002 .
2015-10-12 13:01:02 -07:00
John McCutchan 53ebbc968b Fix bad isolate summary charts
Charted charts persist some DOM children in the element and Polymer sends multiple attached() events, resulting in a stale chart svg element offsetting the current one.

Fix is simple- remove stale elements in detached().

R=turnidge@google.com

Review URL: https://codereview.chromium.org/1401113004 .
2015-10-12 12:53:30 -07:00
John McCutchan 9dd7680fd8 Straw man setExceptionPauseMode
BUG=
R=turnidge@google.com

Review URL: https://codereview.chromium.org/1399743002 .
2015-10-12 11:04:44 -07:00
Todd Turnidge 435bcdbe6c We can now name the current VM using the service protocol.
Adds a 'VM' stream and a 'VMUpdate' event.

Makes Event.isolate optional in service.md.

BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1398823002 .
2015-10-08 15:37:49 -07:00
Todd Turnidge 97c643a5f4 Improve isolate list. Expose isolate origin.
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1395693003 .
2015-10-07 14:35:01 -07:00
Todd Turnidge 228e527793 Reload an isolate once it is runnable.
This makes sure that an isolate has its rootLib properly initialized.

This issue came up while doing tab completion after vm restart.

BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1390343002 .
2015-10-07 13:12:45 -07:00
Todd Turnidge 7415161a1f Trim a line on the right before determining max breakpoint column
BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1387413003 .
2015-10-07 11:04:13 -07:00
Todd Turnidge b3267fe638 Support tab completion of line:col in the debugger.
BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1393523002 .
2015-10-07 09:44:38 -07:00
Todd Turnidge 0d501ad53d VM restart + shutdown fixes
This change add the ability to restart the vm through the service
protocol.  All isolates are killed, and then the main isolate is
restarted cooperatively by the embedder.

This change also fixes the message handler to prevent it from
accidentally ignoring vm shutdown messages.

Previously, we would stop handling messages whenever we hit an error
(such as a compile error or an unhandled exception).  This would leave
shutdown requests sitting the oob queue, neglected.

We now process *all* oob requests, up to the first shutdown request.
When we hit a shutdown request, we clear the oob queue and process no
more messages.

To make all of this work, we had to change the return value of
HandleMessage from bool to a new enum type, allowing the message
handler to distinguish *normal* error cases from the more rarified
shutdown and restart cases.

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

Review URL: https://codereview.chromium.org/1371193005 .
2015-10-06 11:27:26 -07:00
Todd Turnidge 23823cd0fd Add a scroll bar when the console prints looooooooong lines.
Closes #24299

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1383843002 .
2015-10-01 11:10:50 -07:00
John McCutchan fd6135927e Ensure that service protocol specification and implementation use the correct numeric types
Fixes #24245

R=turnidge@google.com

Review URL: https://codereview.chromium.org/1387433002 .
2015-10-01 11:05:13 -07:00
Todd Turnidge 473413753d Some changes to service protocol before we land 1.13.
- Split AddBreakpoint into two rpcs: AddBreakpoint and
  AddBreakpointWithScriptUri.

- Remove Isolate.entry.

Closes #24329

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1379163002 .
2015-10-01 10:46:44 -07:00
Matthias Hausner 4995b84051 Remove obsolete timer list from VM
The functionality is now covered with TimeLine and CompilerStats

BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1375343002 .
2015-09-30 12:47:23 -07:00
John McCutchan 95513b0a1d Switch from Google charts to Charted
R=turnidge@google.com

Review URL: https://codereview.chromium.org//1310153002 .
2015-09-29 12:59:05 -07:00
Todd Turnidge 66f9abc7e3 Refactor isolate interrupts to use OOB messages instead of interrupt bits.
Closes #24349

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1344993002 .
2015-09-23 12:13:25 -07:00
John McCutchan eb3fe78200 Automatically set correct Observatory analytics version
R=turnidge@google.com

Review URL: https://codereview.chromium.org//1352493002 .
2015-09-16 10:47:19 -07:00
John McCutchan fad876aa30 Fix static analysis warnings in Observatory
- Type check SourceLocation and UnresolvedSourceLocation.
- Return null explicitly.
- Remove unused import.

R=turnidge@google.com

Review URL: https://codereview.chromium.org//1340073002 .
2015-09-15 12:57:43 -07:00
Lasse R.H. Nielsen 931e41777e Merge pull request #24236 from a14n/use-const
use const constructors of Utf8* at several places
2015-09-11 12:26:27 +02:00
Todd Turnidge 5dcad9482d Fix analyzer problems in object.dart.
BUG=

Review URL: https://codereview.chromium.org//1320793005 .
2015-09-09 09:56:36 -07:00
Todd Turnidge dee6ddf966 Support column-based breakpoints in the VM and Observatory.
BUG=
R=hausner@google.com, rmacnak@google.com

Review URL: https://codereview.chromium.org//1312763010 .
2015-09-09 09:01:13 -07:00
John Messerly e30f7638e2 observatory: change help text to match break-on-exception option name
R=rmacnak@google.com

Review URL: https://codereview.chromium.org//1317563008 .
2015-09-02 17:05:58 -07:00
Todd Turnidge 535f57a84a Add source annotations for breakpoints.
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org//1305413004 .
2015-08-31 12:10:49 -07:00
Todd Turnidge 7ac3150ee3 Improve display of simd vector types and stack traces in Observatory.
Associated protocol changes.

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org//1316123004 .
2015-08-31 10:35:01 -07:00
Alexandre Ardhuin 0784fc3134 use const constructors of Utf8* 2015-08-29 22:44:28 +02:00
Todd Turnidge de300cfa0e Process service events as microtasks.
This preserves the ordering among rpc responses and events.

Add assertions that events are processed in order.

Add a correct timestamp for Resume events when we are paused at start.

BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1315673007 .
2015-08-27 12:31:06 -07:00
John McCutchan c9a4013553 More logging for pause tests
BUG=

Review URL: https://codereview.chromium.org//1310863004 .
2015-08-26 16:45:36 -07:00
Todd Turnidge 1587f88c2d Change how instance/list/map references are displayed when expanded.
The goal is to not indent as deeply as we were doing before.  Stop
using tables.

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org//1314763005 .
2015-08-26 11:20:08 -07:00
John McCutchan d0882dd363 Remember when an isolate was paused and subtly display it in Obseravatory
- Display paused time as tooltip over "paused" word.
- Send a timestamp with every ServiceEvent.
- Unit tests verifying that paused on start, exit, and breakpoint timestamps are stable.
- Remember the pause time in DebuggerEvent.
- Remember the pause time in MessageHandler.
- Updated service protocol documentation.

R=turnidge@google.com

Review URL: https://codereview.chromium.org//1311503004 .
2015-08-26 10:57:59 -07:00
Todd Turnidge d6060d2ddd Don't allow variables to overwrite the frame edge.
Make the variables demand a bit more room in general.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1307323003 .
2015-08-25 12:52:16 -07:00
Todd Turnidge bc28a64f20 Allow script insets to scroll.
Closes #23959

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1309223002 .
2015-08-24 11:35:01 -07:00
Ryan Macnak 85ef528eaa Fix two typos in Observatory.
BUG=http://dartbug.com/24181
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1311083003 .
2015-08-24 10:02:49 -07:00
Todd Turnidge 7e8bb130f2 Add an IsolateRunnable event to the service protocol. Improve service docs.
Closes #24140

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1293383011 .
2015-08-21 10:25:38 -07:00
Todd Turnidge f5075eda0b Update debugger console height when window is resized.
Closes #23985

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org//1305163002 .
2015-08-21 09:57:25 -07:00
Ryan Macnak b7a8c29d92 Highlight the whole token when marking the current execution. Truncate call site annotations to one token.
Fix display of retained size for a class's top retaining instances for non-Instances.

Fix type of Instance.pattern.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1302533003 .
2015-08-19 13:10:09 -07:00
Ryan Macnak 9162166b54 Functions are objects too!
- Fix allInstances of non-Instances.
 - Fix loading _vmName.
 - Make refs of top-level classes (::) display something instead of empty string.
 - Fix inbound references to display C++ word offsets like retaining path.
 - Make inbound references and retaining path to display '<root>' instead of empty.
 - Make more types display heap object tools.
 - Add missing function kind for signature functions.

BUG=
R=turnidge@google.com

Review URL: https://codereview.chromium.org//1300853006 .
2015-08-19 11:18:21 -07:00
Ryan Macnak 07b6dad1f5 Automagically change the meaning of 'next' to 'async-next' when paused at an async function at await/yield.
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1299083002 .
2015-08-18 15:36:13 -07:00
Ryan Macnak 294c6a47a4 Add ObjectPool tag for external labels. Use LoadExternalLabel for native calls and the predefined symbols table.
R=fschneider@google.com

Review URL: https://codereview.chromium.org//1295693002 .
2015-08-14 10:10:34 -07:00
Ryan Macnak 3851c8c0ed Add Regex isCaseSensitive and isMultiLine to the service protocol and Observatory.
BUG=http://dartbug.com/24039
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//1284063003 .
2015-08-13 15:50:02 -07:00
John McCutchan 71d7d7a4de Fix table cpu profile to work properly with non-dart functions
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org//1283413002 .
2015-08-13 09:46:44 -07:00
John McCutchan 3dd39ef37c Fix cpu profile table
- Add back deleted call to buildFunctionCallerAndCallees
- Pass in caller count and not callee count (copy and paste bug)
- Add to isolate drop down

R=rmacnak@google.com

Review URL: https://codereview.chromium.org//1288853002 .
2015-08-12 17:38:34 -07:00
John McCutchan cacacfa645 Hide empty CPU profile on class page
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org//1290023002 .
2015-08-12 16:39:23 -07:00