Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(117)

Unified Diff: src/elements.cc

Issue 939933002: Remove receiver as parameter to Get/Has Element in the accessors. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/elements.h ('k') | src/objects.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/elements.cc
diff --git a/src/elements.cc b/src/elements.cc
index 4ed58d8db79a4507bb0f3ec278ac615b29fe32c8..cd7ba984af092c426fe539a4260681912208e251 100644
--- a/src/elements.cc
+++ b/src/elements.cc
@@ -587,19 +587,15 @@ class ElementsAccessorBase : public ElementsAccessor {
ElementsAccessorSubclass::ValidateImpl(holder);
}
- static bool HasElementImpl(Handle<Object> receiver,
- Handle<JSObject> holder,
- uint32_t key,
+ static bool HasElementImpl(Handle<JSObject> holder, uint32_t key,
Handle<FixedArrayBase> backing_store) {
- return ElementsAccessorSubclass::GetAttributesImpl(
- receiver, holder, key, backing_store) != ABSENT;
+ return ElementsAccessorSubclass::GetAttributesImpl(holder, key,
+ backing_store) != ABSENT;
}
- virtual bool HasElement(Handle<Object> receiver, Handle<JSObject> holder,
- uint32_t key,
+ virtual bool HasElement(Handle<JSObject> holder, uint32_t key,
Handle<FixedArrayBase> backing_store) FINAL {
- return ElementsAccessorSubclass::HasElementImpl(
- receiver, holder, key, backing_store);
+ return ElementsAccessorSubclass::HasElementImpl(holder, key, backing_store);
}
MUST_USE_RESULT virtual MaybeHandle<Object> Get(
@@ -632,14 +628,13 @@ class ElementsAccessorBase : public ElementsAccessor {
}
MUST_USE_RESULT virtual PropertyAttributes GetAttributes(
- Handle<Object> receiver, Handle<JSObject> holder, uint32_t key,
+ Handle<JSObject> holder, uint32_t key,
Handle<FixedArrayBase> backing_store) FINAL {
- return ElementsAccessorSubclass::GetAttributesImpl(
- receiver, holder, key, backing_store);
+ return ElementsAccessorSubclass::GetAttributesImpl(holder, key,
+ backing_store);
}
MUST_USE_RESULT static PropertyAttributes GetAttributesImpl(
- Handle<Object> receiver,
Handle<JSObject> obj,
uint32_t key,
Handle<FixedArrayBase> backing_store) {
@@ -652,14 +647,13 @@ class ElementsAccessorBase : public ElementsAccessor {
}
MUST_USE_RESULT virtual MaybeHandle<AccessorPair> GetAccessorPair(
- Handle<Object> receiver, Handle<JSObject> holder, uint32_t key,
+ Handle<JSObject> holder, uint32_t key,
Handle<FixedArrayBase> backing_store) FINAL {
- return ElementsAccessorSubclass::GetAccessorPairImpl(
- receiver, holder, key, backing_store);
+ return ElementsAccessorSubclass::GetAccessorPairImpl(holder, key,
+ backing_store);
}
MUST_USE_RESULT static MaybeHandle<AccessorPair> GetAccessorPairImpl(
- Handle<Object> receiver,
Handle<JSObject> obj,
uint32_t key,
Handle<FixedArrayBase> backing_store) {
@@ -766,8 +760,7 @@ class ElementsAccessorBase : public ElementsAccessor {
uint32_t extra = 0;
for (uint32_t y = 0; y < len1; y++) {
uint32_t key = ElementsAccessorSubclass::GetKeyForIndexImpl(from, y);
- if (ElementsAccessorSubclass::HasElementImpl(
- receiver, holder, key, from)) {
+ if (ElementsAccessorSubclass::HasElementImpl(holder, key, from)) {
Handle<Object> value;
ASSIGN_RETURN_ON_EXCEPTION(
isolate, value,
@@ -804,8 +797,7 @@ class ElementsAccessorBase : public ElementsAccessor {
for (uint32_t y = 0; y < len1; y++) {
uint32_t key =
ElementsAccessorSubclass::GetKeyForIndexImpl(from, y);
- if (ElementsAccessorSubclass::HasElementImpl(
- receiver, holder, key, from)) {
+ if (ElementsAccessorSubclass::HasElementImpl(holder, key, from)) {
Handle<Object> value;
ASSIGN_RETURN_ON_EXCEPTION(
isolate, value,
@@ -978,7 +970,6 @@ class FastElementsAccessor
}
static bool HasElementImpl(
- Handle<Object> receiver,
Handle<JSObject> holder,
uint32_t key,
Handle<FixedArrayBase> backing_store) {
@@ -1277,7 +1268,6 @@ class TypedElementsAccessor
}
MUST_USE_RESULT static PropertyAttributes GetAttributesImpl(
- Handle<Object> receiver,
Handle<JSObject> obj,
uint32_t key,
Handle<FixedArrayBase> backing_store) {
@@ -1301,9 +1291,7 @@ class TypedElementsAccessor
return obj->GetIsolate()->factory()->true_value();
}
- static bool HasElementImpl(Handle<Object> receiver,
- Handle<JSObject> holder,
- uint32_t key,
+ static bool HasElementImpl(Handle<JSObject> holder, uint32_t key,
Handle<FixedArrayBase> backing_store) {
uint32_t capacity =
AccessorClass::GetCapacityImpl(backing_store);
@@ -1473,7 +1461,6 @@ class DictionaryElementsAccessor
}
MUST_USE_RESULT static PropertyAttributes GetAttributesImpl(
- Handle<Object> receiver,
Handle<JSObject> obj,
uint32_t key,
Handle<FixedArrayBase> backing_store) {
@@ -1487,7 +1474,6 @@ class DictionaryElementsAccessor
}
MUST_USE_RESULT static MaybeHandle<AccessorPair> GetAccessorPairImpl(
- Handle<Object> receiver,
Handle<JSObject> obj,
uint32_t key,
Handle<FixedArrayBase> store) {
@@ -1502,9 +1488,7 @@ class DictionaryElementsAccessor
return MaybeHandle<AccessorPair>();
}
- static bool HasElementImpl(Handle<Object> receiver,
- Handle<JSObject> holder,
- uint32_t key,
+ static bool HasElementImpl(Handle<JSObject> holder, uint32_t key,
Handle<FixedArrayBase> store) {
Handle<SeededNumberDictionary> backing_store =
Handle<SeededNumberDictionary>::cast(store);
@@ -1574,7 +1558,6 @@ class SloppyArgumentsElementsAccessor : public ElementsAccessorBase<
}
MUST_USE_RESULT static PropertyAttributes GetAttributesImpl(
- Handle<Object> receiver,
Handle<JSObject> obj,
uint32_t key,
Handle<FixedArrayBase> backing_store) {
@@ -1585,13 +1568,12 @@ class SloppyArgumentsElementsAccessor : public ElementsAccessorBase<
} else {
// If not aliased, check the arguments.
Handle<FixedArray> arguments(FixedArray::cast(parameter_map->get(1)));
- return ElementsAccessor::ForArray(arguments)->GetAttributes(
- receiver, obj, key, arguments);
+ return ElementsAccessor::ForArray(arguments)
+ ->GetAttributes(obj, key, arguments);
}
}
MUST_USE_RESULT static MaybeHandle<AccessorPair> GetAccessorPairImpl(
- Handle<Object> receiver,
Handle<JSObject> obj,
uint32_t key,
Handle<FixedArrayBase> parameters) {
@@ -1602,8 +1584,8 @@ class SloppyArgumentsElementsAccessor : public ElementsAccessorBase<
} 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)
+ ->GetAccessorPair(obj, key, arguments);
}
}
@@ -1663,28 +1645,6 @@ class SloppyArgumentsElementsAccessor : public ElementsAccessorBase<
return index;
}
- static bool HasElementImpl(Handle<Object> receiver,
- Handle<JSObject> holder,
- uint32_t key,
- Handle<FixedArrayBase> parameters) {
- Handle<FixedArray> parameter_map = Handle<FixedArray>::cast(parameters);
- Handle<Object> probe = GetParameterMapArg(holder, parameter_map, key);
- if (!probe->IsTheHole()) {
- return true;
- } else {
- Isolate* isolate = holder->GetIsolate();
- Handle<FixedArrayBase> arguments(FixedArrayBase::cast(
- Handle<FixedArray>::cast(parameter_map)->get(1)), isolate);
- ElementsAccessor* accessor = ElementsAccessor::ForArray(arguments);
- Handle<Object> value;
- ASSIGN_RETURN_ON_EXCEPTION_VALUE(
- isolate, value,
- accessor->Get(receiver, holder, key, arguments),
- false);
- return !value->IsTheHole();
- }
- }
-
private:
static Handle<Object> GetParameterMapArg(Handle<JSObject> holder,
Handle<FixedArray> parameter_map,
« no previous file with comments | « src/elements.h ('k') | src/objects.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698