| Index: src/compiler/opcodes.h
|
| diff --git a/src/compiler/opcodes.h b/src/compiler/opcodes.h
|
| index 05f4b849a9bbe2e4f3adc1fd575c83e22eaa5ba3..8ba5d74ffa29a8ccbc9bf0897edb8bf041322144 100644
|
| --- a/src/compiler/opcodes.h
|
| +++ b/src/compiler/opcodes.h
|
| @@ -200,24 +200,15 @@
|
| V(NumberEqual) \
|
| V(NumberLessThan) \
|
| V(NumberLessThanOrEqual) \
|
| + V(SpeculativeNumberEqual) \
|
| + V(SpeculativeNumberLessThan) \
|
| + V(SpeculativeNumberLessThanOrEqual) \
|
| V(ReferenceEqual) \
|
| V(StringEqual) \
|
| V(StringLessThan) \
|
| V(StringLessThanOrEqual)
|
|
|
| -#define SIMPLIFIED_OTHER_OP_LIST(V) \
|
| - V(PlainPrimitiveToNumber) \
|
| - V(PlainPrimitiveToWord32) \
|
| - V(PlainPrimitiveToFloat64) \
|
| - V(BooleanNot) \
|
| - V(SpeculativeNumberAdd) \
|
| - V(SpeculativeNumberSubtract) \
|
| - V(SpeculativeNumberMultiply) \
|
| - V(SpeculativeNumberDivide) \
|
| - V(SpeculativeNumberModulus) \
|
| - V(SpeculativeNumberEqual) \
|
| - V(SpeculativeNumberLessThan) \
|
| - V(SpeculativeNumberLessThanOrEqual) \
|
| +#define SIMPLIFIED_NUMBER_BINOP_LIST(V) \
|
| V(NumberAdd) \
|
| V(NumberSubtract) \
|
| V(NumberMultiply) \
|
| @@ -229,80 +220,98 @@
|
| V(NumberShiftLeft) \
|
| V(NumberShiftRight) \
|
| V(NumberShiftRightLogical) \
|
| - V(SpeculativeNumberBitwiseAnd) \
|
| - V(SpeculativeNumberBitwiseOr) \
|
| - V(SpeculativeNumberBitwiseXor) \
|
| - V(SpeculativeNumberShiftLeft) \
|
| - V(SpeculativeNumberShiftRight) \
|
| - V(SpeculativeNumberShiftRightLogical) \
|
| - V(NumberImul) \
|
| - V(NumberAbs) \
|
| - V(NumberClz32) \
|
| - V(NumberCeil) \
|
| - V(NumberCos) \
|
| - V(NumberCosh) \
|
| - V(NumberFloor) \
|
| - V(NumberFround) \
|
| - V(NumberAcos) \
|
| - V(NumberAcosh) \
|
| - V(NumberAsin) \
|
| - V(NumberAsinh) \
|
| - V(NumberAtan) \
|
| - V(NumberAtanh) \
|
| V(NumberAtan2) \
|
| - V(NumberExp) \
|
| - V(NumberExpm1) \
|
| - V(NumberLog) \
|
| - V(NumberLog1p) \
|
| - V(NumberLog2) \
|
| - V(NumberLog10) \
|
| + V(NumberImul) \
|
| V(NumberMax) \
|
| V(NumberMin) \
|
| - V(NumberCbrt) \
|
| - V(NumberPow) \
|
| - V(NumberRound) \
|
| - V(NumberSign) \
|
| - V(NumberSin) \
|
| - V(NumberSinh) \
|
| - V(NumberSqrt) \
|
| - V(NumberTan) \
|
| - V(NumberTanh) \
|
| - V(NumberTrunc) \
|
| - V(NumberToInt32) \
|
| - V(NumberToUint32) \
|
| - V(NumberSilenceNaN) \
|
| - V(StringCharCodeAt) \
|
| - V(StringFromCharCode) \
|
| - V(CheckBounds) \
|
| - V(CheckIf) \
|
| - V(CheckMaps) \
|
| - V(CheckNumber) \
|
| - V(CheckString) \
|
| - V(CheckTaggedPointer) \
|
| - V(CheckTaggedSigned) \
|
| - V(CheckFloat64Hole) \
|
| - V(CheckTaggedHole) \
|
| - V(Allocate) \
|
| - V(LoadField) \
|
| - V(LoadBuffer) \
|
| - V(LoadElement) \
|
| - V(LoadTypedElement) \
|
| - V(StoreField) \
|
| - V(StoreBuffer) \
|
| - V(StoreElement) \
|
| - V(StoreTypedElement) \
|
| - V(ObjectIsCallable) \
|
| - V(ObjectIsNumber) \
|
| - V(ObjectIsReceiver) \
|
| - V(ObjectIsSmi) \
|
| - V(ObjectIsString) \
|
| - V(ObjectIsUndetectable) \
|
| + V(NumberPow)
|
| +
|
| +#define SIMPLIFIED_SPECULATIVE_NUMBER_BINOP_LIST(V) \
|
| + V(SpeculativeNumberAdd) \
|
| + V(SpeculativeNumberSubtract) \
|
| + V(SpeculativeNumberMultiply) \
|
| + V(SpeculativeNumberDivide) \
|
| + V(SpeculativeNumberModulus) \
|
| + V(SpeculativeNumberBitwiseAnd) \
|
| + V(SpeculativeNumberBitwiseOr) \
|
| + V(SpeculativeNumberBitwiseXor) \
|
| + V(SpeculativeNumberShiftLeft) \
|
| + V(SpeculativeNumberShiftRight) \
|
| + V(SpeculativeNumberShiftRightLogical)
|
| +
|
| +#define SIMPLIFIED_NUMBER_UNOP_LIST(V) \
|
| + V(NumberAbs) \
|
| + V(NumberAcos) \
|
| + V(NumberAcosh) \
|
| + V(NumberAsin) \
|
| + V(NumberAsinh) \
|
| + V(NumberAtan) \
|
| + V(NumberAtanh) \
|
| + V(NumberCbrt) \
|
| + V(NumberCeil) \
|
| + V(NumberClz32) \
|
| + V(NumberCos) \
|
| + V(NumberCosh) \
|
| + V(NumberExp) \
|
| + V(NumberExpm1) \
|
| + V(NumberFloor) \
|
| + V(NumberFround) \
|
| + V(NumberLog) \
|
| + V(NumberLog1p) \
|
| + V(NumberLog2) \
|
| + V(NumberLog10) \
|
| + V(NumberRound) \
|
| + V(NumberSign) \
|
| + V(NumberSin) \
|
| + V(NumberSinh) \
|
| + V(NumberSqrt) \
|
| + V(NumberTan) \
|
| + V(NumberTanh) \
|
| + V(NumberTrunc) \
|
| + V(NumberToInt32) \
|
| + V(NumberToUint32) \
|
| + V(NumberSilenceNaN)
|
| +
|
| +#define SIMPLIFIED_OTHER_OP_LIST(V) \
|
| + V(PlainPrimitiveToNumber) \
|
| + V(PlainPrimitiveToWord32) \
|
| + V(PlainPrimitiveToFloat64) \
|
| + V(BooleanNot) \
|
| + V(StringCharCodeAt) \
|
| + V(StringFromCharCode) \
|
| + V(CheckBounds) \
|
| + V(CheckIf) \
|
| + V(CheckMaps) \
|
| + V(CheckNumber) \
|
| + V(CheckString) \
|
| + V(CheckTaggedPointer) \
|
| + V(CheckTaggedSigned) \
|
| + V(CheckFloat64Hole) \
|
| + V(CheckTaggedHole) \
|
| + V(Allocate) \
|
| + V(LoadField) \
|
| + V(LoadBuffer) \
|
| + V(LoadElement) \
|
| + V(LoadTypedElement) \
|
| + V(StoreField) \
|
| + V(StoreBuffer) \
|
| + V(StoreElement) \
|
| + V(StoreTypedElement) \
|
| + V(ObjectIsCallable) \
|
| + V(ObjectIsNumber) \
|
| + V(ObjectIsReceiver) \
|
| + V(ObjectIsSmi) \
|
| + V(ObjectIsString) \
|
| + V(ObjectIsUndetectable) \
|
| V(TransitionElementsKind)
|
|
|
| -#define SIMPLIFIED_OP_LIST(V) \
|
| - SIMPLIFIED_CHANGE_OP_LIST(V) \
|
| - SIMPLIFIED_CHECKED_OP_LIST(V) \
|
| - SIMPLIFIED_COMPARE_BINOP_LIST(V) \
|
| +#define SIMPLIFIED_OP_LIST(V) \
|
| + SIMPLIFIED_CHANGE_OP_LIST(V) \
|
| + SIMPLIFIED_CHECKED_OP_LIST(V) \
|
| + SIMPLIFIED_COMPARE_BINOP_LIST(V) \
|
| + SIMPLIFIED_NUMBER_BINOP_LIST(V) \
|
| + SIMPLIFIED_SPECULATIVE_NUMBER_BINOP_LIST(V) \
|
| + SIMPLIFIED_NUMBER_UNOP_LIST(V) \
|
| SIMPLIFIED_OTHER_OP_LIST(V)
|
|
|
| // Opcodes for Machine-level operators.
|
|
|