|
Switch profiler from isolates to threads
- API breakage: Dart_IsolateBlocked, Dart_IsolateUnblocked -> Dart_ThreadDisableProfiling, Dart_ThreadEnableProfiling.
- Remove IsolateProfilerData.
- Move thread at blocking call count from isolate to thread.
- Always interrupt threads unless they are blocked.
- We can no longer count "idle" ticks.
- Only record sample if thread is the current mutator of an isolate.
- Refactor ThreadInterrupterCallback to ensure that Thread* is valid.
Threads are only ever sent signals if ThreadInterruptsEnabled is true. Which is controlled by two functions:
void DisableThreadInterrupts();
void EnableThreadInterrupts();
R=asiva@google.com, iposva@google.com
Committed: https://github.com/dart-lang/sdk/commit/ceb12c4f69ff02ba5ffa9f7dc047399cb69e4930
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+232 lines, -555 lines) |
Patch |
|
M |
runtime/bin/dartutils.h
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
|
M |
runtime/include/dart_api.h
|
View
|
|
1 chunk |
+15 lines, -4 lines |
0 comments
|
Download
|
|
M |
runtime/tests/vm/vm.status
|
View
|
|
1 chunk |
+0 lines, -17 lines |
0 comments
|
Download
|
|
M |
runtime/vm/dart.cc
|
View
|
|
1 chunk |
+0 lines, -3 lines |
0 comments
|
Download
|
|
M |
runtime/vm/dart_api_impl.cc
|
View
|
|
1 chunk |
+8 lines, -12 lines |
0 comments
|
Download
|
|
M |
runtime/vm/debugger.cc
|
View
|
|
2 chunks |
+6 lines, -6 lines |
0 comments
|
Download
|
|
M |
runtime/vm/isolate.h
|
View
|
|
2 chunks |
+0 lines, -18 lines |
0 comments
|
Download
|
|
M |
runtime/vm/isolate.cc
|
View
|
|
3 chunks |
+0 lines, -58 lines |
0 comments
|
Download
|
|
M |
runtime/vm/message_handler.cc
|
View
|
|
1 chunk |
+0 lines, -4 lines |
0 comments
|
Download
|
|
M |
runtime/vm/object.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/profiler.h
|
View
|
|
1 chunk |
+4 lines, -38 lines |
0 comments
|
Download
|
|
M |
runtime/vm/profiler.cc
|
View
|
|
14 chunks |
+40 lines, -176 lines |
0 comments
|
Download
|
|
M |
runtime/vm/profiler_service.cc
|
View
|
|
4 chunks |
+15 lines, -32 lines |
0 comments
|
Download
|
|
M |
runtime/vm/profiler_test.cc
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
runtime/vm/stub_code.h
|
View
|
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/stub_code.cc
|
View
|
|
2 chunks |
+10 lines, -0 lines |
0 comments
|
Download
|
|
M |
runtime/vm/thread.h
|
View
|
|
6 chunks |
+21 lines, -9 lines |
0 comments
|
Download
|
|
M |
runtime/vm/thread.cc
|
View
|
|
7 chunks |
+52 lines, -26 lines |
0 comments
|
Download
|
|
M |
runtime/vm/thread_interrupter.h
|
View
|
|
3 chunks |
+1 line, -9 lines |
0 comments
|
Download
|
|
M |
runtime/vm/thread_interrupter.cc
|
View
|
|
4 chunks |
+36 lines, -39 lines |
0 comments
|
Download
|
|
M |
runtime/vm/thread_interrupter_android.cc
|
View
|
|
3 chunks |
+4 lines, -8 lines |
0 comments
|
Download
|
|
M |
runtime/vm/thread_interrupter_linux.cc
|
View
|
|
3 chunks |
+5 lines, -8 lines |
0 comments
|
Download
|
|
M |
runtime/vm/thread_interrupter_macos.cc
|
View
|
|
3 chunks |
+5 lines, -8 lines |
0 comments
|
Download
|
|
D |
runtime/vm/thread_interrupter_test.cc
|
View
|
|
1 chunk |
+0 lines, -66 lines |
0 comments
|
Download
|
|
M |
runtime/vm/thread_interrupter_win.cc
|
View
|
|
3 chunks |
+2 lines, -6 lines |
0 comments
|
Download
|
|
M |
runtime/vm/thread_test.cc
|
View
|
|
1 chunk |
+1 line, -3 lines |
0 comments
|
Download
|
|
M |
runtime/vm/vm_sources.gypi
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
Total messages: 3 (1 generated)
|