Index: src/elements.cc |
diff --git a/src/elements.cc b/src/elements.cc |
index f0375acc2ab60ee076179fc508eeb8eedd8115dd..c9a0298dcaedef1d3c168bae121bdfd2df7713d0 100644 |
--- a/src/elements.cc |
+++ b/src/elements.cc |
@@ -732,24 +732,21 @@ class ElementsAccessorBase : public ElementsAccessor { |
? NONEXISTENT : FIELD; |
} |
- MUST_USE_RESULT virtual AccessorPair* GetAccessorPair( |
- Object* receiver, |
- JSObject* holder, |
+ MUST_USE_RESULT virtual MaybeHandle<AccessorPair> GetAccessorPair( |
+ Handle<Object> receiver, |
+ Handle<JSObject> holder, |
uint32_t key, |
- FixedArrayBase* backing_store) V8_FINAL V8_OVERRIDE { |
- if (backing_store == NULL) { |
- backing_store = holder->elements(); |
- } |
+ Handle<FixedArrayBase> backing_store) V8_FINAL V8_OVERRIDE { |
return ElementsAccessorSubclass::GetAccessorPairImpl( |
receiver, holder, key, backing_store); |
} |
- MUST_USE_RESULT static AccessorPair* GetAccessorPairImpl( |
- Object* receiver, |
- JSObject* obj, |
- uint32_t key, |
- FixedArrayBase* backing_store) { |
- return NULL; |
+ MUST_USE_RESULT static MaybeHandle<AccessorPair> GetAccessorPairImpl( |
+ Handle<Object> receiver, |
+ Handle<JSObject> obj, |
+ uint32_t key, |
+ Handle<FixedArrayBase> backing_store) { |
+ return MaybeHandle<AccessorPair>(); |
} |
MUST_USE_RESULT virtual Handle<Object> SetLength( |
@@ -1655,19 +1652,20 @@ class DictionaryElementsAccessor |
return NONEXISTENT; |
} |
- MUST_USE_RESULT static AccessorPair* GetAccessorPairImpl( |
- Object* receiver, |
- JSObject* obj, |
+ MUST_USE_RESULT static MaybeHandle<AccessorPair> GetAccessorPairImpl( |
+ Handle<Object> receiver, |
+ Handle<JSObject> obj, |
uint32_t key, |
- FixedArrayBase* store) { |
- SeededNumberDictionary* backing_store = SeededNumberDictionary::cast(store); |
+ Handle<FixedArrayBase> store) { |
+ Handle<SeededNumberDictionary> backing_store = |
+ Handle<SeededNumberDictionary>::cast(store); |
int entry = backing_store->FindEntry(key); |
if (entry != SeededNumberDictionary::kNotFound && |
backing_store->DetailsAt(entry).type() == CALLBACKS && |
backing_store->ValueAt(entry)->IsAccessorPair()) { |
- return AccessorPair::cast(backing_store->ValueAt(entry)); |
+ return handle(AccessorPair::cast(backing_store->ValueAt(entry))); |
} |
- return NULL; |
+ return MaybeHandle<AccessorPair>(); |
} |
static bool HasElementImpl(Object* receiver, |
@@ -1766,18 +1764,18 @@ class SloppyArgumentsElementsAccessor : public ElementsAccessorBase< |
} |
} |
- MUST_USE_RESULT static AccessorPair* GetAccessorPairImpl( |
- Object* receiver, |
- JSObject* obj, |
+ MUST_USE_RESULT static MaybeHandle<AccessorPair> GetAccessorPairImpl( |
+ Handle<Object> receiver, |
+ Handle<JSObject> obj, |
uint32_t key, |
- FixedArrayBase* parameters) { |
- FixedArray* parameter_map = FixedArray::cast(parameters); |
- Object* probe = GetParameterMapArg(obj, parameter_map, key); |
+ Handle<FixedArrayBase> parameters) { |
+ Handle<FixedArray> parameter_map = Handle<FixedArray>::cast(parameters); |
+ Handle<Object> probe = GetParameterMapArg(obj, parameter_map, key); |
if (!probe->IsTheHole()) { |
- return NULL; |
+ return MaybeHandle<AccessorPair>(); |
} else { |
// If not aliased, check the arguments. |
- FixedArray* arguments = FixedArray::cast(parameter_map->get(1)); |
+ Handle<FixedArray> arguments(FixedArray::cast(parameter_map->get(1))); |
return ElementsAccessor::ForArray(arguments)->GetAccessorPair( |
receiver, obj, key, arguments); |
} |