| Index: src/runtime/runtime-object.cc
|
| diff --git a/src/runtime/runtime-object.cc b/src/runtime/runtime-object.cc
|
| index 707b05e57b756ccffc0b9ba422b0f2c0b1fde14a..f75f02e92b0d3dd3d094179413e16e868464cb16 100644
|
| --- a/src/runtime/runtime-object.cc
|
| +++ b/src/runtime/runtime-object.cc
|
| @@ -182,9 +182,14 @@ 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::kProxyHandlerNonObject));
|
| + }
|
| return *obj;
|
| }
|
|
|
|
|