| Index: src/runtime/runtime-object.cc
|
| diff --git a/src/runtime/runtime-object.cc b/src/runtime/runtime-object.cc
|
| index 6287c98f3eb00e43a783a9df1edfe6d59301c246..2098c1cea933edce48ef63ed72116e377eace8b1 100644
|
| --- a/src/runtime/runtime-object.cc
|
| +++ b/src/runtime/runtime-object.cc
|
| @@ -175,8 +175,10 @@ MaybeHandle<Object> Runtime::SetObjectProperty(Isolate* isolate,
|
| }
|
|
|
|
|
| -MaybeHandle<Object> Runtime::GetPrototype(Isolate* isolate,
|
| - Handle<Object> obj) {
|
| +RUNTIME_FUNCTION(Runtime_GetPrototype) {
|
| + HandleScope scope(isolate);
|
| + DCHECK(args.length() == 1);
|
| + CONVERT_ARG_HANDLE_CHECKED(Object, obj, 0);
|
| // We don't expect access checks to be needed on JSProxy objects.
|
| DCHECK(!obj->IsAccessCheckNeeded() || obj->IsJSObject());
|
| PrototypeIterator iter(isolate, obj, PrototypeIterator::START_AT_RECEIVER);
|
| @@ -184,25 +186,14 @@ MaybeHandle<Object> Runtime::GetPrototype(Isolate* isolate,
|
| if (PrototypeIterator::GetCurrent(iter)->IsAccessCheckNeeded() &&
|
| !isolate->MayAccess(
|
| Handle<JSObject>::cast(PrototypeIterator::GetCurrent(iter)))) {
|
| - return isolate->factory()->null_value();
|
| + return isolate->heap()->null_value();
|
| }
|
| iter.AdvanceIgnoringProxies();
|
| if (PrototypeIterator::GetCurrent(iter)->IsJSProxy()) {
|
| - return PrototypeIterator::GetCurrent(iter);
|
| + return *PrototypeIterator::GetCurrent(iter);
|
| }
|
| } while (!iter.IsAtEnd(PrototypeIterator::END_AT_NON_HIDDEN));
|
| - return PrototypeIterator::GetCurrent(iter);
|
| -}
|
| -
|
| -
|
| -RUNTIME_FUNCTION(Runtime_GetPrototype) {
|
| - HandleScope scope(isolate);
|
| - DCHECK(args.length() == 1);
|
| - CONVERT_ARG_HANDLE_CHECKED(Object, obj, 0);
|
| - Handle<Object> result;
|
| - ASSIGN_RETURN_FAILURE_ON_EXCEPTION(isolate, result,
|
| - Runtime::GetPrototype(isolate, obj));
|
| - return *result;
|
| + return *PrototypeIterator::GetCurrent(iter);
|
| }
|
|
|
|
|
|
|