V8 Project
|
#include <objects.h>
Classes | |
class | BodyDescriptor |
Static Public Attributes | |
static const int | kMaxSize = 128 * MB * kPointerSize |
static const int | kMaxLength = (kMaxSize - kHeaderSize) / kPointerSize |
![]() | |
static const int | kLengthOffset = HeapObject::kHeaderSize |
static const int | kHeaderSize = kLengthOffset + kPointerSize |
![]() | |
static const int | kMapOffset = Object::kHeaderSize |
static const int | kHeaderSize = kMapOffset + kPointerSize |
![]() | |
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 | |
![]() | |
enum | StoreFromKeyed { MAY_BE_STORE_FROM_KEYED , CERTAINLY_NOT_STORE_FROM_KEYED } |
enum | StorePropertyMode { NORMAL_PROPERTY , SUPER_PROPERTY } |
![]() | |
void | IteratePointers (ObjectVisitor *v, int start, int end) |
void | IteratePointer (ObjectVisitor *v, int offset) |
void | IterateNextCodeLink (ObjectVisitor *v, int offset) |
|
static |
Definition at line 7699 of file objects.cc.
References v8::internal::ElementsAccessor::AddElementsToFixedArray(), ASSIGN_RETURN_ON_EXCEPTION, DCHECK, and v8::internal::FLAG_enable_slow_asserts.
Referenced by v8::internal::JSReceiver::GetKeys().
|
inline |
Definition at line 1544 of file objects-inl.h.
References GetFirstElementAddress(), v8::internal::HeapObject::GetHeap(), and v8::internal::FixedArrayBase::length().
|
static |
Definition at line 7749 of file objects.cc.
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().
void v8::internal::FixedArray::CopyTo | ( | int | pos, |
FixedArray * | dest, | ||
int | dest_pos, | ||
int | len | ||
) |
Definition at line 7770 of file objects.cc.
References v8::internal::HeapObject::GetWriteBarrierMode(), mode(), and set().
|
inline |
Definition at line 2740 of file objects-inl.h.
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().
|
private |
Definition at line 2733 of file objects-inl.h.
References set_the_hole(), and to().
|
inlinestatic |
Definition at line 2171 of file objects-inl.h.
References v8::internal::handle().
Definition at line 2165 of file objects-inl.h.
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().
|
inline |
Definition at line 1539 of file objects-inl.h.
References FIELD_ADDR.
Referenced by ContainsOnlySmisOrHoles(), v8::internal::NameDictionary::CopyEnumKeysTo(), and v8::internal::StaticMarkingVisitor< StaticVisitor >::MarkMapContents().
Definition at line 2176 of file objects-inl.h.
References get(), and v8::internal::HeapObject::GetHeap().
Referenced by v8::internal::JSObject::GetOwnElementKeys(), and v8::internal::JSObject::SetFastDoubleElement().
|
inlinestaticprotected |
Definition at line 2680 of file objects-inl.h.
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().
|
inlinestaticprotected |
Definition at line 2694 of file objects-inl.h.
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().
Definition at line 2455 of file objects.h.
Referenced by v8::internal::V8HeapExplorer::ExtractContextReferences(), v8::internal::V8HeapExplorer::ExtractFixedArrayReferences(), v8::internal::DescriptorArray::GetValueOffset(), and v8::internal::Heap::MoveElements().
Definition at line 2458 of file objects.h.
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().
Definition at line 2190 of file objects-inl.h.
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().
|
inline |
Definition at line 2669 of file objects-inl.h.
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.
Definition at line 2181 of file objects-inl.h.
References DCHECK, v8::internal::HeapObject::GetHeap(), v8::internal::FixedArrayBase::kHeaderSize, v8::internal::kPointerSize, v8::internal::FixedArrayBase::length(), v8::internal::HeapObject::map(), and WRITE_FIELD.
|
inline |
Definition at line 2714 of file objects-inl.h.
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().
|
inline |
Definition at line 2723 of file objects-inl.h.
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().
|
inline |
Definition at line 2704 of file objects-inl.h.
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().
void v8::internal::FixedArray::Shrink | ( | int | length | ) |
Definition at line 7690 of file objects.cc.
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().
Definition at line 2452 of file objects.h.
References v8::internal::Object::kHeaderSize, and v8::internal::kPointerSize.
Referenced by v8::internal::Heap::AllocateEmptyFixedArray(), v8::internal::Heap::AllocateRawFixedArray(), v8::internal::Map::CanHaveMoreTransitions(), v8::internal::Heap::ConfigureHeap(), v8::internal::Heap::CopyFixedArrayWithMap(), v8::internal::WeakListVisitor< Context >::DoWeakList(), v8::internal::SeqOneByteString::SeqOneByteStringSize(), v8::internal::SeqTwoByteString::SeqTwoByteStringSize(), and v8::internal::WeakListVisitor< Context >::WeakNextOffset().
void v8::internal::FixedArray::SortPairs | ( | FixedArray * | numbers, |
uint32_t | len | ||
) |
Definition at line 13340 of file objects.cc.
References DCHECK, get(), v8::internal::HeapSortPairs(), v8::internal::InsertionSortPairs(), v8::internal::FixedArrayBase::length(), v8::internal::NumberToUint32(), and SwapPairs().
Referenced by v8::internal::JSObject::GetOwnElementKeys().
|
private |
Referenced by v8::internal::String::GetUnderlying(), and v8::internal::JSObject::ShouldConvertToSlowElements().
void v8::internal::FixedArray::SwapPairs | ( | FixedArray * | numbers, |
int | i, | ||
int | j | ||
) |
Definition at line 13266 of file objects.cc.
Referenced by v8::internal::HeapSortPairs(), v8::internal::InsertionSortPairs(), and SortPairs().
|
static |
Definition at line 7723 of file objects.cc.
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().
|
static |
Definition at line 2469 of file objects.h.
Referenced by v8::internal::Heap::AllocateRawFixedArray(), v8::internal::BUILTIN(), v8::internal::EstimateElementCount(), and v8::internal::RUNTIME_FUNCTION().
|
static |