5 #ifndef V8_COMPILER_GRAPH_VISUALIZER_H_ 6 #define V8_COMPILER_GRAPH_VISUALIZER_H_ 13 #include "src/globals.h" 14 #include "src/handles.h" 19 class OptimizedCompilationInfo;
20 class SharedFunctionInfo;
26 class InstructionBlock;
27 class InstructionOperand;
28 class InstructionSequence;
30 class NodeOriginTable;
31 class RegisterAllocationData;
33 class SourcePositionTable;
64 std::ostream& operator<<(std::ostream& out,
const SourcePositionAsJSON& pos);
70 printed_.reserve(size);
71 source_ids_.reserve(size);
74 int GetIdAt(
size_t pos)
const {
return source_ids_[pos]; }
77 std::vector<Handle<SharedFunctionInfo>> printed_;
78 std::vector<int> source_ids_;
81 void JsonPrintAllSourceWithPositions(std::ostream& os,
85 void JsonPrintFunctionSource(std::ostream& os,
int source_id,
86 std::unique_ptr<
char[]> function_name,
89 bool with_key =
false);
91 const char* optional_base_dir,
97 : graph(g), positions(p), origins(o) {}
109 V8_EXPORT_PRIVATE std::ostream& operator<<(std::ostream& os,
110 const GraphAsJSON& ad);
117 V8_EXPORT_PRIVATE std::ostream& operator<<(std::ostream& os,
const AsRPO& ad);
130 std::ostream& operator<<(std::ostream& os,
const AsScheduledGraph& scheduled);
135 : schedule_(schedule),
136 instructions_(instructions),
137 positions_(positions),
148 : phase_(phase), data_(data) {}
154 std::ostream& operator<<(std::ostream& os,
const AsC1V& ac);
155 std::ostream& operator<<(std::ostream& os,
188 #endif // V8_COMPILER_GRAPH_VISUALIZER_H_