• Mike Wittman's avatar
    [Sampling profiler] Implement signal-based stack copying in //base/profiler · ffff90fd
    Mike Wittman authored
    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: default avatarMike Wittman <wittman@chromium.org>
    Reviewed-by: default avatarGabriel Charette <gab@chromium.org>
    Reviewed-by: default avatarCharlie Andrews <charliea@chromium.org>
    Reviewed-by: default avatarssid <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}
    ffff90fd
BUILD.gn 132 KB