| Index: src/compiler/operation-typer.h
|
| diff --git a/src/compiler/operation-typer.h b/src/compiler/operation-typer.h
|
| index d6ec06b898b825f888c47525f5a52cb110230519..0b039a928dd5a1cb9702aad3631629b8298ba5c4 100644
|
| --- a/src/compiler/operation-typer.h
|
| +++ b/src/compiler/operation-typer.h
|
| @@ -32,13 +32,16 @@ class OperationTyper {
|
| Type* ToNumber(Type* type);
|
| Type* WeakenRange(Type* current_range, Type* previous_range);
|
|
|
| - Type* NumberAdd(Type* lhs, Type* rhs);
|
| - Type* NumberSubtract(Type* lhs, Type* rhs);
|
| - Type* NumberMultiply(Type* lhs, Type* rhs);
|
| - Type* NumberDivide(Type* lhs, Type* rhs);
|
| - Type* NumberModulus(Type* lhs, Type* rhs);
|
| +// Number unary operators.
|
| +#define DECLARE_METHOD(Name) Type* Name(Type* type);
|
| + SIMPLIFIED_NUMBER_UNOP_LIST(DECLARE_METHOD)
|
| +#undef DECLARE_METHOD
|
|
|
| - Type* NumberAbs(Type* type);
|
| +// Number binary operators.
|
| +#define DECLARE_METHOD(Name) Type* Name(Type* lhs, Type* rhs);
|
| + SIMPLIFIED_NUMBER_BINOP_LIST(DECLARE_METHOD)
|
| + SIMPLIFIED_SPECULATIVE_NUMBER_BINOP_LIST(DECLARE_METHOD)
|
| +#undef DECLARE_METHOD
|
|
|
| enum ComparisonOutcomeFlags {
|
| kComparisonTrue = 1,
|
| @@ -46,14 +49,9 @@ class OperationTyper {
|
| kComparisonUndefined = 4
|
| };
|
|
|
| -// Javascript binop typers.
|
| -#define DECLARE_CASE(x) Type* Type##x(Type* lhs, Type* rhs);
|
| - JS_SIMPLE_BINOP_LIST(DECLARE_CASE)
|
| -#undef DECLARE_CASE
|
| -
|
| - Type* singleton_false() { return singleton_false_; }
|
| - Type* singleton_true() { return singleton_true_; }
|
| - Type* singleton_the_hole() { return singleton_the_hole_; }
|
| + Type* singleton_false() const { return singleton_false_; }
|
| + Type* singleton_true() const { return singleton_true_; }
|
| + Type* singleton_the_hole() const { return singleton_the_hole_; }
|
|
|
| private:
|
| typedef base::Flags<ComparisonOutcomeFlags> ComparisonOutcome;
|
| @@ -68,14 +66,16 @@ class OperationTyper {
|
| Type* SubtractRanger(RangeType* lhs, RangeType* rhs);
|
| Type* MultiplyRanger(Type* lhs, Type* rhs);
|
|
|
| - Zone* zone() { return zone_; }
|
| + Zone* zone() const { return zone_; }
|
|
|
| - Zone* zone_;
|
| + Zone* const zone_;
|
| TypeCache const& cache_;
|
|
|
| Type* singleton_false_;
|
| Type* singleton_true_;
|
| Type* singleton_the_hole_;
|
| + Type* signed32ish_;
|
| + Type* unsigned32ish_;
|
| };
|
|
|
| } // namespace compiler
|
|
|