Commit Graph

17 Commits

Author SHA1 Message Date
Ryan Macnak a0f517834e [observatory] Progress toward static mode compatibility.
Bug: https://github.com/dart-lang/sdk/issues/32503
Change-Id: Ic4390dce8874aab4aaa87fa4153aef668f28738e
Reviewed-on: https://dart-review.googlesource.com/64982
Reviewed-by: Zach Anderson <zra@google.com>
2018-07-16 17:16:33 +00:00
Paul Berry d17859ca11 Observatory strong mode fixes: make callback parameter types more general.
This CL addresses a code pattern where a method expects its parameter
to have a certain type, but that method is torn off and passed as a
callback to another method expecting its parameter type to be more
general.  For example:

    void f(int i) { ... }
    void g(void callback(Object o)) { ... }
    void h() {
      g(f); // Error: () -> int is not a subtype of () -> Object
    }

This is a strong mode error because the type system cannot guarantee
that the value pased to f will be an int.  The solution is to broaden
the type of the callback parameter so that it matches the type
expected for the callback.  In most cases, we insert an implicit
downcast (by reassigning the parameter to a local variable with the
expected type), which in Dart 2.0 semantics will result in a runtime
check (similar to what happens in Dart 1.0 checked mode).

Since the downcasts are implicit, the Dart 1.0 semantics are
unchanged, so this should be a safe change.

Change-Id: I9583ea194343b89b39305c9796cfad299a47943f
Reviewed-on: https://dart-review.googlesource.com/55907
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-05-24 23:07:55 +00:00
Lasse R.H. Nielsen 973a1a0219 Remove uses of upper-case constants in remaining SDK code.
This includes Fasta, tools and observatory, so the checked-in SDK must
have the lower-case constants.

Change-Id: I8380ad041ad058f7d02ae19caccfecd434d13d75
Reviewed-on: https://dart-review.googlesource.com/50201
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2018-04-16 16:11:57 +00:00
Ryan Macnak 9f4ffb64ef Partial static mode changes for vm-service and tests (part 2).
Bug: https://github.com/dart-lang/sdk/issues/31587
Change-Id: Ie2605f5043b9f5d2f9156928e3cd39f74e726853
Reviewed-on: https://dart-review.googlesource.com/30681
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2017-12-20 00:45:28 +00:00
Lasse R.H. Nielsen 84c8f27e51 Revert constant-name changes to observatory code.
Change-Id: I7622658c61d1f3c7ebd2d3fbed7c57ef252d97bb
Reviewed-on: https://dart-review.googlesource.com/21620
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
2017-11-17 12:49:53 +00:00
Lasse R.H. Nielsen 0b58c4bd10 Change some constant declarations to lowerCase.
Retain the old values.

Reapply of https://dart-review.googlesource.com/c/sdk/+/20680 with fixes
for VM method fingerprints.

Change-Id: Ie14e7ccc3194d5561983348e6b6752728913ff4d
Reviewed-on: https://dart-review.googlesource.com/20664
Reviewed-by: Erik Ernst <eernst@google.com>
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
2017-11-14 12:59:14 +00:00
Lasse R.H. Nielsen e61fc07b58 Revert "Change some constant declarations to lowerCase."
This reverts commit c048cfb178.

Reason for revert: VM code fingerprints needs update.

Original change's description:
> Change some constant declarations to lowerCase.
> 
> Retain the old values.
> 
> Change-Id: I03bd326f379fe5f96d8f6081a7133de956d745c0
> Reviewed-on: https://dart-review.googlesource.com/11520
> Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
> Reviewed-by: Florian Loitsch <floitsch@google.com>

TBR=lrn@google.com,floitsch@google.com

Change-Id: I095e8198304ca4e59b39d30b0fdf0af4945e5231
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/20680
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
2017-11-14 11:23:08 +00:00
Lasse R.H. Nielsen c048cfb178 Change some constant declarations to lowerCase.
Retain the old values.

Change-Id: I03bd326f379fe5f96d8f6081a7133de956d745c0
Reviewed-on: https://dart-review.googlesource.com/11520
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Florian Loitsch <floitsch@google.com>
2017-11-14 11:13:04 +00:00
Carlo Bernaschina c6a71098b6 Add memory-dashboard page to Observatory
A new hidden page in observatory that will be used from external IDEs.
This initial version focuses on the evolution of the memory usage in time
and per isolate allocation profile.

Related https://github.com/dart-lang/sdk/issues/30023
Related https://codereview.chromium.org/2990913002/

R=asiva@google.com

Review-Url: https://codereview.chromium.org/2989083002 .
2017-08-03 15:52:23 -07:00
John McCutchan 7fca076fbb Use dartfmt on Observatory code
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2345023003 .
2016-09-16 06:59:51 -07:00
Carlo Bernaschina bf7d220741 Converted Observatory instance-view element
R=turnidge@google.com

Review URL: https://codereview.chromium.org/2291233002 .
2016-08-30 14:53:24 -07:00
Carlo Bernaschina b0582b3bb7 Converted Observatory heap-profile element
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2255613002 .
2016-08-17 15:51:38 -07:00
Carlo Bernaschina 9ce171ac33 Converted Observatory cpu-profile element
Fixes https://github.com/dart-lang/sdk/issues/26043

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

Review URL: https://codereview.chromium.org/2204563003 .
2016-08-09 14:34:00 -07:00
John McCutchan d3154f4247 Logging page
- Per isolate logging page.
- Drop down to control log level threshold.
- Console area where messages are displayed.
- UI test.

R=rmacnak@google.com

Review URL: https://codereview.chromium.org//1250853006 .
2015-07-22 14:33:13 -07:00
johnmccutchan@google.com 8c10ef0558 Show tooltip with local variable value in Observatory debugger
- Add LocalVariableAnnotation to script-inset
- Tweak shortName for a closure
- Teach Script how to find local variable locations (not perfect yet)
- Send tokenPos and endTokenPos for debugger local variables

Performance improvements:
- Reduced script-inset update/computeAnnotations calls from 5 to 1 for each stack frame that is opened

R=rmacnak@google.com

Review URL: https://codereview.chromium.org//1126363005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45725 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-12 02:41:43 +00:00
johnmccutchan@google.com 78ad7f347b Improved profiler view and inclusive profile tree
TableTree improvements:
- Row's have flex-box divs in each table cell.
- To represent depth in tree a colored vertical bar for each depth level is shown
- Expanding tree nodes is now asynchronous and animates.
- Change cursor during tree expansion.

Observatory Profiler improvements:
- Improved appearance.
- Support for inclusive (main first) call trees.
- Replace tooltip hover with info toggle.
- Visual icon attributes for code, functions and call tree nodes.
- Fetching / Load status display.
- Cleaned up Code and Function kinds.

Profiler improvements:
- When not profiling the VM (--profile-vm) only walk the stack when we are in Dart code or have exited Dart code. This removes some native stack walker noise.
- Build inclusive (main first) call trees and send across service.

Notes for analyzer team:

Analyzer command line:

./out/ReleaseIA32/dart --keep-code --trace-profiler --profile-depth=128 --observe out/ReleaseIA32/dart-sdk/bin/snapshots/dartanalyzer.dart.snapshot --dart-sdk=out/ReleaseIA32/dart-sdk pkg/compiler/lib/src/dart2js.dart

Profiler settings:

- Tags: None or VM
- Mode: Function
- Direction: Bottom up

R=asiva@google.com, rmacnak@google.com

Review URL: https://codereview.chromium.org//965593002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44152 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-02 23:01:43 +00:00
johnmccutchan@google.com f2333f63a5 Add Function based profile tree
Profiler improvements:
- Track Functions in profile and build Function based trie
- Associate code objects with functions
- Created cpu_profile.dart library
- Major speed improvements for disassembly view
- Fix truncation of disassembly comments
- Ability to get code object ticks from disassembly view
- Inlining mini-map in disassembly view.
- Remove a bunch of unused data from profile service response
- In some cases a caller PC that is better than the PC marker is inserted into the stack trace
- Inlined functions are expanded
- Ability to clear profile
- New flag '--keep_code' which keeps deoptimized code around for use by the profiler.

General fixes:
- Fix caching in service library
- Remove pubspec.yaml before running pub get

R=asiva@google.com, rmacnak@google.com

Review URL: https://codereview.chromium.org//928833003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44067 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-26 18:48:55 +00:00