[go: nahoru, domu]

blob: b79ee9b13f6302000188926a323e9518ce61f2b0 [file] [log] [blame]
// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef SERVICES_TRACING_PUBLIC_CPP_STACK_SAMPLING_STACK_UNWINDER_ARM64_ANDROID_H_
#define SERVICES_TRACING_PUBLIC_CPP_STACK_SAMPLING_STACK_UNWINDER_ARM64_ANDROID_H_
#include "base/component_export.h"
#include "base/profiler/unwinder.h"
namespace tracing {
// Unwinder implementation for arm64 builds with frame pointer enabled.
class COMPONENT_EXPORT(TRACING_CPP) UnwinderArm64 : public base::Unwinder {
public:
bool CanUnwindFrom(const base::Frame& current_frame) const override;
base::UnwindResult TryUnwind(base::RegisterContext* thread_context,
uintptr_t stack_top,
std::vector<base::Frame>* stack) const override;
};
} // namespace tracing
#endif // SERVICES_TRACING_PUBLIC_CPP_STACK_SAMPLING_STACK_UNWINDER_ARM64_ANDROID_H_