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