Index: src/code-stubs.h |
diff --git a/src/code-stubs.h b/src/code-stubs.h |
index 1a80a5b7bc764d581a7dbd8f2a23915a6e45ecdb..f9bb8309274bbe73bbc06a4dcad7b7ee1b49a6bc 100644 |
--- a/src/code-stubs.h |
+++ b/src/code-stubs.h |
@@ -115,6 +115,9 @@ namespace internal { |
V(Multiply) \ |
V(Divide) \ |
V(Modulus) \ |
+ V(ShiftRight) \ |
+ V(ShiftRightLogical) \ |
+ V(ShiftLeft) \ |
V(BitwiseAnd) \ |
V(BitwiseOr) \ |
V(BitwiseXor) \ |
@@ -713,6 +716,31 @@ class ModulusStub final : public TurboFanCodeStub { |
DEFINE_TURBOFAN_CODE_STUB(Modulus, TurboFanCodeStub); |
}; |
+class ShiftRightStub final : public TurboFanCodeStub { |
+ public: |
+ explicit ShiftRightStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} |
+ |
+ DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); |
+ DEFINE_TURBOFAN_CODE_STUB(ShiftRight, TurboFanCodeStub); |
+}; |
+ |
+class ShiftRightLogicalStub final : public TurboFanCodeStub { |
+ public: |
+ explicit ShiftRightLogicalStub(Isolate* isolate) |
+ : TurboFanCodeStub(isolate) {} |
+ |
+ DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); |
+ DEFINE_TURBOFAN_CODE_STUB(ShiftRightLogical, TurboFanCodeStub); |
+}; |
+ |
+class ShiftLeftStub final : public TurboFanCodeStub { |
+ public: |
+ explicit ShiftLeftStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} |
+ |
+ DEFINE_CALL_INTERFACE_DESCRIPTOR(BinaryOp); |
+ DEFINE_TURBOFAN_CODE_STUB(ShiftLeft, TurboFanCodeStub); |
+}; |
+ |
class BitwiseAndStub final : public TurboFanCodeStub { |
public: |
explicit BitwiseAndStub(Isolate* isolate) : TurboFanCodeStub(isolate) {} |
@@ -2512,7 +2540,7 @@ class ScriptContextFieldStub : public HandlerStub { |
private: |
static const int kContextIndexBits = 9; |
- static const int kSlotIndexBits = 13; |
+ static const int kSlotIndexBits = 12; |
class ContextIndexBits : public BitField<int, 0, kContextIndexBits> {}; |
class SlotIndexBits |
: public BitField<int, kContextIndexBits, kSlotIndexBits> {}; |