#if !V8_ENABLE_WEBASSEMBLY
#error This header should only be included if WebAssembly is enabled.
#endif
#ifndef V8_WASM_TURBOSHAFT_GRAPH_INTERFACE_H_
#define V8_WASM_TURBOSHAFT_GRAPH_INTERFACE_H_
#include "src/base/macros.h"
#include "src/compiler/turboshaft/assembler.h"
#include "src/compiler/turboshaft/dataview-lowering-reducer.h"
#include "src/compiler/turboshaft/select-lowering-reducer.h"
#include "src/compiler/turboshaft/variable-reducer.h"
#include "src/objects/code-kind.h"
#include "src/wasm/decoder.h"
#include "src/wasm/function-body-decoder-impl.h"
#include "src/wasm/value-type.h"
#include "src/zone/zone-containers.h"
namespace v8::internal {
class AccountingAllocator;
struct WasmInliningPosition;
namespace compiler {
class NodeOriginTable;
namespace turboshaft {
class Graph;
class PipelineData;
}
}
namespace wasm {
class AssumptionsJournal;
struct FunctionBody;
class WasmDetectedFeatures;
struct WasmModule;
class WireBytesStorage;
class TurboshaftGraphBuildingInterface;
struct CompilationEnv;
V8_EXPORT_PRIVATE void BuildTSGraph(
compiler::turboshaft::PipelineData* data, AccountingAllocator* allocator,
CompilationEnv* env, WasmDetectedFeatures* detected,
compiler::turboshaft::Graph& graph, const FunctionBody& func_body,
const WireBytesStorage* wire_bytes, AssumptionsJournal* assumptions,
ZoneVector<WasmInliningPosition>* inlining_positions, int func_index);
void BuildWasmWrapper(compiler::turboshaft::PipelineData* data,
AccountingAllocator* allocator,
compiler::turboshaft::Graph& graph,
const wasm::FunctionSig* sig, WrapperCompilationInfo,
const WasmModule* module);
class V8_EXPORT_PRIVATE WasmGraphBuilderBase { … };
}
}
#endif