Index: src/compiler/simplified-operator-reducer.h |
diff --git a/src/compiler/js-builtin-reducer.h b/src/compiler/simplified-operator-reducer.h |
similarity index 50% |
copy from src/compiler/js-builtin-reducer.h |
copy to src/compiler/simplified-operator-reducer.h |
index 66b5723246c9e83a614a79f900d17a448b575a72..c302250d266fbea3c922962f979f4d6325669860 100644 |
--- a/src/compiler/js-builtin-reducer.h |
+++ b/src/compiler/simplified-operator-reducer.h |
@@ -2,8 +2,8 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#ifndef V8_COMPILER_JS_BUILTIN_REDUCER_H_ |
-#define V8_COMPILER_JS_BUILTIN_REDUCER_H_ |
+#ifndef V8_COMPILER_SIMPLIFIED_OPERATOR_REDUCER_H_ |
+#define V8_COMPILER_SIMPLIFIED_OPERATOR_REDUCER_H_ |
#include "src/compiler/graph-reducer.h" |
#include "src/compiler/simplified-operator.h" |
@@ -13,35 +13,40 @@ namespace internal { |
namespace compiler { |
// Forward declarations. |
-class CommonOperatorBuilder; |
class JSGraph; |
class MachineOperatorBuilder; |
-class JSBuiltinReducer final : public AdvancedReducer { |
+class SimplifiedOperatorReducer final : public Reducer { |
public: |
- explicit JSBuiltinReducer(Editor* editor, JSGraph* jsgraph); |
- ~JSBuiltinReducer() final {} |
+ explicit SimplifiedOperatorReducer(JSGraph* jsgraph); |
+ ~SimplifiedOperatorReducer() final; |
Reduction Reduce(Node* node) final; |
private: |
- Reduction ReduceMathMax(Node* node); |
- Reduction ReduceMathImul(Node* node); |
- Reduction ReduceMathFround(Node* node); |
+ Reduction Change(Node* node, const Operator* op, Node* a); |
+ Reduction ReplaceFloat64(double value); |
+ Reduction ReplaceInt32(int32_t value); |
+ Reduction ReplaceUint32(uint32_t value) { |
+ return ReplaceInt32(bit_cast<int32_t>(value)); |
+ } |
+ Reduction ReplaceNumber(double value); |
+ Reduction ReplaceNumber(int32_t value); |
- JSGraph* jsgraph() const { return jsgraph_; } |
Graph* graph() const; |
- CommonOperatorBuilder* common() const; |
+ JSGraph* jsgraph() const { return jsgraph_; } |
MachineOperatorBuilder* machine() const; |
SimplifiedOperatorBuilder* simplified() { return &simplified_; } |
- JSGraph* jsgraph_; |
+ JSGraph* const jsgraph_; |
SimplifiedOperatorBuilder simplified_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(SimplifiedOperatorReducer); |
}; |
} // namespace compiler |
} // namespace internal |
} // namespace v8 |
-#endif // V8_COMPILER_JS_BUILTIN_REDUCER_H_ |
+#endif // V8_COMPILER_SIMPLIFIED_OPERATOR_REDUCER_H_ |