Index: src/elements.cc |
diff --git a/src/elements.cc b/src/elements.cc |
index abb046725c8a0923e2ccd45aaf9826ebb9eb0453..93f9c884d4cd8ae2987b6a40acc58f7708e25732 100644 |
--- a/src/elements.cc |
+++ b/src/elements.cc |
@@ -659,21 +659,17 @@ class ElementsAccessorBase : public ElementsAccessor { |
? ABSENT : NONE; |
} |
- MUST_USE_RESULT virtual MaybeHandle<AccessorPair> GetAccessorPair( |
- Handle<Object> receiver, |
- Handle<JSObject> holder, |
- uint32_t key, |
+ MUST_USE_RESULT virtual MaybeHandle<Object> GetStructure( |
+ Handle<Object> receiver, Handle<JSObject> holder, uint32_t key, |
Handle<FixedArrayBase> backing_store) FINAL OVERRIDE { |
- return ElementsAccessorSubclass::GetAccessorPairImpl( |
- receiver, holder, key, backing_store); |
+ return ElementsAccessorSubclass::GetStructureImpl(receiver, holder, key, |
+ backing_store); |
} |
- MUST_USE_RESULT static MaybeHandle<AccessorPair> GetAccessorPairImpl( |
- Handle<Object> receiver, |
- Handle<JSObject> obj, |
- uint32_t key, |
+ MUST_USE_RESULT static MaybeHandle<Object> GetStructureImpl( |
+ Handle<Object> receiver, Handle<JSObject> obj, uint32_t key, |
Handle<FixedArrayBase> backing_store) { |
- return MaybeHandle<AccessorPair>(); |
+ return MaybeHandle<Object>(); |
} |
MUST_USE_RESULT virtual MaybeHandle<Object> SetLength( |
@@ -1514,20 +1510,17 @@ class DictionaryElementsAccessor |
return ABSENT; |
} |
- MUST_USE_RESULT static MaybeHandle<AccessorPair> GetAccessorPairImpl( |
- Handle<Object> receiver, |
- Handle<JSObject> obj, |
- uint32_t key, |
+ MUST_USE_RESULT static MaybeHandle<Object> GetStructureImpl( |
+ Handle<Object> receiver, Handle<JSObject> obj, uint32_t key, |
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 handle(AccessorPair::cast(backing_store->ValueAt(entry))); |
+ backing_store->DetailsAt(entry).type() == CALLBACKS) { |
+ return handle(backing_store->ValueAt(entry), obj->GetIsolate()); |
} |
- return MaybeHandle<AccessorPair>(); |
+ return MaybeHandle<Object>(); |
} |
static bool HasElementImpl(Handle<Object> receiver, |
@@ -1618,20 +1611,18 @@ class SloppyArgumentsElementsAccessor : public ElementsAccessorBase< |
} |
} |
- MUST_USE_RESULT static MaybeHandle<AccessorPair> GetAccessorPairImpl( |
- Handle<Object> receiver, |
- Handle<JSObject> obj, |
- uint32_t key, |
+ MUST_USE_RESULT static MaybeHandle<Object> GetStructureImpl( |
+ Handle<Object> receiver, Handle<JSObject> obj, uint32_t key, |
Handle<FixedArrayBase> parameters) { |
Handle<FixedArray> parameter_map = Handle<FixedArray>::cast(parameters); |
Handle<Object> probe = GetParameterMapArg(obj, parameter_map, key); |
if (!probe->IsTheHole()) { |
- return MaybeHandle<AccessorPair>(); |
+ return MaybeHandle<Object>(); |
} else { |
// If not aliased, check the arguments. |
Handle<FixedArray> arguments(FixedArray::cast(parameter_map->get(1))); |
- return ElementsAccessor::ForArray(arguments)->GetAccessorPair( |
- receiver, obj, key, arguments); |
+ return ElementsAccessor::ForArray(arguments) |
+ ->GetStructure(receiver, obj, key, arguments); |
} |
} |