Index: src/stub-cache.cc |
diff --git a/src/stub-cache.cc b/src/stub-cache.cc |
index 38f1960594e400960903ab4588d6c27e971c5d56..11fe01ce1a6b343594857b714c8e51c078c27f21 100644 |
--- a/src/stub-cache.cc |
+++ b/src/stub-cache.cc |
@@ -810,24 +810,25 @@ void StubCache::CollectMatchingMaps(SmallMapList* types, |
RUNTIME_FUNCTION(MaybeObject*, StoreCallbackProperty) { |
- JSObject* recv = JSObject::cast(args[0]); |
- ExecutableAccessorInfo* callback = ExecutableAccessorInfo::cast(args[1]); |
+ JSObject* receiver = JSObject::cast(args[0]); |
+ JSObject* holder = JSObject::cast(args[1]); |
+ ExecutableAccessorInfo* callback = ExecutableAccessorInfo::cast(args[2]); |
Address setter_address = v8::ToCData<Address>(callback->setter()); |
v8::AccessorSetterCallback fun = |
FUNCTION_CAST<v8::AccessorSetterCallback>(setter_address); |
ASSERT(fun != NULL); |
- ASSERT(callback->IsCompatibleReceiver(recv)); |
- Handle<Name> name = args.at<Name>(2); |
- Handle<Object> value = args.at<Object>(3); |
+ ASSERT(callback->IsCompatibleReceiver(receiver)); |
+ Handle<Name> name = args.at<Name>(3); |
+ Handle<Object> value = args.at<Object>(4); |
HandleScope scope(isolate); |
// TODO(rossberg): Support symbols in the API. |
if (name->IsSymbol()) return *value; |
Handle<String> str = Handle<String>::cast(name); |
- LOG(isolate, ApiNamedPropertyAccess("store", recv, *name)); |
+ LOG(isolate, ApiNamedPropertyAccess("store", receiver, *name)); |
PropertyCallbackArguments |
- custom_args(isolate, callback->data(), recv, recv); |
+ custom_args(isolate, callback->data(), receiver, holder); |
custom_args.Call(fun, v8::Utils::ToLocal(str), v8::Utils::ToLocal(value)); |
RETURN_IF_SCHEDULED_EXCEPTION(isolate); |
return *value; |