#ifndef V8_PROFILER_PROFILE_GENERATOR_H_
#define V8_PROFILER_PROFILE_GENERATOR_H_
#include <atomic>
#include <deque>
#include <limits>
#include <map>
#include <memory>
#include <unordered_map>
#include <utility>
#include <vector>
#include "include/v8-profiler.h"
#include "src/base/platform/time.h"
#include "src/builtins/builtins.h"
#include "src/execution/vm-state.h"
#include "src/logging/code-events.h"
#include "src/profiler/output-stream-writer.h"
#include "src/profiler/strings-storage.h"
#include "src/utils/allocation.h"
namespace v8 {
namespace internal {
struct TickSample;
class V8_EXPORT_PRIVATE SourcePositionTable : public Malloced { … };
struct CodeEntryAndLineNumber;
class CodeEntry { … };
struct CodeEntryAndLineNumber { … };
using ProfileStackTrace = std::vector<CodeEntryAndLineNumber>;
class ContextFilter { … };
class ProfileTree;
class V8_EXPORT_PRIVATE ProfileNode { … };
class CodeEntryStorage;
class V8_EXPORT_PRIVATE ProfileTree { … };
class CpuProfiler;
class CpuProfile { … };
class CpuProfileMaxSamplesCallbackTask : public v8::Task { … };
class V8_EXPORT_PRIVATE InstructionStreamMap { … };
class V8_EXPORT_PRIVATE CodeEntryStorage { … };
class V8_EXPORT_PRIVATE CpuProfilesCollection { … };
class CpuProfileJSONSerializer { … };
}
}
#endif