| 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_
|
|
|