Index: src/elements.h |
diff --git a/src/elements.h b/src/elements.h |
index f4d15fc828b751ab8f4c488e85f1586d4c001fa6..1065b1f73df63aa492a766cefa3e309dbbf2bb64 100644 |
--- a/src/elements.h |
+++ b/src/elements.h |
@@ -48,17 +48,11 @@ class ElementsAccessor { |
// can optionally pass in the backing store to use for the check, which must |
// be compatible with the ElementsKind of the ElementsAccessor. If |
// backing_store is NULL, the holder->elements() is used as the backing store. |
- MUST_USE_RESULT virtual MaybeHandle<Object> Get( |
- Handle<Object> receiver, |
- Handle<JSObject> holder, |
- uint32_t key, |
- Handle<FixedArrayBase> backing_store) = 0; |
+ virtual Handle<Object> Get(Handle<JSObject> holder, uint32_t key, |
+ Handle<FixedArrayBase> backing_store) = 0; |
- MUST_USE_RESULT inline MaybeHandle<Object> Get( |
- Handle<Object> receiver, |
- Handle<JSObject> holder, |
- uint32_t key) { |
- return Get(receiver, holder, key, handle(holder->elements())); |
+ inline Handle<Object> Get(Handle<JSObject> holder, uint32_t key) { |
+ return Get(holder, key, handle(holder->elements())); |
} |
// Returns an element's attributes, or ABSENT if there is no such |
@@ -66,15 +60,12 @@ class ElementsAccessor { |
// can optionally pass in the backing store to use for the check, which must |
// be compatible with the ElementsKind of the ElementsAccessor. If |
// backing_store is NULL, the holder->elements() is used as the backing store. |
- MUST_USE_RESULT virtual PropertyAttributes GetAttributes( |
- Handle<JSObject> holder, |
- uint32_t key, |
- Handle<FixedArrayBase> backing_store) = 0; |
+ virtual PropertyAttributes GetAttributes(JSObject* holder, uint32_t key, |
+ FixedArrayBase* backing_store) = 0; |
- MUST_USE_RESULT inline PropertyAttributes GetAttributes( |
- Handle<JSObject> holder, |
- uint32_t key) { |
- return GetAttributes(holder, key, handle(holder->elements())); |
+ inline PropertyAttributes GetAttributes(Handle<JSObject> holder, |
+ uint32_t key) { |
+ return GetAttributes(*holder, key, holder->elements()); |
} |
// Returns an element's accessors, or NULL if the element does not exist or |
@@ -82,14 +73,12 @@ class ElementsAccessor { |
// can optionally pass in the backing store to use for the check, which must |
// be compatible with the ElementsKind of the ElementsAccessor. If |
// backing_store is NULL, the holder->elements() is used as the backing store. |
- MUST_USE_RESULT virtual MaybeHandle<AccessorPair> GetAccessorPair( |
- Handle<JSObject> holder, |
- uint32_t key, |
+ virtual MaybeHandle<AccessorPair> GetAccessorPair( |
+ Handle<JSObject> holder, uint32_t key, |
Handle<FixedArrayBase> backing_store) = 0; |
- MUST_USE_RESULT inline MaybeHandle<AccessorPair> GetAccessorPair( |
- Handle<JSObject> holder, |
- uint32_t key) { |
+ inline MaybeHandle<AccessorPair> GetAccessorPair(Handle<JSObject> holder, |
+ uint32_t key) { |
return GetAccessorPair(holder, key, handle(holder->elements())); |
} |
@@ -158,7 +147,7 @@ class ElementsAccessor { |
*from_holder, 0, from_kind, to, 0, kCopyToEndAndInitializeToHole); |
} |
- MUST_USE_RESULT virtual MaybeHandle<FixedArray> AddElementsToFixedArray( |
+ virtual Handle<FixedArray> AddElementsToFixedArray( |
Handle<JSObject> receiver, Handle<FixedArray> to, |
FixedArray::KeyFilter filter) = 0; |
@@ -196,6 +185,7 @@ class ElementsAccessor { |
uint32_t key) = 0; |
virtual PropertyDetails GetDetails(FixedArrayBase* backing_store, |
uint32_t index) = 0; |
+ virtual bool HasIndex(FixedArrayBase* backing_store, uint32_t key) = 0; |
private: |
static ElementsAccessor** elements_accessors_; |