Index: src/code-stubs.h |
diff --git a/src/code-stubs.h b/src/code-stubs.h |
index 9c906cae92f50abdba12afb21992640f6801b02e..abb0c9622ca0c1bfd067f3d61477d6f8dd63bc9e 100644 |
--- a/src/code-stubs.h |
+++ b/src/code-stubs.h |
@@ -142,6 +142,7 @@ |
V(LoadICTrampolineTF) \ |
V(LoadICTF) \ |
/* IC Handler stubs */ \ |
+ V(ArrayBufferViewLoadField) \ |
V(KeyedLoadSloppyArguments) \ |
V(KeyedStoreSloppyArguments) \ |
V(LoadApiGetter) \ |
@@ -1454,6 +1455,31 @@ |
}; |
+class ArrayBufferViewLoadFieldStub : public HandlerStub { |
+ public: |
+ ArrayBufferViewLoadFieldStub(Isolate* isolate, FieldIndex index) |
+ : HandlerStub(isolate) { |
+ int property_index_key = index.GetFieldAccessStubKey(); |
+ set_sub_minor_key( |
+ ArrayBufferViewLoadFieldByIndexBits::encode(property_index_key)); |
+ } |
+ |
+ FieldIndex index() const { |
+ int property_index_key = |
+ ArrayBufferViewLoadFieldByIndexBits::decode(sub_minor_key()); |
+ return FieldIndex::FromFieldAccessStubKey(property_index_key); |
+ } |
+ |
+ protected: |
+ Code::Kind kind() const override { return Code::LOAD_IC; } |
+ |
+ private: |
+ class ArrayBufferViewLoadFieldByIndexBits : public BitField<int, 0, 13> {}; |
+ |
+ DEFINE_HANDLER_CODE_STUB(ArrayBufferViewLoadField, HandlerStub); |
+}; |
+ |
+ |
class KeyedLoadSloppyArgumentsStub : public HandlerStub { |
public: |
explicit KeyedLoadSloppyArgumentsStub(Isolate* isolate) |