Index: src/compiler/js-builtin-reducer.h |
diff --git a/src/compiler/js-builtin-reducer.h b/src/compiler/js-builtin-reducer.h |
index 4b3be29caae7fd2be3387149d51a18ffab959829..ac6f266eed5336685937e829fbef62dbd567066c 100644 |
--- a/src/compiler/js-builtin-reducer.h |
+++ b/src/compiler/js-builtin-reducer.h |
@@ -6,30 +6,26 @@ |
#define V8_COMPILER_JS_BUILTIN_REDUCER_H_ |
#include "src/compiler/graph-reducer.h" |
-#include "src/compiler/js-graph.h" |
-#include "src/compiler/machine-operator.h" |
-#include "src/compiler/node.h" |
#include "src/compiler/simplified-operator.h" |
namespace v8 { |
namespace internal { |
namespace compiler { |
+// Forward declarations. |
+class CommonOperatorBuilder; |
+class JSGraph; |
+class MachineOperatorBuilder; |
+ |
+ |
class JSBuiltinReducer FINAL : public Reducer { |
public: |
- explicit JSBuiltinReducer(JSGraph* jsgraph) |
- : jsgraph_(jsgraph), simplified_(jsgraph->zone()) {} |
- virtual ~JSBuiltinReducer() {} |
+ explicit JSBuiltinReducer(JSGraph* jsgraph); |
+ ~JSBuiltinReducer() FINAL {} |
- virtual Reduction Reduce(Node* node) OVERRIDE; |
+ Reduction Reduce(Node* node) FINAL; |
private: |
- JSGraph* jsgraph() const { return jsgraph_; } |
- Graph* graph() const { return jsgraph_->graph(); } |
- CommonOperatorBuilder* common() const { return jsgraph_->common(); } |
- MachineOperatorBuilder* machine() const { return jsgraph_->machine(); } |
- SimplifiedOperatorBuilder* simplified() { return &simplified_; } |
- |
Reduction ReduceMathAbs(Node* node); |
Reduction ReduceMathSqrt(Node* node); |
Reduction ReduceMathMax(Node* node); |
@@ -38,6 +34,12 @@ class JSBuiltinReducer FINAL : public Reducer { |
Reduction ReduceMathFloor(Node* node); |
Reduction ReduceMathCeil(Node* node); |
+ JSGraph* jsgraph() const { return jsgraph_; } |
+ Graph* graph() const; |
+ CommonOperatorBuilder* common() const; |
+ MachineOperatorBuilder* machine() const; |
+ SimplifiedOperatorBuilder* simplified() { return &simplified_; } |
+ |
JSGraph* jsgraph_; |
SimplifiedOperatorBuilder simplified_; |
}; |