#ifndef V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_
#define V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_
#include "src/compiler/js-operator.h"
#include "src/compiler/node-observer.h"
#include "src/objects/code-kind.h"
#include "src/utils/utils.h"
namespace v8 {
class TickCounter;
namespace internal {
class BytecodeArray;
class FeedbackVector;
class SharedFunctionInfo;
class Zone;
namespace compiler {
class JSGraph;
class NodeObserver;
class SourcePositionTable;
class NodeOriginTable;
enum class BytecodeGraphBuilderFlag : uint8_t { … };
using BytecodeGraphBuilderFlags = base::Flags<BytecodeGraphBuilderFlag>;
void BuildGraphFromBytecode(
JSHeapBroker* broker, Zone* local_zone, SharedFunctionInfoRef shared_info,
FeedbackCellRef feedback_cell, BytecodeOffset osr_offset, JSGraph* jsgraph,
CallFrequency const& invocation_frequency,
SourcePositionTable* source_positions, NodeOriginTable* node_origins,
int inlining_id, CodeKind code_kind, BytecodeGraphBuilderFlags flags,
TickCounter* tick_counter, ObserveNodeInfo const& observe_node_info = { … };
}
}
}
#endif