[Sampling profiler] Implement signal-based stack copying in //base/profiler
This CL extracts the core stack copying parts of tracing::StackUnwinderAndroid into the dedicated base::StackCopierSignal class, and adapts it for direct use by the sampling profiler stack unwinding implementation. This drops some unneeded code; updates the code to run on 32-bit Android, 64-bit Android, and 64-bit Linux platforms; and converts the code to use C++ atomics. The StackUnwinderAndroid implementation will eventually be replaced wholesale by the sampling profiler implementation for Android. This CL does not attempt to reuse the extracted stack copying implementation on its own, in order to avoid introducing bugs in StackUnwinderAndroid due to the differing implementations. TBR=gab@chromium.org Bug: 988579 Change-Id: I0293771679c5deae69fdbb007d8828ead575ee0f Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1872967Reviewed-by:Mike Wittman <wittman@chromium.org> Reviewed-by:
Gabriel Charette <gab@chromium.org> Reviewed-by:
Charlie Andrews <charliea@chromium.org> Reviewed-by:
ssid <ssid@chromium.org> Commit-Queue: Mike Wittman <wittman@chromium.org> Commit-Queue: Gabriel Charette <gab@chromium.org> Auto-Submit: Mike Wittman <wittman@chromium.org> Cr-Commit-Position: refs/heads/master@{#709597}
Showing
Please register or sign in to comment