Index: src/stub-cache.cc |
diff --git a/src/stub-cache.cc b/src/stub-cache.cc |
index 480a17b6898706d78af54f8727b3805cdc7efd25..046382cffa0197c90777e97a6687a62f9ec3084b 100644 |
--- a/src/stub-cache.cc |
+++ b/src/stub-cache.cc |
@@ -932,16 +932,16 @@ RUNTIME_FUNCTION(MaybeObject*, LoadPropertyWithInterceptorForCall) { |
RUNTIME_FUNCTION(MaybeObject*, StoreInterceptorProperty) { |
HandleScope scope(isolate); |
- ASSERT(args.length() == 4); |
- Handle<JSObject> recv(JSObject::cast(args[0])); |
- Handle<Name> name(Name::cast(args[1])); |
- Handle<Object> value(args[2], isolate); |
- ASSERT(args.smi_at(3) == kStrictMode || args.smi_at(3) == kNonStrictMode); |
- StrictModeFlag strict_mode = static_cast<StrictModeFlag>(args.smi_at(3)); |
- ASSERT(recv->HasNamedInterceptor()); |
+ ASSERT(args.length() == 3); |
+ StoreIC ic(IC::NO_EXTRA_FRAME, isolate); |
+ |
+ Handle<JSObject> receiver = args.at<JSObject>(0); |
+ Handle<Name> name = args.at<Name>(1); |
+ Handle<Object> value = args.at<Object>(2); |
+ ASSERT(receiver->HasNamedInterceptor()); |
PropertyAttributes attr = NONE; |
Handle<Object> result = JSObject::SetPropertyWithInterceptor( |
- recv, name, value, attr, strict_mode); |
+ receiver, name, value, attr, ic.strict_mode()); |
RETURN_IF_EMPTY_HANDLE(isolate, result); |
return *result; |
} |