Index: src/code-stubs.h |
diff --git a/src/code-stubs.h b/src/code-stubs.h |
index 6dfbc4d4b8c2b60f1a69def0e1ea0def7e161b06..fc1435e006468c34b07fbaf8a11e34d63a01822b 100644 |
--- a/src/code-stubs.h |
+++ b/src/code-stubs.h |
@@ -102,15 +102,21 @@ namespace internal { |
V(ArrayNArgumentsConstructor) \ |
V(StringLength) \ |
V(Add) \ |
+ V(AddSmi) \ |
V(Subtract) \ |
+ V(SubtractSmi) \ |
V(Multiply) \ |
V(Divide) \ |
V(Modulus) \ |
V(ShiftRight) \ |
+ V(ShiftRightSmi) \ |
V(ShiftRightLogical) \ |
V(ShiftLeft) \ |
+ V(ShiftLeftSmi) \ |
V(BitwiseAnd) \ |
+ V(BitwiseAndSmi) \ |
V(BitwiseOr) \ |
+ V(BitwiseOrSmi) \ |
V(BitwiseXor) \ |
V(Inc) \ |
V(InternalArrayNoArgumentConstructor) \ |
@@ -711,6 +717,14 @@ class AddStub final : public TurboFanCodeStub { |
DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(Add, TurboFanCodeStub); |
}; |
+class AddSmiStub final : public TurboFanCodeStub { |
+ public: |
+ explicit AddSmiStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} |
+ |
+ DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); |
+ DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(AddSmi, TurboFanCodeStub); |
+}; |
+ |
class SubtractStub final : public TurboFanCodeStub { |
public: |
explicit SubtractStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} |
@@ -719,6 +733,14 @@ class SubtractStub final : public TurboFanCodeStub { |
DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(Subtract, TurboFanCodeStub); |
}; |
+class SubtractSmiStub final : public TurboFanCodeStub { |
+ public: |
+ explicit SubtractSmiStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} |
+ |
+ DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); |
+ DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(SubtractSmi, TurboFanCodeStub); |
+}; |
+ |
class MultiplyStub final : public TurboFanCodeStub { |
public: |
explicit MultiplyStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} |
@@ -751,6 +773,14 @@ class ShiftRightStub final : public TurboFanCodeStub { |
DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(ShiftRight, TurboFanCodeStub); |
}; |
+class ShiftRightSmiStub final : public TurboFanCodeStub { |
+ public: |
+ explicit ShiftRightSmiStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} |
+ |
+ DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); |
+ DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(ShiftRightSmi, TurboFanCodeStub); |
+}; |
+ |
class ShiftRightLogicalStub final : public TurboFanCodeStub { |
public: |
explicit ShiftRightLogicalStub(Isolate* isolate) |
@@ -768,6 +798,14 @@ class ShiftLeftStub final : public TurboFanCodeStub { |
DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(ShiftLeft, TurboFanCodeStub); |
}; |
+class ShiftLeftSmiStub final : public TurboFanCodeStub { |
+ public: |
+ explicit ShiftLeftSmiStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} |
+ |
+ DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); |
+ DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(ShiftLeftSmi, TurboFanCodeStub); |
+}; |
+ |
class BitwiseAndStub final : public TurboFanCodeStub { |
public: |
explicit BitwiseAndStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} |
@@ -776,6 +814,14 @@ class BitwiseAndStub final : public TurboFanCodeStub { |
DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(BitwiseAnd, TurboFanCodeStub); |
}; |
+class BitwiseAndSmiStub final : public TurboFanCodeStub { |
+ public: |
+ explicit BitwiseAndSmiStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} |
+ |
+ DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); |
+ DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(BitwiseAndSmi, TurboFanCodeStub); |
+}; |
+ |
class BitwiseOrStub final : public TurboFanCodeStub { |
public: |
explicit BitwiseOrStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} |
@@ -784,6 +830,14 @@ class BitwiseOrStub final : public TurboFanCodeStub { |
DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(BitwiseOr, TurboFanCodeStub); |
}; |
+class BitwiseOrSmiStub final : public TurboFanCodeStub { |
+ public: |
+ explicit BitwiseOrSmiStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} |
+ |
+ DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); |
+ DEFINE_TURBOFAN_BINARY_OP_CODE_STUB(BitwiseOrSmi, TurboFanCodeStub); |
+}; |
+ |
class BitwiseXorStub final : public TurboFanCodeStub { |
public: |
explicit BitwiseXorStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} |