libraries/v8/runtime.cc
// Returns either a FixedArray as Runtime_GetPropertyNames,
// or, if the given object has an enum cache that contains
// all enumerable properties of the object and its prototypes
// have none, the map of the object. This is used to speed up
// the check for deletions during a for-in.
Returns either a FixedArray as Runtime_GetPropertyNames,
or, if the given object has an enum cache that contains
all enumerable properties of the object and its prototypes
have none, the map of the object. This is used to speed up
the check for deletions during a for-in.
Returns either a FixedArray as Runtime_GetPropertyNames or if the given object has an enum cache that contains all enumerable properties of the object and its prototypes have none the map of the object . This is used to speed up the check for deletions during a for - in .
RUNTIME_FUNCTION(MaybeObject*, Runtime_GetPropertyNamesFast) {
  SealHandleScope shs(isolate);
  ASSERT(args.length() == 1);
  CONVERT_ARG_CHECKED(JSReceiver, raw_object, 0);
  if (raw_object->IsSimpleEnum()) return raw_object->map();
  HandleScope scope(isolate);
  Handle<JSReceiver> object(raw_object);
  bool threw = false;
  Handle<FixedArray> content =
      GetKeysInFixedArrayFor(object, INCLUDE_PROTOS, &threw);
  if (threw) return Failure::Exception();
  if (object->IsSimpleEnum()) return object->map();
  return *content;
}
RUNTIME_FUNCTION ( MaybeObject * , Runtime_GetPropertyNamesFast ) { SealHandleScope shs ( isolate ) ; ASSERT ( args . length ( ) == 1 ) ; CONVERT_ARG_CHECKED ( JSReceiver , raw_object , 0 ) ; if ( raw_object -> IsSimpleEnum ( ) ) return raw_object -> map ( ) ; HandleScope scope ( isolate ) ; Handle < JSReceiver > object ( raw_object ) ; bool threw = false ; Handle < FixedArray > content = GetKeysInFixedArrayFor ( object , INCLUDE_PROTOS , & threw ) ; if ( threw ) return Failure :: Exception ( ) ; if ( object -> IsSimpleEnum ( ) ) return object -> map ( ) ; return * content ; }
Returns either a FixedArray as Runtime_GetPropertyNames,
or, if the given object has an enum cache that contains
all enumerable properties of the object and its prototypes
have none, the map of the object.
Returns either a FixedArray as Runtime_GetPropertyNames or if the given object has an enum cache that contains all enumerable properties of the object and its prototypes have none the map of the object .
// Test again, since cache may have been built by preceding call.