summaryrefslogtreecommitdiffstats
path: root/chromium/base/profiler/thread_delegate_android.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/base/profiler/thread_delegate_android.h')
-rw-r--r--chromium/base/profiler/thread_delegate_android.h25
1 files changed, 6 insertions, 19 deletions
diff --git a/chromium/base/profiler/thread_delegate_android.h b/chromium/base/profiler/thread_delegate_android.h
index 59ff674ac6d..96e1e3c45c1 100644
--- a/chromium/base/profiler/thread_delegate_android.h
+++ b/chromium/base/profiler/thread_delegate_android.h
@@ -7,41 +7,28 @@
#include "base/base_export.h"
#include "base/profiler/thread_delegate.h"
+#include "base/threading/platform_thread.h"
namespace base {
// Platform- and thread-specific implementation in support of stack sampling on
// Android.
//
-// TODO(charliea): Implement this class.
-// See: https://crbug.com/988574
+// TODO(https://crbug.com/988579): Implement this class.
class BASE_EXPORT ThreadDelegateAndroid : public ThreadDelegate {
public:
- class ScopedSuspendThread : public ThreadDelegate::ScopedSuspendThread {
- public:
- ScopedSuspendThread() = default;
- ~ScopedSuspendThread() override = default;
-
- ScopedSuspendThread(const ScopedSuspendThread&) = delete;
- ScopedSuspendThread& operator=(const ScopedSuspendThread&) = delete;
-
- bool WasSuccessful() const override;
- };
-
- ThreadDelegateAndroid() = default;
- ~ThreadDelegateAndroid() override = default;
+ ThreadDelegateAndroid(PlatformThreadId thread_id);
ThreadDelegateAndroid(const ThreadDelegateAndroid&) = delete;
ThreadDelegateAndroid& operator=(const ThreadDelegateAndroid&) = delete;
// ThreadDelegate
- std::unique_ptr<ThreadDelegate::ScopedSuspendThread>
- CreateScopedSuspendThread() override;
- bool GetThreadContext(RegisterContext* thread_context) override;
uintptr_t GetStackBaseAddress() const override;
- bool CanCopyStack(uintptr_t stack_pointer) override;
std::vector<uintptr_t*> GetRegistersToRewrite(
RegisterContext* thread_context) override;
+
+ private:
+ const uintptr_t thread_stack_base_address_;
};
} // namespace base