Home | History | Annotate | Download | only in compiler
      1 // Copyright 2014 the V8 project authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef V8_COMPILER_GRAPH_REPLAY_H_
      6 #define V8_COMPILER_GRAPH_REPLAY_H_
      7 
      8 #include "src/compiler/node.h"
      9 
     10 namespace v8 {
     11 namespace internal {
     12 namespace compiler {
     13 
     14 // Forward declarations.
     15 class Graph;
     16 
     17 // Helper class to print a full replay of a graph. This replay can be used to
     18 // materialize the same graph within a C++ unit test and hence test subsequent
     19 // optimization passes on a graph without going through the construction steps.
     20 class GraphReplayPrinter {
     21  public:
     22 #ifdef DEBUG
     23   static void PrintReplay(Graph* graph);
     24 #else
     25   static void PrintReplay(Graph* graph) {}
     26 #endif
     27 
     28  private:
     29   GraphReplayPrinter() {}
     30 
     31   static void PrintReplayOpCreator(const Operator* op);
     32 
     33   DISALLOW_COPY_AND_ASSIGN(GraphReplayPrinter);
     34 };
     35 
     36 }  // namespace compiler
     37 }  // namespace internal
     38 }  // namespace v8
     39 
     40 #endif  // V8_COMPILER_GRAPH_REPLAY_H_
     41