V8 Project
v8::internal::FixedArray Class Reference

#include <objects.h>

+ Inheritance diagram for v8::internal::FixedArray:
+ Collaboration diagram for v8::internal::FixedArray:

Classes

class  BodyDescriptor
 

Public Member Functions

Objectget (int index)
 
void set (int index, Object *value)
 
bool is_the_hole (int index)
 
void set (int index, Smi *value)
 
void set (int index, Object *value, WriteBarrierMode mode)
 
void set_undefined (int index)
 
void set_null (int index)
 
void set_the_hole (int index)
 
Object ** GetFirstElementAddress ()
 
bool ContainsOnlySmisOrHoles ()
 
Object ** data_start ()
 
void FillWithHoles (int from, int to)
 
void Shrink (int length)
 
void CopyTo (int pos, FixedArray *dest, int dest_pos, int len)
 
Object ** RawFieldOfElementAt (int index)
 
void SwapPairs (FixedArray *numbers, int i, int j)
 
void SortPairs (FixedArray *numbers, uint32_t len)
 
- Public Member Functions inherited from v8::internal::FixedArrayBase
int length () const
 
void set_length (int value)
 
int synchronized_length () const
 
void synchronized_set_length (int value)
 
- Public Member Functions inherited from v8::internal::HeapObject
Mapmap () const
 
void set_map (Map *value)
 
void set_map_no_write_barrier (Map *value)
 
Mapsynchronized_map ()
 
MapWord synchronized_map_word () const
 
void synchronized_set_map (Map *value)
 
void synchronized_set_map_no_write_barrier (Map *value)
 
void synchronized_set_map_word (MapWord map_word)
 
MapWord map_word () const
 
void set_map_word (MapWord map_word)
 
HeapGetHeap () const
 
IsolateGetIsolate () const
 
Address address ()
 
void Iterate (ObjectVisitor *v)
 
void IterateBody (InstanceType type, int object_size, ObjectVisitor *v)
 
int Size ()
 
bool MayContainRawValues ()
 
int SizeFromMap (Map *map)
 
WriteBarrierMode GetWriteBarrierMode (const DisallowHeapAllocation &promise)
 
void HeapObjectShortPrint (OStream &os)
 
 STATIC_ASSERT (kMapOffset==Internals::kHeapObjectMapOffset)
 
- Public Member Functions inherited from v8::internal::Object
bool IsObject () const
 
 INLINE (bool IsFixedArrayBase() const)
 
 INLINE (bool IsExternal() const)
 
 INLINE (bool IsAccessorInfo() const)
 
 INLINE (bool IsStruct() const)
 
 INLINE (bool IsSpecObject()) const
 
 INLINE (bool IsSpecFunction()) const
 
 INLINE (bool IsTemplateInfo()) const
 
 INLINE (bool IsNameDictionary() const)
 
 INLINE (bool IsSeededNumberDictionary() const)
 
 INLINE (bool IsUnseededNumberDictionary() const)
 
 INLINE (bool IsOrderedHashSet() const)
 
 INLINE (bool IsOrderedHashMap() const)
 
bool IsCallable () const
 
 INLINE (bool IsUndefined() const)
 
 INLINE (bool IsNull() const)
 
 INLINE (bool IsTheHole() const)
 
 INLINE (bool IsException() const)
 
 INLINE (bool IsUninitialized() const)
 
 INLINE (bool IsTrue() const)
 
 INLINE (bool IsFalse() const)
 
 INLINE (bool IsArgumentsMarker() const)
 
 INLINE (bool IsFiller() const)
 
double Number ()
 
 INLINE (bool IsNaN() const)
 
 INLINE (bool IsMinusZero() const)
 
bool ToInt32 (int32_t *value)
 
bool ToUint32 (uint32_t *value)
 
Representation OptimalRepresentation ()
 
bool FitsRepresentation (Representation representation)
 
Handle< HeapTypeOptimalType (Isolate *isolate, Representation representation)
 
bool HasValidElements ()
 
bool HasSpecificClassOf (String *name)
 
bool BooleanValue ()
 
ObjectGetHash ()
 
bool SameValue (Object *other)
 
bool SameValueZero (Object *other)
 
bool ToArrayIndex (uint32_t *index)
 
bool IsStringObjectWithCharacterAt (uint32_t index)
 
void VerifyApiCallResultType ()
 
void ShortPrint (FILE *out=stdout)
 
void ShortPrint (StringStream *accumulator)
 

Static Public Member Functions

static Handle< Objectget (Handle< FixedArray > array, int index)
 
static Handle< FixedArrayCopySize (Handle< FixedArray > array, int new_length, PretenureFlag pretenure=NOT_TENURED)
 
static MUST_USE_RESULT MaybeHandle< FixedArrayAddKeysFromArrayLike (Handle< FixedArray > content, Handle< JSObject > array)
 
static MUST_USE_RESULT MaybeHandle< FixedArrayUnionOfKeys (Handle< FixedArray > first, Handle< FixedArray > second)
 
static int SizeFor (int length)
 
static int OffsetOfElementAt (int index)
 
- Static Public Member Functions inherited from v8::internal::HeapObject
static HeapObjectFromAddress (Address address)
 
static Object ** RawField (HeapObject *obj, int offset)
 
static void UpdateMapCodeCache (Handle< HeapObject > object, Handle< Name > name, Handle< Code > code)
 
- Static Public Member Functions inherited from v8::internal::Object
static Handle< ObjectNewStorageFor (Isolate *isolate, Handle< Object > object, Representation representation)
 
static Handle< ObjectWrapForRead (Isolate *isolate, Handle< Object > object, Representation representation)
 
static MaybeHandle< JSReceiverToObject (Isolate *isolate, Handle< Object > object)
 
static MaybeHandle< JSReceiverToObject (Isolate *isolate, Handle< Object > object, Handle< Context > context)
 
static MUST_USE_RESULT MaybeHandle< SmiToSmi (Isolate *isolate, Handle< Object > object)
 
static MUST_USE_RESULT MaybeHandle< ObjectGetProperty (LookupIterator *it)
 
static MUST_USE_RESULT MaybeHandle< ObjectSetProperty (Handle< Object > object, Handle< Name > key, Handle< Object > value, StrictMode strict_mode, StoreFromKeyed store_mode=MAY_BE_STORE_FROM_KEYED)
 
static MUST_USE_RESULT MaybeHandle< ObjectSetProperty (LookupIterator *it, Handle< Object > value, StrictMode strict_mode, StoreFromKeyed store_mode, StorePropertyMode data_store_mode=NORMAL_PROPERTY)
 
static MUST_USE_RESULT MaybeHandle< ObjectWriteToReadOnlyProperty (LookupIterator *it, Handle< Object > value, StrictMode strict_mode)
 
static Handle< ObjectSetDataProperty (LookupIterator *it, Handle< Object > value)
 
static MUST_USE_RESULT MaybeHandle< ObjectAddDataProperty (LookupIterator *it, Handle< Object > value, PropertyAttributes attributes, StrictMode strict_mode, StoreFromKeyed store_mode)
 
static MUST_USE_RESULT MaybeHandle< ObjectGetPropertyOrElement (Handle< Object > object, Handle< Name > key)
 
static MUST_USE_RESULT MaybeHandle< ObjectGetProperty (Isolate *isolate, Handle< Object > object, const char *key)
 
static MUST_USE_RESULT MaybeHandle< ObjectGetProperty (Handle< Object > object, Handle< Name > key)
 
static MUST_USE_RESULT MaybeHandle< ObjectGetPropertyWithAccessor (Handle< Object > receiver, Handle< Name > name, Handle< JSObject > holder, Handle< Object > structure)
 
static MUST_USE_RESULT MaybeHandle< ObjectSetPropertyWithAccessor (Handle< Object > receiver, Handle< Name > name, Handle< Object > value, Handle< JSObject > holder, Handle< Object > structure, StrictMode strict_mode)
 
static MUST_USE_RESULT MaybeHandle< ObjectGetPropertyWithDefinedGetter (Handle< Object > receiver, Handle< JSReceiver > getter)
 
static MUST_USE_RESULT MaybeHandle< ObjectSetPropertyWithDefinedSetter (Handle< Object > receiver, Handle< JSReceiver > setter, Handle< Object > value)
 
static MUST_USE_RESULT MaybeHandle< ObjectGetElement (Isolate *isolate, Handle< Object > object, uint32_t index)
 
static MUST_USE_RESULT MaybeHandle< ObjectGetElementWithReceiver (Isolate *isolate, Handle< Object > object, Handle< Object > receiver, uint32_t index)
 
static Handle< SmiGetOrCreateHash (Isolate *isolate, Handle< Object > object)
 

Static Public Attributes

static const int kMaxSize = 128 * MB * kPointerSize
 
static const int kMaxLength = (kMaxSize - kHeaderSize) / kPointerSize
 
- Static Public Attributes inherited from v8::internal::FixedArrayBase
static const int kLengthOffset = HeapObject::kHeaderSize
 
static const int kHeaderSize = kLengthOffset + kPointerSize
 
- Static Public Attributes inherited from v8::internal::HeapObject
static const int kMapOffset = Object::kHeaderSize
 
static const int kHeaderSize = kMapOffset + kPointerSize
 
- Static Public Attributes inherited from v8::internal::Object
static const int kHeaderSize = 0
 

Static Protected Member Functions

static void NoWriteBarrierSet (FixedArray *array, int index, Object *value)
 
static void NoIncrementalWriteBarrierSet (FixedArray *array, int index, Object *value)
 

Private Member Functions

 STATIC_ASSERT (kHeaderSize==Internals::kFixedArrayHeaderSize)
 
 DISALLOW_IMPLICIT_CONSTRUCTORS (FixedArray)
 

Additional Inherited Members

- Public Types inherited from v8::internal::Object
enum  StoreFromKeyed { MAY_BE_STORE_FROM_KEYED , CERTAINLY_NOT_STORE_FROM_KEYED }
 
enum  StorePropertyMode { NORMAL_PROPERTY , SUPER_PROPERTY }
 
- Protected Member Functions inherited from v8::internal::HeapObject
void IteratePointers (ObjectVisitor *v, int start, int end)
 
void IteratePointer (ObjectVisitor *v, int offset)
 
void IterateNextCodeLink (ObjectVisitor *v, int offset)
 

Detailed Description

Definition at line 2402 of file objects.h.

Member Function Documentation

◆ AddKeysFromArrayLike()

MaybeHandle< FixedArray > v8::internal::FixedArray::AddKeysFromArrayLike ( Handle< FixedArray content,
Handle< JSObject array 
)
static

Definition at line 7699 of file objects.cc.

7701  {
7702  DCHECK(array->IsJSArray() || array->HasSloppyArgumentsElements());
7703  ElementsAccessor* accessor = array->GetElementsAccessor();
7704  Handle<FixedArray> result;
7706  array->GetIsolate(), result,
7707  accessor->AddElementsToFixedArray(array, array, content),
7708  FixedArray);
7709 
7710 #ifdef ENABLE_SLOW_DCHECKS
7712  DisallowHeapAllocation no_allocation;
7713  for (int i = 0; i < result->length(); i++) {
7714  Object* current = result->get(i);
7715  DCHECK(current->IsNumber() || current->IsName());
7716  }
7717  }
7718 #endif
7719  return result;
7720 }
#define ASSIGN_RETURN_ON_EXCEPTION(isolate, dst, call, T)
Definition: isolate.h:135
#define DCHECK(condition)
Definition: logging.h:205
PerThreadAssertScopeDebugOnly< HEAP_ALLOCATION_ASSERT, false > DisallowHeapAllocation
Definition: assert-scope.h:110
kSerializedDataOffset Object
Definition: objects-inl.h:5322
const bool FLAG_enable_slow_asserts
Definition: checks.h:31

References v8::internal::ElementsAccessor::AddElementsToFixedArray(), ASSIGN_RETURN_ON_EXCEPTION, DCHECK, and v8::internal::FLAG_enable_slow_asserts.

Referenced by v8::internal::JSReceiver::GetKeys().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ContainsOnlySmisOrHoles()

bool v8::internal::FixedArray::ContainsOnlySmisOrHoles ( )
inline

Definition at line 1544 of file objects-inl.h.

1544  {
1545  Object* the_hole = GetHeap()->the_hole_value();
1546  Object** current = GetFirstElementAddress();
1547  for (int i = 0; i < length(); ++i) {
1548  Object* candidate = *current++;
1549  if (!candidate->IsSmi() && candidate != the_hole) return false;
1550  }
1551  return true;
1552 }
Object ** GetFirstElementAddress()
Definition: objects-inl.h:1539
Heap * GetHeap() const
Definition: objects-inl.h:1379

References GetFirstElementAddress(), v8::internal::HeapObject::GetHeap(), and v8::internal::FixedArrayBase::length().

+ Here is the call graph for this function:

◆ CopySize()

Handle< FixedArray > v8::internal::FixedArray::CopySize ( Handle< FixedArray array,
int  new_length,
PretenureFlag  pretenure = NOT_TENURED 
)
static

Definition at line 7749 of file objects.cc.

7750  {
7751  Isolate* isolate = array->GetIsolate();
7752  if (new_length == 0) return isolate->factory()->empty_fixed_array();
7753  Handle<FixedArray> result =
7754  isolate->factory()->NewFixedArray(new_length, pretenure);
7755  // Copy the content
7756  DisallowHeapAllocation no_gc;
7757  int len = array->length();
7758  if (new_length < len) len = new_length;
7759  // We are taking the map from the old fixed array so the map is sure to
7760  // be an immortal immutable object.
7761  result->set_map_no_write_barrier(array->map());
7762  WriteBarrierMode mode = result->GetWriteBarrierMode(no_gc);
7763  for (int i = 0; i < len; i++) {
7764  result->set(i, array->get(i), mode);
7765  }
7766  return result;
7767 }
enable harmony numeric enable harmony object literal extensions Optimize object Array DOM strings and string trace pretenuring decisions of HAllocate instructions Enables optimizations which favor memory size over execution speed maximum source size in bytes considered for a single inlining maximum cumulative number of AST nodes considered for inlining trace the tracking of allocation sites deoptimize every n garbage collections perform array bounds checks elimination analyze liveness of environment slots and zap dead values flushes the cache of optimized code for closures on every GC allow uint32 values on optimize frames if they are used only in safe operations track concurrent recompilation artificial compilation delay in ms do not emit check maps for constant values that have a leaf deoptimize the optimized code if the layout of the maps changes enable context specialization in TurboFan execution budget before interrupt is triggered max percentage of megamorphic generic ICs to allow optimization enable use of SAHF instruction if enable use of VFP3 instructions if available enable use of NEON instructions if enable use of SDIV and UDIV instructions if enable use of MLS instructions if enable loading bit constant by means of movw movt instruction enable unaligned accesses for enable use of d16 d31 registers on ARM this requires VFP3 force all emitted branches to be in long mode(MIPS only)") DEFINE_BOOL(enable_always_align_csp

References v8::internal::Isolate::factory(), and mode().

Referenced by v8::internal::SharedFunctionInfo::AddToOptimizedCodeMap(), v8::EmbedderDataFor(), v8::internal::Isolate::EnqueueMicrotask(), v8::internal::DependentCode::Insert(), v8::internal::Map::PutPrototypeTransition(), and v8::internal::CodeCache::UpdateDefaultCache().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CopyTo()

void v8::internal::FixedArray::CopyTo ( int  pos,
FixedArray dest,
int  dest_pos,
int  len 
)

Definition at line 7770 of file objects.cc.

7770  {
7771  DisallowHeapAllocation no_gc;
7772  WriteBarrierMode mode = dest->GetWriteBarrierMode(no_gc);
7773  for (int index = 0; index < len; index++) {
7774  dest->set(dest_pos+index, get(pos+index), mode);
7775  }
7776 }
Object * get(int index)
Definition: objects-inl.h:2165

References v8::internal::HeapObject::GetWriteBarrierMode(), mode(), and set().

+ Here is the call graph for this function:

◆ data_start()

Object ** v8::internal::FixedArray::data_start ( )
inline

Definition at line 2740 of file objects-inl.h.

2740  {
2741  return HeapObject::RawField(this, kHeaderSize);
2742 }
static const int kHeaderSize
Definition: objects.h:2393
static Object ** RawField(HeapObject *obj, int offset)
Definition: objects-inl.h:1311

References v8::internal::FixedArrayBase::kHeaderSize, and v8::internal::HeapObject::RawField().

Referenced by v8::internal::Heap::AllocateFixedArrayWithFiller(), v8::internal::CopyCachedOneByteCharsToArray(), v8::internal::Heap::MoveElements(), v8::internal::MarkCompactMarkingVisitor::UpdateRegExpCodeAgeAndFlush(), v8::internal::Map::ZapPrototypeTransitions(), and v8::internal::Map::ZapTransitions().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ DISALLOW_IMPLICIT_CONSTRUCTORS()

v8::internal::FixedArray::DISALLOW_IMPLICIT_CONSTRUCTORS ( FixedArray  )
private

◆ FillWithHoles()

void v8::internal::FixedArray::FillWithHoles ( int  from,
int  to 
)
inline

Definition at line 2733 of file objects-inl.h.

2733  {
2734  for (int i = from; i < to; i++) {
2735  set_the_hole(i);
2736  }
2737 }
void set_the_hole(int index)
Definition: objects-inl.h:2723
enable harmony numeric enable harmony object literal extensions Optimize object Array DOM strings and string trace pretenuring decisions of HAllocate instructions Enables optimizations which favor memory size over execution speed maximum source size in bytes considered for a single inlining maximum cumulative number of AST nodes considered for inlining trace the tracking of allocation sites deoptimize every n garbage collections perform array bounds checks elimination analyze liveness of environment slots and zap dead values flushes the cache of optimized code for closures on every GC allow uint32 values on optimize frames if they are used only in safe operations track concurrent recompilation artificial compilation delay in ms do not emit check maps for constant values that have a leaf deoptimize the optimized code if the layout of the maps changes enable context specialization in TurboFan execution budget before interrupt is triggered max percentage of megamorphic generic ICs to allow optimization enable use of SAHF instruction if enable use of VFP3 instructions if available enable use of NEON instructions if enable use of SDIV and UDIV instructions if enable use of MLS instructions if enable loading bit constant by means of movw movt instruction enable unaligned accesses for enable use of d16 d31 registers on ARM this requires VFP3 force all emitted branches to be in long enable alignment of csp to bytes on platforms which prefer the register to always be expose gc extension under the specified name show built in functions in stack traces use random jit cookie to mask large constants minimum length for automatic enable preparsing CPU profiler sampling interval in microseconds trace out of bounds accesses to external arrays default size of stack region v8 is allowed to maximum length of function source code printed in a stack trace min size of a semi the new space consists of two semi spaces print one trace line following each garbage collection do not print trace line after scavenger collection print cumulative GC statistics in only print modified registers Trace simulator debug messages Implied by trace sim abort randomize hashes to avoid predictable hash Fixed seed to use to hash property Print the time it takes to deserialize the snapshot A filename with extra code to be included in the A file to write the raw snapshot bytes to(mksnapshot only)") DEFINE_STRING(raw_context_file

References set_the_hole(), and to().

+ Here is the call graph for this function:

◆ get() [1/2]

Handle< Object > v8::internal::FixedArray::get ( Handle< FixedArray array,
int  index 
)
inlinestatic

Definition at line 2171 of file objects-inl.h.

2171  {
2172  return handle(array->get(index), array->GetIsolate());
2173 }
Handle< T > handle(T *t, Isolate *isolate)
Definition: handles.h:146

References v8::internal::handle().

+ Here is the call graph for this function:

◆ get() [2/2]

Object * v8::internal::FixedArray::get ( int  index)
inline

Definition at line 2165 of file objects-inl.h.

2165  {
2166  SLOW_DCHECK(index >= 0 && index < this->length());
2167  return READ_FIELD(this, kHeaderSize + index * kPointerSize);
2168 }
#define SLOW_DCHECK(condition)
Definition: checks.h:30
const int kPointerSize
Definition: globals.h:129
#define READ_FIELD(p, offset)
Definition: objects-inl.h:1179

References v8::internal::FixedArrayBase::kHeaderSize, v8::internal::kPointerSize, v8::internal::FixedArrayBase::length(), READ_FIELD, and SLOW_DCHECK.

Referenced by v8::internal::OrderedHashTable< Derived, Iterator, entrysize >::AddEntry(), v8::internal::Context::AddOptimizedCode(), v8::internal::Context::AddOptimizedFunction(), v8::internal::AddToWeakNativeContextList(), v8::internal::TransitionArray::back_pointer_storage(), v8::internal::Heap::ClearJSFunctionResultCaches(), v8::internal::MarkCompactCollector::ClearNonLivePrototypeTransitions(), v8::internal::MarkCompactCollector::ClearNonLiveReferences(), v8::internal::Heap::ClearNormalizedMapCaches(), v8::internal::SharedFunctionInfo::ClearOptimizedCodeMap(), v8::internal::SharedFunctionInfo::ClearTypeFeedbackInfo(), v8::Array::CloneElementAt(), v8::internal::Context::closure(), v8::internal::DependentCode::code_at(), v8::internal::DependentCode::compilation_info_at(), v8::internal::CompileToplevel(), v8::internal::ScopeInfo::ContextLocalInitFlag(), v8::internal::ScopeInfo::ContextLocalMaybeAssignedFlag(), v8::internal::ScopeInfo::ContextLocalMode(), v8::internal::ScopeInfo::ContextLocalName(), v8::internal::DependentCode::copy(), v8::internal::Heap::CopyAndTenureFixedCOWArray(), v8::internal::CopyCachedOneByteCharsToArray(), v8::internal::FastSmiOrObjectElementsAccessor< FastElementsAccessorSubclass, KindTraits >::CopyElementsImpl(), v8::internal::DescriptorArray::CopyEnumCacheFrom(), v8::internal::NameDictionary::CopyEnumKeysTo(), v8::internal::Heap::CopyFixedArrayWithMap(), v8::internal::CopyObjectToDoubleElements(), v8::internal::CopyPackedSmiToDoubleElements(), v8::internal::CopySmiToDoubleElements(), v8::internal::JSObject::DefineElementAccessor(), v8::internal::Deoptimizer::DeoptimizeAll(), v8::internal::Context::DeoptimizedCodeListHead(), v8::internal::Deoptimizer::DeoptimizeMarkedCode(), v8::internal::WeakListVisitor< Context >::DoWeakList(), v8::internal::SharedFunctionInfo::EvictFromOptimizedCodeMap(), v8::internal::Context::extension(), v8::internal::V8HeapExplorer::ExtractClosureReferences(), v8::internal::V8HeapExplorer::ExtractContextReferences(), v8::internal::V8HeapExplorer::ExtractElementReferences(), v8::internal::V8HeapExplorer::ExtractFixedArrayReferences(), v8::internal::LiveEdit::FindActiveGenerators(), v8::internal::NameDictionary::FindEntry(), v8::internal::JSFunctionResultCache::finger_index(), v8::internal::PolymorphicCodeCacheHashTableKey::FromObject(), v8::internal::ScopeInfo::FunctionContextSlotIndex(), v8::internal::ScopeInfo::FunctionName(), v8::internal::NormalizedMapCache::Get(), v8::internal::RegExpImpl::GetCapture(), v8::internal::SharedFunctionInfo::GetCodeFromOptimizedCodeMap(), v8::internal::Script::GetColumnNumber(), v8::internal::Deoptimizer::GetDeoptimizedCodeCount(), v8::internal::DescriptorArray::GetDetails(), v8::internal::JSObject::GetElementsCapacityAndUsage(), v8::internal::DescriptorArray::GetEnumCache(), v8::internal::DescriptorArray::GetEnumIndicesCache(), v8::internal::SloppyArgumentsElementsAccessor::GetImpl(), v8::internal::CodeCache::GetIndex(), v8::internal::DescriptorArray::GetKey(), v8::internal::TransitionArray::GetKey(), v8::internal::RegExpImpl::GetLastCaptureCount(), v8::internal::Script::GetLineNumberWithArray(), v8::internal::SharedFunctionInfo::GetLiteralsFromOptimizedCodeMap(), v8::internal::CodeFlusher::GetNextCodeMap(), v8::internal::JSObject::GetOwnElementKeys(), v8::internal::Map::GetPrototypeTransition(), v8::internal::TransitionArray::GetPrototypeTransitions(), v8::internal::TransitionArray::GetTarget(), v8::internal::IntrusivePrototypeTransitionIterator::GetTransition(), v8::internal::DescriptorArray::GetValue(), v8::internal::Context::global_object(), v8::internal::BreakPointInfo::HasBreakPointObject(), v8::internal::JSObject::HasDictionaryArgumentsElements(), v8::internal::DescriptorArray::HasEnumIndicesCache(), v8::internal::JSObject::HasFastArgumentsElements(), v8::internal::CodeCacheHashTableKey::HashForObject(), v8::internal::StringSharedKey::HashForObject(), v8::internal::RegExpKey::HashForObject(), v8::internal::StringsKey::HashForObject(), v8::internal::TransitionArray::HasPrototypeTransitions(), v8::internal::HeapSortPairs(), v8::internal::ModuleInfo::host_index(), v8::internal::IncrementalMarking::Hurry(), v8::internal::ModuleInfo::index(), v8::internal::InsertionSortPairs(), v8::internal::RegExpImpl::IrregexpByteCode(), v8::internal::RegExpImpl::IrregexpMaxRegisterCount(), v8::internal::RegExpImpl::IrregexpNativeCode(), v8::internal::RegExpImpl::IrregexpNumberOfCaptures(), v8::internal::RegExpImpl::IrregexpNumberOfRegisters(), v8::internal::DependentCode::is_code_at(), is_the_hole(), v8::internal::RegExpKey::IsMatch(), v8::internal::CodeCacheHashTableKey::IsMatch(), v8::internal::StringSharedKey::IsMatch(), v8::internal::StringsKey::IsMatch(), v8::internal::TransitionArray::IsSimpleTransition(), v8::internal::JoinSparseArrayWithSeparator(), v8::internal::OptimizedFrame::LiteralAt(), v8::internal::LoadLookupSlotHelper(), v8::internal::ScopeInfo::LocalName(), v8::internal::MapCache::Lookup(), v8::internal::ObjectHashTable::Lookup(), v8::internal::WeakHashTable::Lookup(), v8::internal::CompilationCacheTable::Lookup(), v8::internal::RegExpResultsCache::Lookup(), v8::internal::CodeCache::LookupDefaultCache(), v8::internal::CompilationCacheTable::LookupEval(), v8::internal::CompilationCacheTable::LookupRegExp(), v8::TypeSwitch::match(), v8::internal::SeededNumberDictionary::max_number_key(), v8::internal::ModuleInfo::mode(), v8::internal::Context::module(), v8::internal::ModuleGetExport(), v8::internal::ModuleSetExport(), v8::internal::ModuleInfo::name(), v8::internal::JSFunction::NativeContextFromLiterals(), v8::internal::DependentCode::number_of_entries(), v8::internal::Map::NumberOfProtoTransitions(), v8::internal::IntrusivePrototypeTransitionIterator::NumberOfTransitions(), v8::internal::DependentCode::object_at(), v8::internal::Context::OptimizedCodeListHead(), v8::internal::Context::OptimizedFunctionsListHead(), v8::internal::ScopeInfo::ParameterIndex(), v8::internal::ScopeInfo::ParameterName(), v8::internal::JSObject::PrepareElementsForSort(), v8::internal::MarkCompactCollector::ProcessMapCaches(), v8::internal::CodeFlusher::ProcessOptimizedCodeMaps(), v8::internal::compiler::JSContextSpecializer::ReduceJSLoadContext(), v8::internal::JSObject::ReferencesObject(), v8::internal::JSObject::ReferencesObjectFromElements(), v8::internal::HashTable< Derived, Shape, Key >::Rehash(), v8::internal::CompilationCacheTable::Remove(), v8::internal::CodeCache::RemoveByIndex(), v8::internal::Context::RemoveOptimizedFunction(), v8::internal::SeededNumberDictionary::requires_slow_elements(), v8::internal::JavaScriptFrame::RestoreOperandStack(), v8::internal::RUNTIME_FUNCTION(), v8::internal::SharedFunctionInfo::SearchOptimizedCodeMap(), v8::internal::JSFunction::SetInstancePrototype(), v8::internal::JSObject::ShouldConvertToFastElements(), v8::internal::JSFunctionResultCache::size(), SortPairs(), v8::internal::ScopeInfo::StackLocalName(), v8::internal::ScopeInfo::StackSlotIndex(), v8::internal::StringBuilderConcatHelper(), v8::internal::StringBuilderConcatLength(), v8::internal::OptimizedFrame::Summarize(), v8::internal::HashTable< Derived, Shape, Key >::Swap(), SwapPairs(), v8::internal::Map::TransitionElementsTo(), v8::internal::TypeCheck(), v8::internal::Context::unchecked_previous(), v8::internal::SeededNumberDictionary::UpdateMaxNumberKey(), v8::internal::Deoptimizer::VisitAllOptimizedFunctions(), v8::internal::IncrementalMarkingMarkingVisitor::VisitNativeContextIncremental(), v8::internal::WeakListVisitor< Context >::VisitPhantomObject(), and v8::internal::WeakListVisitor< Context >::WeakNext().

+ Here is the call graph for this function:

◆ GetFirstElementAddress()

Object ** v8::internal::FixedArray::GetFirstElementAddress ( )
inline

Definition at line 1539 of file objects-inl.h.

1539  {
1540  return reinterpret_cast<Object**>(FIELD_ADDR(this, OffsetOfElementAt(0)));
1541 }
static int OffsetOfElementAt(int index)
Definition: objects.h:2455
#define FIELD_ADDR(p, offset)
Definition: objects-inl.h:1173

References FIELD_ADDR.

Referenced by ContainsOnlySmisOrHoles(), v8::internal::NameDictionary::CopyEnumKeysTo(), and v8::internal::StaticMarkingVisitor< StaticVisitor >::MarkMapContents().

+ Here is the caller graph for this function:

◆ is_the_hole()

bool v8::internal::FixedArray::is_the_hole ( int  index)
inline

Definition at line 2176 of file objects-inl.h.

2176  {
2177  return get(index) == GetHeap()->the_hole_value();
2178 }

References get(), and v8::internal::HeapObject::GetHeap().

Referenced by v8::internal::JSObject::GetOwnElementKeys(), and v8::internal::JSObject::SetFastDoubleElement().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ NoIncrementalWriteBarrierSet()

void v8::internal::FixedArray::NoIncrementalWriteBarrierSet ( FixedArray array,
int  index,
Object value 
)
inlinestaticprotected

Definition at line 2680 of file objects-inl.h.

2682  {
2683  DCHECK(array->map() != array->GetHeap()->fixed_cow_array_map());
2684  DCHECK(index >= 0 && index < array->length());
2685  int offset = kHeaderSize + index * kPointerSize;
2686  WRITE_FIELD(array, offset, value);
2687  Heap* heap = array->GetHeap();
2688  if (heap->InNewSpace(value)) {
2689  heap->RecordWrite(array->address(), offset);
2690  }
2691 }
#define WRITE_FIELD(p, offset, value)
Definition: objects-inl.h:1190

References v8::internal::HeapObject::address(), DCHECK, v8::internal::HeapObject::GetHeap(), v8::internal::Heap::InNewSpace(), v8::internal::FixedArrayBase::kHeaderSize, v8::internal::kPointerSize, v8::internal::FixedArrayBase::length(), v8::internal::HeapObject::map(), and WRITE_FIELD.

Referenced by v8::internal::TransitionArray::NoIncrementalWriteBarrierSet(), and v8::internal::DescriptorArray::Set().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ NoWriteBarrierSet()

void v8::internal::FixedArray::NoWriteBarrierSet ( FixedArray array,
int  index,
Object value 
)
inlinestaticprotected

Definition at line 2694 of file objects-inl.h.

2696  {
2697  DCHECK(array->map() != array->GetHeap()->fixed_cow_array_map());
2698  DCHECK(index >= 0 && index < array->length());
2699  DCHECK(!array->GetHeap()->InNewSpace(value));
2700  WRITE_FIELD(array, kHeaderSize + index * kPointerSize, value);
2701 }

References DCHECK, v8::internal::HeapObject::GetHeap(), v8::internal::Heap::InNewSpace(), v8::internal::FixedArrayBase::kHeaderSize, v8::internal::kPointerSize, v8::internal::FixedArrayBase::length(), v8::internal::HeapObject::map(), and WRITE_FIELD.

Referenced by v8::internal::CompilationCacheTable::Remove().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OffsetOfElementAt()

static int v8::internal::FixedArray::OffsetOfElementAt ( int  index)
inlinestatic

Definition at line 2455 of file objects.h.

2455 { return SizeFor(index); }
static int SizeFor(int length)
Definition: objects.h:2452

Referenced by v8::internal::V8HeapExplorer::ExtractContextReferences(), v8::internal::V8HeapExplorer::ExtractFixedArrayReferences(), v8::internal::DescriptorArray::GetValueOffset(), and v8::internal::Heap::MoveElements().

+ Here is the caller graph for this function:

◆ RawFieldOfElementAt()

Object** v8::internal::FixedArray::RawFieldOfElementAt ( int  index)
inline

Definition at line 2458 of file objects.h.

2458  {
2459  return HeapObject::RawField(this, OffsetOfElementAt(index));
2460  }

References v8::internal::HeapObject::RawField().

Referenced by v8::internal::JSFunctionResultCache::Clear(), v8::internal::MarkCompactCollector::ClearNonLivePrototypeTransitions(), v8::internal::DescriptorArray::GetKeySlot(), v8::internal::TransitionArray::GetKeySlot(), v8::internal::DescriptorArray::GetValueSlot(), v8::internal::CodeFlusher::ProcessOptimizedCodeMaps(), v8::internal::MarkCompactCollector::ProcessWeakCollections(), and v8::internal::DependentCode::slot_at().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ set() [1/3]

void v8::internal::FixedArray::set ( int  index,
Object value 
)
inline

Definition at line 2190 of file objects-inl.h.

2190  {
2191  DCHECK_NE(GetHeap()->fixed_cow_array_map(), map());
2192  DCHECK_EQ(FIXED_ARRAY_TYPE, map()->instance_type());
2193  DCHECK(index >= 0 && index < this->length());
2194  int offset = kHeaderSize + index * kPointerSize;
2195  WRITE_FIELD(this, offset, value);
2196  WRITE_BARRIER(GetHeap(), this, offset, value);
2197 }
#define DCHECK_NE(v1, v2)
Definition: logging.h:207
#define DCHECK_EQ(v1, v2)
Definition: logging.h:206
@ FIXED_ARRAY_TYPE
Definition: objects.h:717
#define WRITE_BARRIER(heap, object, offset, value)
Definition: objects-inl.h:1203

References DCHECK, DCHECK_EQ, DCHECK_NE, v8::internal::FIXED_ARRAY_TYPE, v8::internal::HeapObject::GetHeap(), v8::internal::FixedArrayBase::kHeaderSize, v8::internal::kPointerSize, v8::internal::FixedArrayBase::length(), v8::internal::HeapObject::map(), WRITE_BARRIER, and WRITE_FIELD.

Referenced by v8::internal::WeakHashTable::AddEntry(), v8::internal::ObjectHashTable::AddEntry(), v8::internal::OrderedHashTable< Derived, Iterator, entrysize >::AddEntry(), v8::internal::Context::AddOptimizedCode(), v8::internal::Context::AddOptimizedFunction(), v8::internal::AddToWeakNativeContextList(), v8::internal::RegExpResultsCache::Clear(), v8::internal::MarkCompactCollector::ClearNonLivePrototypeTransitions(), v8::internal::MarkCompactCollector::ClearNonLiveReferences(), v8::internal::SharedFunctionInfo::ClearTypeFeedbackInfo(), v8::internal::DependentCode::copy(), v8::internal::Heap::CopyAndTenureFixedCOWArray(), v8::internal::CopyCachedOneByteCharsToArray(), v8::internal::NameDictionary::CopyEnumKeysTo(), v8::internal::Heap::CopyFixedArrayWithMap(), CopyTo(), v8::internal::Dictionary< Derived, Shape, Key >::CopyValuesTo(), v8::internal::CreateCache(), v8::internal::DebugConstructedBy(), v8::internal::DebugReferencedBy(), v8::internal::WeakListVisitor< Context >::DoWeakList(), v8::internal::SharedFunctionInfo::EvictFromOptimizedCodeMap(), v8::internal::NameDictionary::FindEntry(), v8::internal::FindSharedFunctionInfosForScript(), v8::internal::JSObject::GetOwnElementKeys(), v8::internal::JSObject::GetOwnPropertyNames(), v8::internal::ModuleSetExport(), v8::internal::JSSetIterator::PopulateValueArray(), v8::internal::JSMapIterator::PopulateValueArray(), v8::internal::JSObject::PrepareElementsForSort(), v8::internal::MarkCompactCollector::ProcessMapCaches(), v8::internal::CodeFlusher::ProcessOptimizedCodeMaps(), v8::internal::Context::RemoveOptimizedFunction(), v8::internal::RUNTIME_FUNCTION(), v8::internal::JavaScriptFrame::SaveOperandStack(), v8::internal::NormalizedMapCache::Set(), v8::internal::DescriptorArray::Set(), v8::internal::Context::set_closure(), v8::internal::Context::set_extension(), v8::internal::JSFunctionResultCache::set_finger_index(), v8::internal::Context::set_global_object(), v8::internal::ModuleInfo::set_host_index(), v8::internal::ModuleInfo::set_index(), v8::internal::ModuleInfo::set_mode(), v8::internal::Context::set_module(), v8::internal::ModuleInfo::set_name(), v8::internal::DependentCode::set_number_of_entries(), v8::internal::DependentCode::set_object_at(), v8::internal::Context::set_previous(), v8::internal::SeededNumberDictionary::set_requires_slow_elements(), v8::internal::JSFunctionResultCache::set_size(), v8::internal::RegExpImpl::SetCapture(), v8::internal::Context::SetDeoptimizedCodeListHead(), v8::internal::JSObject::SetElementCallback(), v8::internal::Dictionary< Derived, Shape, Key >::SetEntry(), v8::internal::RegExpImpl::SetIrregexpMaxRegisterCount(), v8::internal::TransitionArray::SetKey(), v8::internal::RegExpImpl::SetLastCaptureCount(), v8::internal::RegExpImpl::SetLastInput(), v8::internal::RegExpImpl::SetLastSubject(), v8::internal::CodeFlusher::SetNextCodeMap(), v8::internal::Map::SetNumberOfProtoTransitions(), v8::internal::Context::SetOptimizedCodeListHead(), v8::internal::Context::SetOptimizedFunctionsListHead(), v8::internal::DescriptorArray::SetRepresentation(), v8::internal::DescriptorArray::SetSortedKey(), v8::internal::TransitionArray::SetTarget(), v8::internal::DescriptorArray::SetValue(), v8::internal::WeakListVisitor< Context >::SetWeakNext(), v8::internal::HashTable< Derived, Shape, Key >::Swap(), SwapPairs(), and v8::internal::SeededNumberDictionary::UpdateMaxNumberKey().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ set() [2/3]

void v8::internal::FixedArray::set ( int  index,
Object value,
WriteBarrierMode  mode 
)
inline

Definition at line 2669 of file objects-inl.h.

2671  {
2672  DCHECK(map() != GetHeap()->fixed_cow_array_map());
2673  DCHECK(index >= 0 && index < this->length());
2674  int offset = kHeaderSize + index * kPointerSize;
2675  WRITE_FIELD(this, offset, value);
2676  CONDITIONAL_WRITE_BARRIER(GetHeap(), this, offset, value, mode);
2677 }
#define CONDITIONAL_WRITE_BARRIER(heap, object, offset, value, mode)
Definition: objects-inl.h:1210

References CONDITIONAL_WRITE_BARRIER, DCHECK, v8::internal::HeapObject::GetHeap(), v8::internal::FixedArrayBase::kHeaderSize, v8::internal::kPointerSize, v8::internal::FixedArrayBase::length(), v8::internal::HeapObject::map(), mode(), and WRITE_FIELD.

+ Here is the call graph for this function:

◆ set() [3/3]

void v8::internal::FixedArray::set ( int  index,
Smi value 
)
inline

Definition at line 2181 of file objects-inl.h.

2181  {
2182  DCHECK(map() != GetHeap()->fixed_cow_array_map());
2183  DCHECK(index >= 0 && index < this->length());
2184  DCHECK(reinterpret_cast<Object*>(value)->IsSmi());
2185  int offset = kHeaderSize + index * kPointerSize;
2186  WRITE_FIELD(this, offset, value);
2187 }

References DCHECK, v8::internal::HeapObject::GetHeap(), v8::internal::FixedArrayBase::kHeaderSize, v8::internal::kPointerSize, v8::internal::FixedArrayBase::length(), v8::internal::HeapObject::map(), and WRITE_FIELD.

+ Here is the call graph for this function:

◆ set_null()

void v8::internal::FixedArray::set_null ( int  index)
inline

Definition at line 2714 of file objects-inl.h.

2714  {
2715  DCHECK(index >= 0 && index < this->length());
2716  DCHECK(!GetHeap()->InNewSpace(GetHeap()->null_value()));
2717  WRITE_FIELD(this,
2718  kHeaderSize + index * kPointerSize,
2719  GetHeap()->null_value());
2720 }

References DCHECK, v8::internal::HeapObject::GetHeap(), v8::internal::FixedArrayBase::kHeaderSize, v8::internal::kPointerSize, v8::internal::FixedArrayBase::length(), and WRITE_FIELD.

Referenced by v8::internal::CodeCache::RemoveByIndex().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ set_the_hole()

void v8::internal::FixedArray::set_the_hole ( int  index)
inline

Definition at line 2723 of file objects-inl.h.

2723  {
2724  DCHECK(map() != GetHeap()->fixed_cow_array_map());
2725  DCHECK(index >= 0 && index < this->length());
2726  DCHECK(!GetHeap()->InNewSpace(GetHeap()->the_hole_value()));
2727  WRITE_FIELD(this,
2728  kHeaderSize + index * kPointerSize,
2729  GetHeap()->the_hole_value());
2730 }

References DCHECK, v8::internal::HeapObject::GetHeap(), v8::internal::FixedArrayBase::kHeaderSize, v8::internal::kPointerSize, v8::internal::FixedArrayBase::length(), v8::internal::HeapObject::map(), and WRITE_FIELD.

Referenced by FillWithHoles(), v8::internal::JSObject::PrepareElementsForSort(), v8::internal::MarkCompactCollector::ProcessMapCaches(), v8::internal::ObjectHashTable::RemoveEntry(), and v8::internal::OrderedHashTable< Derived, Iterator, entrysize >::RemoveEntry().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ set_undefined()

void v8::internal::FixedArray::set_undefined ( int  index)
inline

Definition at line 2704 of file objects-inl.h.

2704  {
2705  DCHECK(map() != GetHeap()->fixed_cow_array_map());
2706  DCHECK(index >= 0 && index < this->length());
2707  DCHECK(!GetHeap()->InNewSpace(GetHeap()->undefined_value()));
2708  WRITE_FIELD(this,
2709  kHeaderSize + index * kPointerSize,
2710  GetHeap()->undefined_value());
2711 }

References DCHECK, v8::internal::HeapObject::GetHeap(), v8::internal::FixedArrayBase::kHeaderSize, v8::internal::kPointerSize, v8::internal::FixedArrayBase::length(), v8::internal::HeapObject::map(), and WRITE_FIELD.

Referenced by v8::internal::DependentCode::clear_at(), v8::internal::CodeFlusher::ClearNextCodeMap(), v8::internal::MarkCompactCollector::ClearNonLivePrototypeTransitions(), and v8::internal::JSObject::PrepareElementsForSort().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Shrink()

void v8::internal::FixedArray::Shrink ( int  length)

Definition at line 7690 of file objects.cc.

7690  {
7691  DCHECK(0 <= new_length && new_length <= length());
7692  if (new_length < length()) {
7694  this, length() - new_length);
7695  }
7696 }
void RightTrimFixedArray(FixedArrayBase *obj, int elements_to_trim)
Definition: heap.cc:3322

References DCHECK, v8::internal::Heap::FROM_MUTATOR, v8::internal::HeapObject::GetHeap(), and v8::internal::Heap::RightTrimFixedArray().

Referenced by v8::internal::OrderedHashTable< Derived, Iterator, entrysize >::Remove(), and v8::internal::ObjectHashTable::Remove().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SizeFor()

◆ SortPairs()

void v8::internal::FixedArray::SortPairs ( FixedArray numbers,
uint32_t  len 
)

Definition at line 13340 of file objects.cc.

13340  {
13341  DCHECK(this->length() == numbers->length());
13342  // For small arrays, simply use insertion sort.
13343  if (len <= 10) {
13344  InsertionSortPairs(this, numbers, len);
13345  return;
13346  }
13347  // Check the range of indices.
13348  uint32_t min_index = NumberToUint32(numbers->get(0));
13349  uint32_t max_index = min_index;
13350  uint32_t i;
13351  for (i = 1; i < len; i++) {
13352  if (NumberToUint32(numbers->get(i)) < min_index) {
13353  min_index = NumberToUint32(numbers->get(i));
13354  } else if (NumberToUint32(numbers->get(i)) > max_index) {
13355  max_index = NumberToUint32(numbers->get(i));
13356  }
13357  }
13358  if (max_index - min_index + 1 == len) {
13359  // Indices form a contiguous range, unless there are duplicates.
13360  // Do an in-place linear time sort assuming distinct numbers, but
13361  // avoid hanging in case they are not.
13362  for (i = 0; i < len; i++) {
13363  uint32_t p;
13364  uint32_t j = 0;
13365  // While the current element at i is not at its correct position p,
13366  // swap the elements at these two positions.
13367  while ((p = NumberToUint32(numbers->get(i)) - min_index) != i &&
13368  j++ < len) {
13369  SwapPairs(numbers, i, p);
13370  }
13371  }
13372  } else {
13373  HeapSortPairs(this, numbers, len);
13374  return;
13375  }
13376 }
void SwapPairs(FixedArray *numbers, int i, int j)
Definition: objects.cc:13266
static void InsertionSortPairs(FixedArray *content, FixedArray *numbers, int len)
Definition: objects.cc:13278
uint32_t NumberToUint32(Object *number)
Definition: conversions.h:195
void HeapSortPairs(FixedArray *content, FixedArray *numbers, int len)
Definition: objects.cc:13293

References DCHECK, get(), v8::internal::HeapSortPairs(), v8::internal::InsertionSortPairs(), v8::internal::FixedArrayBase::length(), v8::internal::NumberToUint32(), and SwapPairs().

Referenced by v8::internal::JSObject::GetOwnElementKeys().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ STATIC_ASSERT()

v8::internal::FixedArray::STATIC_ASSERT ( kHeaderSize  = =Internals::kFixedArrayHeaderSize)
private

Referenced by v8::internal::String::GetUnderlying(), and v8::internal::JSObject::ShouldConvertToSlowElements().

+ Here is the caller graph for this function:

◆ SwapPairs()

void v8::internal::FixedArray::SwapPairs ( FixedArray numbers,
int  i,
int  j 
)

Definition at line 13266 of file objects.cc.

13266  {
13267  Object* temp = get(i);
13268  set(i, get(j));
13269  set(j, temp);
13270  if (this != numbers) {
13271  temp = numbers->get(i);
13272  numbers->set(i, Smi::cast(numbers->get(j)));
13273  numbers->set(j, Smi::cast(temp));
13274  }
13275 }
void set(int index, Object *value)
Definition: objects-inl.h:2190

References get(), and set().

Referenced by v8::internal::HeapSortPairs(), v8::internal::InsertionSortPairs(), and SortPairs().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ UnionOfKeys()

MaybeHandle< FixedArray > v8::internal::FixedArray::UnionOfKeys ( Handle< FixedArray first,
Handle< FixedArray second 
)
static

Definition at line 7723 of file objects.cc.

7724  {
7725  ElementsAccessor* accessor = ElementsAccessor::ForArray(second);
7726  Handle<FixedArray> result;
7728  first->GetIsolate(), result,
7729  accessor->AddElementsToFixedArray(
7730  Handle<Object>::null(), // receiver
7731  Handle<JSObject>::null(), // holder
7732  first,
7734  FixedArray);
7735 
7736 #ifdef ENABLE_SLOW_DCHECKS
7738  DisallowHeapAllocation no_allocation;
7739  for (int i = 0; i < result->length(); i++) {
7740  Object* current = result->get(i);
7741  DCHECK(current->IsNumber() || current->IsName());
7742  }
7743  }
7744 #endif
7745  return result;
7746 }
static ElementsAccessor * ForArray(Handle< FixedArrayBase > array)
Definition: elements.cc:1731
static Handle< T > cast(Handle< S > that)
Definition: handles.h:116
static Handle< T > null()
Definition: handles.h:123

References v8::internal::ElementsAccessor::AddElementsToFixedArray(), ASSIGN_RETURN_ON_EXCEPTION, DCHECK, v8::internal::FLAG_enable_slow_asserts, and v8::internal::ElementsAccessor::ForArray().

Referenced by v8::internal::JSReceiver::GetKeys(), and v8::internal::RUNTIME_FUNCTION().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ kMaxLength

◆ kMaxSize

const int v8::internal::FixedArray::kMaxSize = 128 * MB * kPointerSize
static

Definition at line 2467 of file objects.h.


The documentation for this class was generated from the following files: