Upgrade V8 to version 4.9.385.28
https://chromium.googlesource.com/v8/v8/+/4.9.385.28
FPIIM-449
Change-Id: I4b2e74289d4bf3667f2f3dc8aa2e541f63e26eb4
diff --git a/src/compiler/common-operator-reducer.h b/src/compiler/common-operator-reducer.h
index 10543db..7184755 100644
--- a/src/compiler/common-operator-reducer.h
+++ b/src/compiler/common-operator-reducer.h
@@ -11,13 +11,44 @@
namespace internal {
namespace compiler {
-// Performs strength reduction on nodes that have common operators.
-class CommonOperatorReducer FINAL : public Reducer {
- public:
- CommonOperatorReducer() {}
- ~CommonOperatorReducer() FINAL {}
+// Forward declarations.
+class CommonOperatorBuilder;
+class Graph;
+class MachineOperatorBuilder;
+class Operator;
- Reduction Reduce(Node* node) FINAL;
+
+// Performs strength reduction on nodes that have common operators.
+class CommonOperatorReducer final : public AdvancedReducer {
+ public:
+ CommonOperatorReducer(Editor* editor, Graph* graph,
+ CommonOperatorBuilder* common,
+ MachineOperatorBuilder* machine);
+ ~CommonOperatorReducer() final {}
+
+ Reduction Reduce(Node* node) final;
+
+ private:
+ Reduction ReduceBranch(Node* node);
+ Reduction ReduceMerge(Node* node);
+ Reduction ReduceEffectPhi(Node* node);
+ Reduction ReducePhi(Node* node);
+ Reduction ReduceReturn(Node* node);
+ Reduction ReduceSelect(Node* node);
+ Reduction ReduceGuard(Node* node);
+
+ Reduction Change(Node* node, Operator const* op, Node* a);
+ Reduction Change(Node* node, Operator const* op, Node* a, Node* b);
+
+ Graph* graph() const { return graph_; }
+ CommonOperatorBuilder* common() const { return common_; }
+ MachineOperatorBuilder* machine() const { return machine_; }
+ Node* dead() const { return dead_; }
+
+ Graph* const graph_;
+ CommonOperatorBuilder* const common_;
+ MachineOperatorBuilder* const machine_;
+ Node* const dead_;
};
} // namespace compiler