#ifndef V8_CODEGEN_COMPILER_H_
#define V8_CODEGEN_COMPILER_H_
#include <forward_list>
#include <memory>
#include "src/ast/ast-value-factory.h"
#include "src/base/platform/elapsed-timer.h"
#include "src/base/small-vector.h"
#include "src/base/threaded-list.h"
#include "src/codegen/background-merge-task.h"
#include "src/codegen/bailout-reason.h"
#include "src/common/globals.h"
#include "src/execution/isolate.h"
#include "src/execution/local-isolate.h"
#include "src/handles/persistent-handles.h"
#include "src/logging/code-events.h"
#include "src/objects/contexts.h"
#include "src/objects/debug-objects.h"
#include "src/parsing/parse-info.h"
#include "src/parsing/pending-compilation-error-handler.h"
#include "src/snapshot/code-serializer.h"
#include "src/utils/allocation.h"
#include "src/zone/zone.h"
namespace v8 {
namespace tracing {
class TracedValue;
}
namespace internal {
class AlignedCachedData;
class BackgroundCompileTask;
class IsCompiledScope;
class OptimizedCompilationInfo;
class ParseInfo;
class RuntimeCallStats;
class TimedHistogram;
class TurbofanCompilationJob;
class UnoptimizedCompilationInfo;
class UnoptimizedCompilationJob;
class UnoptimizedFrame;
class WorkerThreadRuntimeCallStats;
struct ScriptDetails;
struct ScriptStreamingData;
namespace maglev {
class MaglevCompilationJob;
static inline bool IsMaglevEnabled() { … }
static inline bool IsMaglevOsrEnabled() { … }
}
class V8_EXPORT_PRIVATE Compiler : public AllStatic { … };
class V8_EXPORT_PRIVATE CompilationJob { … };
class UnoptimizedCompilationJob : public CompilationJob { … };
class OptimizedCompilationJob : public CompilationJob { … };
class TurbofanCompilationJob : public OptimizedCompilationJob { … };
class FinalizeUnoptimizedCompilationData { … };
using FinalizeUnoptimizedCompilationDataList =
std::vector<FinalizeUnoptimizedCompilationData>;
class DeferredFinalizationJobData { … };
class V8_NODISCARD CompilationHandleScope final { … };
using DeferredFinalizationJobDataList =
std::vector<DeferredFinalizationJobData>;
class V8_EXPORT_PRIVATE BackgroundCompileTask { … };
struct V8_EXPORT_PRIVATE ScriptStreamingData { … };
class V8_EXPORT_PRIVATE BackgroundDeserializeTask { … };
}
}
#endif