@@ -310,6 +310,7 @@ RUNTIME_FUNCTION(Runtime_DebugGetPropertyDetails) {
310310
311311 DCHECK (args.length () == 2 );
312312
313+ if (args[0 ]->IsJSProxy ()) return isolate->heap ()->undefined_value ();
313314 CONVERT_ARG_HANDLE_CHECKED (JSObject, obj, 0 );
314315 CONVERT_ARG_HANDLE_CHECKED (Name, name, 1 );
315316
@@ -382,6 +383,7 @@ RUNTIME_FUNCTION(Runtime_DebugGetProperty) {
382383
383384 DCHECK (args.length () == 2 );
384385
386+ if (args[0 ]->IsJSProxy ()) return isolate->heap ()->undefined_value ();
385387 CONVERT_ARG_HANDLE_CHECKED (JSObject, obj, 0 );
386388 CONVERT_ARG_HANDLE_CHECKED (Name, name, 1 );
387389
@@ -1318,6 +1320,7 @@ static bool HasInPrototypeChainIgnoringProxies(Isolate* isolate,
13181320RUNTIME_FUNCTION (Runtime_DebugReferencedBy) {
13191321 HandleScope scope (isolate);
13201322 DCHECK (args.length () == 3 );
1323+ if (!args[0 ]->IsJSObject ()) return *isolate->factory ()->NewJSArray (0 );
13211324 CONVERT_ARG_HANDLE_CHECKED (JSObject, target, 0 );
13221325 CONVERT_ARG_HANDLE_CHECKED (Object, filter, 1 );
13231326 RUNTIME_ASSERT (filter->IsUndefined () || filter->IsJSObject ());
@@ -1408,6 +1411,7 @@ RUNTIME_FUNCTION(Runtime_DebugConstructedBy) {
14081411RUNTIME_FUNCTION (Runtime_DebugGetPrototype) {
14091412 HandleScope shs (isolate);
14101413 DCHECK (args.length () == 1 );
1414+ if (args[0 ]->IsJSProxy ()) return isolate->heap ()->undefined_value ();
14111415 CONVERT_ARG_HANDLE_CHECKED (JSObject, obj, 0 );
14121416 Handle<Object> prototype;
14131417 // TODO(1543): Come up with a solution for clients to handle potential errors
0 commit comments