| Index: src/runtime.cc | 
| diff --git a/src/runtime.cc b/src/runtime.cc | 
| index 7c240e25de2b333c54bfb9ee8a6f1699c153b2f6..0ffdcf0e3e25f31258fdca253e0ff589b2f6205f 100644 | 
| --- a/src/runtime.cc | 
| +++ b/src/runtime.cc | 
| @@ -5037,11 +5037,15 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DefineOrRedefineDataProperty) { | 
| // TODO(mstarzinger): So far this only works if property attributes don't | 
| // change, this should be fixed once we cleanup the underlying code. | 
| if (callback->IsForeign() && result.GetAttributes() == attr) { | 
| -      return js_object->SetPropertyWithCallback(callback, | 
| -                                                *name, | 
| -                                                *obj_value, | 
| -                                                result.holder(), | 
| -                                                kStrictMode); | 
| +      Handle<Object> result_object = | 
| +          JSObject::SetPropertyWithCallback(js_object, | 
| +                                            handle(callback, isolate), | 
| +                                            name, | 
| +                                            obj_value, | 
| +                                            handle(result.holder()), | 
| +                                            kStrictMode); | 
| +      RETURN_IF_EMPTY_HANDLE(isolate, result_object); | 
| +      return *result_object; | 
| } | 
| } | 
|  | 
|  |