| Index: src/runtime/runtime-object.cc
|
| diff --git a/src/runtime/runtime-object.cc b/src/runtime/runtime-object.cc
|
| index c509705107ca06eea45fb41e308b1379a239f5ae..0385566c31502c3a0067c99ee7f3a65f101cdc54 100644
|
| --- a/src/runtime/runtime-object.cc
|
| +++ b/src/runtime/runtime-object.cc
|
| @@ -183,9 +183,15 @@ RUNTIME_FUNCTION(Runtime_SetPrototype) {
|
| DCHECK(args.length() == 2);
|
| CONVERT_ARG_HANDLE_CHECKED(JSReceiver, obj, 0);
|
| CONVERT_ARG_HANDLE_CHECKED(Object, prototype, 1);
|
| - MAYBE_RETURN(
|
| - JSReceiver::SetPrototype(obj, prototype, true, Object::THROW_ON_ERROR),
|
| - isolate->heap()->exception());
|
| +
|
| + Maybe<bool> status =
|
| + JSReceiver::SetPrototype(obj, prototype, true, Object::THROW_ON_ERROR);
|
| + if (status.IsNothing()) return isolate->heap()->exception();
|
| + if (!status.FromJust()) {
|
| + THROW_NEW_ERROR_RETURN_FAILURE(
|
| + isolate, NewTypeError(MessageTemplate::kObjectSetPrototypeFailed, obj,
|
| + prototype));
|
| + }
|
| return *obj;
|
| }
|
|
|
|
|