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

Issue 109803002: Profiler Take 2 (Closed)

Created:
7 years ago by Cutch
Modified:
7 years ago
Reviewers:
siva
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Visibility:
Public.

Description

* Introduce ThreadInterrupter which calls a TLS set callback when thread is interrupted. * Threads can only register and unregister themselves with ThreadInterrupter. * Profiler is no longer involved in interrupting threads. It's just a callback and the buffer. * Profiler operates lock free using an atomic operation to reserve sample in sample buffer. * Linux, Mac, and Windows done. R=asiva@google.com Committed: https://code.google.com/p/dart/source/detail?r=31170

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : #

Patch Set 6 : #

Patch Set 7 : #

Patch Set 8 : #

Total comments: 29

Patch Set 9 : #

Patch Set 10 : #

Patch Set 11 : #

Patch Set 12 : #

Patch Set 13 : #

Patch Set 14 : #

Total comments: 2

Patch Set 15 : #

Patch Set 16 : #

Total comments: 22

Patch Set 17 : #

Patch Set 18 : #

Patch Set 19 : #

Patch Set 20 : #

Patch Set 21 : #

Patch Set 22 : #

Patch Set 23 : #

Patch Set 24 : #

Patch Set 25 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2079 lines, -1695 lines) Patch
M runtime/bin/file.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +0 lines, -1 line 0 comments Download
M runtime/bin/file_android.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 21 chunks +42 lines, -32 lines 0 comments Download
M runtime/bin/file_linux.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 21 chunks +40 lines, -32 lines 0 comments Download
M runtime/bin/file_macos.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 18 chunks +29 lines, -23 lines 0 comments Download
M runtime/bin/process.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +2 lines, -2 lines 0 comments Download
A runtime/bin/signal_blocker.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +55 lines, -0 lines 0 comments Download
M runtime/bin/socket.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +0 lines, -1 line 0 comments Download
M runtime/bin/socket_android.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 27 chunks +41 lines, -36 lines 0 comments Download
M runtime/bin/socket_linux.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 27 chunks +41 lines, -36 lines 0 comments Download
M runtime/bin/socket_macos.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 29 chunks +45 lines, -40 lines 0 comments Download
M runtime/bin/utils_android.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +19 lines, -1 line 0 comments Download
M runtime/bin/utils_linux.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +18 lines, -10 lines 0 comments Download
M runtime/bin/utils_macos.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +18 lines, -10 lines 0 comments Download
M runtime/platform/thread.h View 1 2 3 3 chunks +3 lines, -52 lines 0 comments Download
M runtime/platform/thread_android.cc View 1 2 3 4 5 6 7 8 2 chunks +12 lines, -1 line 0 comments Download
M runtime/platform/thread_linux.cc View 1 2 3 4 5 6 7 8 2 chunks +12 lines, -1 line 0 comments Download
M runtime/platform/thread_macos.cc View 1 2 3 4 5 6 7 8 2 chunks +12 lines, -1 line 0 comments Download
M runtime/platform/thread_win.cc View 1 2 3 4 5 6 7 8 2 chunks +13 lines, -1 line 0 comments Download
M runtime/tests/vm/vm.status View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +13 lines, -0 lines 0 comments Download
A + runtime/vm/atomic.h View 1 2 3 4 5 6 7 1 chunk +8 lines, -17 lines 0 comments Download
A + runtime/vm/atomic_android.cc View 1 2 3 4 5 6 7 1 chunk +9 lines, -6 lines 0 comments Download
A + runtime/vm/atomic_linux.cc View 1 2 3 4 5 6 7 1 chunk +10 lines, -6 lines 0 comments Download
A + runtime/vm/atomic_macos.cc View 1 2 3 4 5 6 7 1 chunk +9 lines, -6 lines 0 comments Download
A runtime/vm/atomic_win.cc View 1 2 3 4 5 6 7 8 1 chunk +28 lines, -0 lines 0 comments Download
M runtime/vm/dart.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 3 chunks +3 lines, -2 lines 0 comments Download
M runtime/vm/isolate.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 5 chunks +11 lines, -10 lines 0 comments Download
M runtime/vm/native_symbol_win.cc View 1 2 3 4 5 6 2 chunks +2 lines, -2 lines 0 comments Download
M runtime/vm/os.h View 1 2 3 4 5 6 1 chunk +3 lines, -0 lines 0 comments Download
M runtime/vm/os_android.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +23 lines, -2 lines 0 comments Download
M runtime/vm/os_linux.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +23 lines, -2 lines 0 comments Download
M runtime/vm/os_macos.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +23 lines, -2 lines 0 comments Download
M runtime/vm/os_win.cc View 1 2 3 4 5 6 1 chunk +10 lines, -0 lines 0 comments Download
M runtime/vm/profiler.h View 1 2 3 4 5 6 7 8 4 chunks +49 lines, -97 lines 0 comments Download
M runtime/vm/profiler.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 7 chunks +274 lines, -462 lines 0 comments Download
D runtime/vm/profiler_android.cc View 1 chunk +0 lines, -129 lines 0 comments Download
D runtime/vm/profiler_linux.cc View 1 chunk +0 lines, -162 lines 0 comments Download
D runtime/vm/profiler_macos.cc View 1 chunk +0 lines, -162 lines 0 comments Download
M runtime/vm/profiler_test.cc View 2 chunks +40 lines, -23 lines 0 comments Download
D runtime/vm/profiler_win.cc View 1 chunk +0 lines, -170 lines 0 comments Download
M runtime/vm/signal_handler.h View 1 chunk +0 lines, -10 lines 0 comments Download
M runtime/vm/signal_handler_android.cc View 1 chunk +0 lines, -12 lines 0 comments Download
M runtime/vm/signal_handler_linux.cc View 1 chunk +0 lines, -12 lines 0 comments Download
M runtime/vm/signal_handler_macos.cc View 1 chunk +0 lines, -12 lines 0 comments Download
M runtime/vm/signal_handler_win.cc View 1 chunk +0 lines, -7 lines 0 comments Download
M runtime/vm/thread.h View 1 chunk +4 lines, -0 lines 0 comments Download
A runtime/vm/thread_interrupter.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +99 lines, -0 lines 0 comments Download
A runtime/vm/thread_interrupter.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +387 lines, -0 lines 0 comments Download
A runtime/vm/thread_interrupter_android.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +63 lines, -0 lines 0 comments Download
A runtime/vm/thread_interrupter_linux.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +63 lines, -0 lines 0 comments Download
A runtime/vm/thread_interrupter_macos.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +64 lines, -0 lines 0 comments Download
A runtime/vm/thread_interrupter_test.cc View 1 chunk +65 lines, -0 lines 0 comments Download
A runtime/vm/thread_interrupter_win.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +98 lines, -0 lines 0 comments Download
M runtime/vm/thread_test.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 3 chunks +3 lines, -6 lines 0 comments Download
M runtime/vm/vm_sources.gypi View 1 2 3 4 5 6 7 3 chunks +12 lines, -4 lines 0 comments Download
A + tools/tracemerge.dart View 1 2 3 4 2 chunks +152 lines, -92 lines 0 comments Download
A tools/tracesummary.dart View 1 2 3 4 5 1 chunk +129 lines, -0 lines 0 comments Download

Messages

Total messages: 7 (0 generated)
Cutch
7 years ago (2013-12-09 16:20:27 UTC) #1
siva
https://codereview.chromium.org/109803002/diff/120001/runtime/platform/thread_android.cc File runtime/platform/thread_android.cc (right): https://codereview.chromium.org/109803002/diff/120001/runtime/platform/thread_android.cc#newcode152 runtime/platform/thread_android.cc:152: intptr_t Thread::ThreadIdToIntPtr(ThreadId id) { We should probably assert that ...
7 years ago (2013-12-11 02:52:20 UTC) #2
Cutch
https://codereview.chromium.org/109803002/diff/120001/runtime/platform/thread_android.cc File runtime/platform/thread_android.cc (right): https://codereview.chromium.org/109803002/diff/120001/runtime/platform/thread_android.cc#newcode152 runtime/platform/thread_android.cc:152: intptr_t Thread::ThreadIdToIntPtr(ThreadId id) { On 2013/12/11 02:52:21, siva wrote: ...
7 years ago (2013-12-11 17:44:56 UTC) #3
siva
LGTM with some comments. https://codereview.chromium.org/109803002/diff/230001/runtime/bin/file.cc File runtime/bin/file.cc (right): https://codereview.chromium.org/109803002/diff/230001/runtime/bin/file.cc#newcode34 runtime/bin/file.cc:34: Dart_DisableThreadInterrupter(); I am wondering if ...
7 years ago (2013-12-13 21:29:13 UTC) #4
Cutch
https://codereview.chromium.org/109803002/diff/230001/runtime/bin/file.cc File runtime/bin/file.cc (right): https://codereview.chromium.org/109803002/diff/230001/runtime/bin/file.cc#newcode34 runtime/bin/file.cc:34: Dart_DisableThreadInterrupter(); I'm not sure how to build a macro ...
7 years ago (2013-12-13 22:40:17 UTC) #5
Cutch
Latest patch set removes the separate thread interrupter flag, adds the TEMP_FAILURE_RETRY_BLOCK_SIGNALS macro, and only ...
7 years ago (2013-12-16 17:03:55 UTC) #6
Cutch
7 years ago (2013-12-16 18:52:37 UTC) #7
Message was sent while issue was closed.
Committed patchset #25 manually as r31170 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698