Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(402)

Issue 928833003: Add Function based profile tree (Closed)

Created:
5 years, 10 months ago by Cutch
Modified:
5 years, 10 months ago
Reviewers:
rmacnak, siva
CC:
reviews_dartlang.org, turnidge, vm-dev_dartlang.org
Target Ref:
refs/heads/master
Visibility:
Public.

Description

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 Committed: https://code.google.com/p/dart/source/detail?r=44067

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Total comments: 4

Patch Set 5 : #

Patch Set 6 : #

Patch Set 7 : #

Total comments: 4

Patch Set 8 : #

Total comments: 2

Patch Set 9 : #

Total comments: 34

Patch Set 10 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+3175 lines, -1131 lines) Patch
M runtime/observatory/lib/app.dart View 1 1 chunk +3 lines, -2 lines 0 comments Download
A + runtime/observatory/lib/cpu_profile.dart View 1 1 chunk +3 lines, -4 lines 0 comments Download
M runtime/observatory/lib/service.dart View 1 1 chunk +1 line, -0 lines 0 comments Download
M runtime/observatory/lib/src/app/location_manager.dart View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -1 line 0 comments Download
D runtime/observatory/lib/src/app/utils.dart View 1 1 chunk +0 lines, -128 lines 0 comments Download
M runtime/observatory/lib/src/app/view_model.dart View 1 2 3 4 5 6 7 8 9 3 chunks +11 lines, -4 lines 0 comments Download
A runtime/observatory/lib/src/cpu_profile/cpu_profile.dart View 1 2 3 4 5 6 7 8 9 1 chunk +312 lines, -0 lines 0 comments Download
M runtime/observatory/lib/src/elements/class_ref.dart View 1 2 3 4 5 6 7 8 9 1 chunk +14 lines, -1 line 0 comments Download
M runtime/observatory/lib/src/elements/class_ref.html View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M runtime/observatory/lib/src/elements/code_ref.dart View 1 2 3 4 5 6 7 8 9 1 chunk +16 lines, -3 lines 0 comments Download
M runtime/observatory/lib/src/elements/code_ref.html View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -14 lines 0 comments Download
M runtime/observatory/lib/src/elements/code_view.dart View 1 2 3 4 1 chunk +312 lines, -2 lines 0 comments Download
M runtime/observatory/lib/src/elements/code_view.html View 1 2 3 4 5 chunks +64 lines, -94 lines 0 comments Download
M runtime/observatory/lib/src/elements/cpu_profile.dart View 1 2 3 4 5 6 7 8 9 7 chunks +271 lines, -81 lines 0 comments Download
M runtime/observatory/lib/src/elements/cpu_profile.html View 1 2 3 4 5 6 7 8 9 4 chunks +21 lines, -9 lines 0 comments Download
M runtime/observatory/lib/src/elements/curly_block.dart View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -1 line 0 comments Download
M runtime/observatory/lib/src/elements/function_ref.dart View 1 2 3 4 5 6 7 8 9 2 chunks +36 lines, -1 line 0 comments Download
M runtime/observatory/lib/src/elements/function_ref.html View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -9 lines 0 comments Download
M runtime/observatory/lib/src/elements/heap_profile.dart View 1 chunk +2 lines, -2 lines 0 comments Download
M runtime/observatory/lib/src/elements/observatory_element.dart View 1 2 3 4 5 6 7 8 9 3 chunks +33 lines, -2 lines 0 comments Download
M runtime/observatory/lib/src/elements/script_ref.dart View 1 chunk +0 lines, -2 lines 0 comments Download
M runtime/observatory/lib/src/elements/service_view.dart View 1 chunk +0 lines, -4 lines 0 comments Download
M runtime/observatory/lib/src/service/object.dart View 1 2 3 4 5 6 7 8 9 19 chunks +101 lines, -273 lines 0 comments Download
A + runtime/observatory/lib/utils.dart View 1 2 chunks +5 lines, -4 lines 0 comments Download
M runtime/observatory/observatory.gypi View 1 3 chunks +3 lines, -1 line 0 comments Download
M runtime/vm/dart.cc View 1 2 3 4 5 6 7 2 chunks +6 lines, -0 lines 0 comments Download
M runtime/vm/disassembler.cc View 1 2 3 3 chunks +10 lines, -5 lines 0 comments Download
M runtime/vm/flow_graph_compiler_ia32.cc View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph_compiler_x64.cc View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
M runtime/vm/instructions_arm.h View 1 2 3 4 5 6 7 8 9 1 chunk +18 lines, -0 lines 0 comments Download
M runtime/vm/instructions_arm.cc View 1 2 3 4 1 chunk +24 lines, -0 lines 0 comments Download
M runtime/vm/instructions_arm64.h View 1 2 3 4 5 6 7 8 9 1 chunk +18 lines, -0 lines 0 comments Download
M runtime/vm/instructions_arm64.cc View 1 2 3 4 1 chunk +13 lines, -0 lines 0 comments Download
M runtime/vm/instructions_ia32.h View 1 2 3 4 5 1 chunk +11 lines, -0 lines 0 comments Download
M runtime/vm/instructions_ia32.cc View 1 2 3 4 1 chunk +6 lines, -0 lines 0 comments Download
M runtime/vm/instructions_mips.h View 1 2 3 4 5 6 7 8 9 1 chunk +18 lines, -0 lines 0 comments Download
M runtime/vm/instructions_mips.cc View 1 2 3 4 1 chunk +13 lines, -0 lines 0 comments Download
M runtime/vm/instructions_x64.h View 1 2 3 4 5 1 chunk +11 lines, -0 lines 0 comments Download
M runtime/vm/instructions_x64.cc View 1 2 3 4 1 chunk +6 lines, -0 lines 0 comments Download
M runtime/vm/isolate.h View 1 2 3 4 5 6 7 2 chunks +7 lines, -0 lines 0 comments Download
M runtime/vm/isolate.cc View 1 2 3 4 5 6 7 8 9 5 chunks +26 lines, -1 line 0 comments Download
M runtime/vm/object.cc View 1 2 3 4 5 6 7 8 9 3 chunks +46 lines, -3 lines 0 comments Download
M runtime/vm/profiler.h View 1 2 3 4 5 6 7 7 chunks +76 lines, -6 lines 0 comments Download
M runtime/vm/profiler.cc View 1 2 3 4 5 6 7 8 9 5 chunks +362 lines, -21 lines 0 comments Download
M runtime/vm/profiler_service.h View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
M runtime/vm/profiler_service.cc View 1 2 3 4 5 6 7 8 9 28 chunks +1180 lines, -449 lines 0 comments Download
M runtime/vm/scope_timer.h View 1 2 3 4 1 chunk +2 lines, -1 line 0 comments Download
M runtime/vm/service.cc View 1 2 3 4 5 6 7 2 chunks +16 lines, -0 lines 0 comments Download
M runtime/vm/service_test.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/signal_handler.h View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/signal_handler_android.cc View 1 2 3 4 5 6 7 1 chunk +14 lines, -0 lines 0 comments Download
M runtime/vm/signal_handler_linux.cc View 1 2 3 4 5 6 7 1 chunk +26 lines, -0 lines 0 comments Download
M runtime/vm/signal_handler_macos.cc View 1 2 3 4 5 6 7 1 chunk +27 lines, -0 lines 0 comments Download
M runtime/vm/signal_handler_win.cc View 1 2 3 4 5 6 7 1 chunk +6 lines, -0 lines 0 comments Download
M runtime/vm/tags.h View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/thread_interrupter.h View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/thread_interrupter_android.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/thread_interrupter_linux.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/thread_interrupter_macos.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M tools/observatory_tool.py View 1 1 chunk +5 lines, -0 lines 0 comments Download

Messages

Total messages: 13 (1 generated)
Cutch
5 years, 10 months ago (2015-02-18 23:36:03 UTC) #2
rmacnak
Please add an initializer for start_ in ScopeTimer. https://codereview.chromium.org/928833003/diff/60001/runtime/observatory/lib/src/elements/code_view.dart File runtime/observatory/lib/src/elements/code_view.dart (right): https://codereview.chromium.org/928833003/diff/60001/runtime/observatory/lib/src/elements/code_view.dart#newcode54 runtime/observatory/lib/src/elements/code_view.dart:54: new ...
5 years, 10 months ago (2015-02-19 23:49:54 UTC) #3
Cutch
On 2015/02/19 23:49:54, rmacnak wrote: > Please add an initializer for start_ in ScopeTimer. > ...
5 years, 10 months ago (2015-02-20 01:49:50 UTC) #4
Cutch
https://codereview.chromium.org/928833003/diff/60001/runtime/observatory/lib/src/elements/code_view.dart File runtime/observatory/lib/src/elements/code_view.dart (right): https://codereview.chromium.org/928833003/diff/60001/runtime/observatory/lib/src/elements/code_view.dart#newcode54 runtime/observatory/lib/src/elements/code_view.dart:54: new CpuProfile()..load(isolate, response); On 2015/02/19 23:49:53, rmacnak wrote: > ...
5 years, 10 months ago (2015-02-20 01:49:57 UTC) #5
rmacnak
https://chromiumcodereview.appspot.com/928833003/diff/120001/runtime/vm/instructions_arm.h File runtime/vm/instructions_arm.h (right): https://chromiumcodereview.appspot.com/928833003/diff/120001/runtime/vm/instructions_arm.h#newcode104 runtime/vm/instructions_arm.h:104: // lui; ori; jr; nop (in delay slot) = ...
5 years, 10 months ago (2015-02-23 23:44:47 UTC) #6
Cutch
PTAL Patch Set 8. https://codereview.chromium.org/928833003/diff/120001/runtime/vm/instructions_arm.h File runtime/vm/instructions_arm.h (right): https://codereview.chromium.org/928833003/diff/120001/runtime/vm/instructions_arm.h#newcode104 runtime/vm/instructions_arm.h:104: // lui; ori; jr; nop ...
5 years, 10 months ago (2015-02-24 19:26:23 UTC) #7
rmacnak
https://codereview.chromium.org/928833003/diff/140001/runtime/vm/profiler_service.cc File runtime/vm/profiler_service.cc (right): https://codereview.chromium.org/928833003/diff/140001/runtime/vm/profiler_service.cc#newcode49 runtime/vm/profiler_service.cc:49: intptr_t length_before = previous_.Length(); vm/cc/Service_Profile is hitting an assert ...
5 years, 10 months ago (2015-02-24 20:52:43 UTC) #8
Cutch
https://codereview.chromium.org/928833003/diff/140001/runtime/vm/profiler_service.cc File runtime/vm/profiler_service.cc (right): https://codereview.chromium.org/928833003/diff/140001/runtime/vm/profiler_service.cc#newcode49 runtime/vm/profiler_service.cc:49: intptr_t length_before = previous_.Length(); On 2015/02/24 20:52:43, rmacnak wrote: ...
5 years, 10 months ago (2015-02-24 20:54:37 UTC) #9
rmacnak
LGTM
5 years, 10 months ago (2015-02-24 21:00:52 UTC) #10
siva
LGTM with some comments. https://codereview.chromium.org/928833003/diff/160001/runtime/observatory/lib/src/cpu_profile/cpu_profile.dart File runtime/observatory/lib/src/cpu_profile/cpu_profile.dart (right): https://codereview.chromium.org/928833003/diff/160001/runtime/observatory/lib/src/cpu_profile/cpu_profile.dart#newcode64 runtime/observatory/lib/src/cpu_profile/cpu_profile.dart:64: addressTicks[address] = tick; Does the ...
5 years, 10 months ago (2015-02-25 22:58:39 UTC) #11
Cutch
https://codereview.chromium.org/928833003/diff/160001/runtime/observatory/lib/src/cpu_profile/cpu_profile.dart File runtime/observatory/lib/src/cpu_profile/cpu_profile.dart (right): https://codereview.chromium.org/928833003/diff/160001/runtime/observatory/lib/src/cpu_profile/cpu_profile.dart#newcode64 runtime/observatory/lib/src/cpu_profile/cpu_profile.dart:64: addressTicks[address] = tick; On 2015/02/25 22:58:38, siva wrote: > ...
5 years, 10 months ago (2015-02-26 18:44:41 UTC) #12
Cutch
5 years, 10 months ago (2015-02-26 18:50:00 UTC) #13
Message was sent while issue was closed.
Committed patchset #10 (id:180001) manually as 44067.

Powered by Google App Engine
This is Rietveld 408576698