Index: src/ic.cc |
diff --git a/src/ic.cc b/src/ic.cc |
index 193ec1603e4024ee5f0dce3b23411c952728e378..39d6b1cc8c769ff67485748d5f74954b6453e777 100644 |
--- a/src/ic.cc |
+++ b/src/ic.cc |
@@ -1936,8 +1936,13 @@ MaybeObject* KeyedStoreIC::Store(Handle<Object> object, |
Handle<Object> value, |
ICMissMode miss_mode) { |
if (MigrateDeprecated(object)) { |
- return Runtime::SetObjectPropertyOrFail( |
- isolate(), object , key, value, NONE, strict_mode()); |
+ Handle<Object> result = Runtime::SetObjectProperty(isolate(), object, |
+ key, |
+ value, |
+ NONE, |
+ strict_mode()); |
+ RETURN_IF_EMPTY_HANDLE(isolate(), result); |
+ return *result; |
} |
// Check for values that can be converted into an internalized string directly |
@@ -2002,8 +2007,12 @@ MaybeObject* KeyedStoreIC::Store(Handle<Object> object, |
} |
if (maybe_object) return maybe_object; |
- return Runtime::SetObjectPropertyOrFail( |
- isolate(), object , key, value, NONE, strict_mode()); |
+ Handle<Object> result = Runtime::SetObjectProperty(isolate(), object, key, |
+ value, |
+ NONE, |
+ strict_mode()); |
+ RETURN_IF_EMPTY_HANDLE(isolate(), result); |
+ return *result; |
} |
@@ -2234,12 +2243,12 @@ RUNTIME_FUNCTION(MaybeObject*, StoreIC_Slow) { |
Handle<Object> key = args.at<Object>(1); |
Handle<Object> value = args.at<Object>(2); |
StrictModeFlag strict_mode = ic.strict_mode(); |
- return Runtime::SetObjectProperty(isolate, |
- object, |
- key, |
- value, |
- NONE, |
- strict_mode); |
+ Handle<Object> result = Runtime::SetObjectProperty(isolate, object, key, |
+ value, |
+ NONE, |
+ strict_mode); |
+ RETURN_IF_EMPTY_HANDLE(isolate, result); |
+ return *result; |
} |
@@ -2251,12 +2260,12 @@ RUNTIME_FUNCTION(MaybeObject*, KeyedStoreIC_Slow) { |
Handle<Object> key = args.at<Object>(1); |
Handle<Object> value = args.at<Object>(2); |
StrictModeFlag strict_mode = ic.strict_mode(); |
- return Runtime::SetObjectProperty(isolate, |
- object, |
- key, |
- value, |
- NONE, |
- strict_mode); |
+ Handle<Object> result = Runtime::SetObjectProperty(isolate, object, key, |
+ value, |
+ NONE, |
+ strict_mode); |
+ RETURN_IF_EMPTY_HANDLE(isolate, result); |
+ return *result; |
} |
@@ -2284,12 +2293,12 @@ RUNTIME_FUNCTION(MaybeObject*, ElementsTransitionAndStoreIC_Miss) { |
JSObject::TransitionElementsKind(Handle<JSObject>::cast(object), |
map->elements_kind()); |
} |
- return Runtime::SetObjectProperty(isolate, |
- object, |
- key, |
- value, |
- NONE, |
- strict_mode); |
+ Handle<Object> result = Runtime::SetObjectProperty(isolate, object, key, |
+ value, |
+ NONE, |
+ strict_mode); |
+ RETURN_IF_EMPTY_HANDLE(isolate, result); |
+ return *result; |
} |