// Copyright 2015 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "src/execution/isolate-inl.h" #include "src/heap/factory.h" #include "src/heap/heap-inl.h" // For ToBoolean. TODO(jkummerow): Drop. #include "src/objects/keys.h" #include "src/objects/module.h" #include "src/objects/objects-inl.h" namespace v8 { namespace internal { namespace { // Returns either a FixedArray or, if the given {receiver} has an enum cache // that contains all enumerable properties of the {receiver} and its prototypes // have none, the map of the {receiver}. This is used to speed up the check for // deletions during a for-in. MaybeHandle<HeapObject> Enumerate(Isolate* isolate, Handle<JSReceiver> receiver) { … } // This is a slight modification of JSReceiver::HasProperty, dealing with // the oddities of JSProxy and JSModuleNamespace in for-in filter. MaybeHandle<Object> HasEnumerableProperty(Isolate* isolate, Handle<JSReceiver> receiver, Handle<Object> key) { … } } // namespace RUNTIME_FUNCTION(Runtime_ForInEnumerate) { … } RUNTIME_FUNCTION(Runtime_ForInHasProperty) { … } } // namespace internal } // namespace v8