V8 Project
|
#include <objects.h>
Classes | |
class | BodyDescriptor |
Public Types | |
enum | ExecutableAccessorInfoHandling { DEFAULT_HANDLING , DONT_FORCE_FIELD } |
enum | SetFastElementsCapacitySmiMode { kAllowSmiElements , kForceSmiElements , kDontAllowSmiElements } |
enum | DeepCopyHints { kNoHints = 0 , kObjectIsShallow = 1 } |
![]() | |
enum | DeleteMode { NORMAL_DELETION , STRICT_DELETION , FORCE_DELETION } |
enum | KeyCollectionType { OWN_ONLY , INCLUDE_PROTOS } |
![]() | |
enum | StoreFromKeyed { MAY_BE_STORE_FROM_KEYED , CERTAINLY_NOT_STORE_FROM_KEYED } |
enum | StorePropertyMode { NORMAL_PROPERTY , SUPER_PROPERTY } |
Static Public Attributes | |
static const uint32_t | kMaxElementCount = 0xffffffffu |
static const uint32_t | kMaxGap = 1024 |
static const int | kMaxUncheckedFastElementsLength = 5000 |
static const int | kMaxUncheckedOldFastElementsLength = 500 |
static const int | kInitialMaxFastElementArray = 100000 |
static const int | kInitialGlobalObjectUnusedPropertiesCount = 4 |
static const int | kMaxInstanceSize = 255 * kPointerSize |
static const int | kFieldsAdded = 3 |
static const int | kPropertiesOffset = HeapObject::kHeaderSize |
static const int | kElementsOffset = kPropertiesOffset + kPointerSize |
static const int | kHeaderSize = kElementsOffset + kPointerSize |
![]() | |
static const int | kMapOffset = Object::kHeaderSize |
static const int | kHeaderSize = kMapOffset + kPointerSize |
![]() | |
static const int | kHeaderSize = 0 |
Private Member Functions | |
bool | ReferencesObjectFromElements (FixedArray *elements, ElementsKind kind, Object *object) |
bool | HasDenseElements () |
void | GetElementsCapacityAndUsage (int *capacity, int *used) |
MUST_USE_RESULT Object * | GetHiddenPropertiesHashTable () |
MUST_USE_RESULT Object * | GetIdentityHash () |
DISALLOW_IMPLICIT_CONSTRUCTORS (JSObject) | |
Friends | |
class | DictionaryElementsAccessor |
class | JSReceiver |
class | Object |
Additional Inherited Members | |
![]() | |
void | IteratePointers (ObjectVisitor *v, int start, int end) |
void | IteratePointer (ObjectVisitor *v, int offset) |
void | IterateNextCodeLink (ObjectVisitor *v, int offset) |
|
static |
Definition at line 3786 of file objects.cc.
References v8::internal::Object::AddDataProperty(), v8::internal::Object::CERTAINLY_NOT_STORE_FROM_KEYED, CHECK_NE, DCHECK, v8::internal::Object::LookupIterator, v8::maybe(), name, and v8::internal::STRICT.
Referenced by v8::internal::Isolate::CaptureCurrentStackTrace(), and v8::internal::InstallBuiltin().
|
staticprivate |
Definition at line 1762 of file objects.cc.
Referenced by v8::internal::Object::AddDataProperty().
|
static |
Definition at line 3707 of file objects.cc.
References v8::internal::Map::AsElementsKind(), DCHECK, v8::internal::Map::elements_kind(), v8::internal::Map::inobject_properties(), v8::internal::IsDictionaryElementsKind(), v8::internal::IsMoreGeneralElementsKindTransition(), v8::internal::HeapObject::map(), and MigrateToMap().
|
staticprivate |
v8::internal::JSObject::DECL_ACCESSORS | ( | properties | , |
FixedArray | |||
) |
|
static |
Definition at line 5593 of file objects.cc.
References DCHECK, and v8::internal::JSObjectWalkVisitor< ContextObject >::StructureWalk().
Referenced by v8::internal::CreateArrayLiteralImpl(), and v8::internal::RUNTIME_FUNCTION().
|
static |
Definition at line 5581 of file objects.cc.
References DCHECK, and v8::internal::JSObjectWalkVisitor< ContextObject >::StructureWalk().
Referenced by v8::internal::GetLiteralAllocationSite(), and v8::internal::RUNTIME_FUNCTION().
|
static |
Definition at line 6095 of file objects.cc.
References v8::ACCESS_SET, v8::internal::ACCESSOR_GETTER, v8::internal::ACCESSOR_SETTER, CHECK, DCHECK, v8::internal::Isolate::factory(), v8::internal::String::Flatten(), v8::internal::PrototypeIterator::GetCurrent(), v8::internal::Object::GetElement(), v8::internal::Object::GetProperty(), v8::internal::Isolate::heap(), v8::internal::Heap::hidden_string(), v8::internal::PrototypeIterator::IsAtEnd(), v8::internal::Object::LookupIterator, v8::maybe(), v8::internal::Isolate::MayNamedAccess(), name, v8::internal::Isolate::ReportFailedAccessCheck(), and RETURN_EXCEPTION_IF_SCHEDULED_EXCEPTION.
Referenced by v8::internal::RUNTIME_FUNCTION(), and v8::Object::SetAccessorProperty().
|
staticprivate |
Definition at line 5937 of file objects.cc.
References v8::internal::DICTIONARY_ELEMENTS, v8::internal::Isolate::factory(), v8::internal::FAST_DOUBLE_ELEMENTS, v8::internal::FAST_ELEMENTS, v8::internal::FAST_HOLEY_DOUBLE_ELEMENTS, v8::internal::FAST_HOLEY_ELEMENTS, v8::internal::FAST_HOLEY_SMI_ELEMENTS, v8::internal::FAST_SMI_ELEMENTS, v8::internal::FixedArray::get(), v8::internal::FixedArrayBase::length(), NULL, v8::internal::SLOPPY_ARGUMENTS_ELEMENTS, TYPED_ARRAY_CASE, TYPED_ARRAYS, and v8::internal::UpdateGetterSetterInDictionary().
|
staticprivate |
Definition at line 4838 of file objects.cc.
References v8::ACCESS_DELETE, ASSIGN_RETURN_ON_EXCEPTION, v8::internal::Handle< T >::cast(), DCHECK, v8::internal::Isolate::factory(), v8::internal::PrototypeIterator::GetCurrent(), v8::internal::Object::GetElement(), v8::internal::HandleVector(), v8::internal::PrototypeIterator::IsAtEnd(), v8::maybe(), v8::internal::Isolate::MayIndexedAccess(), mode(), name, v8::internal::Isolate::ReportFailedAccessCheck(), RETURN_EXCEPTION_IF_SCHEDULED_EXCEPTION, and THROW_NEW_ERROR.
Referenced by v8::internal::JSReceiver::DeleteElement().
|
staticprivate |
Definition at line 4805 of file objects.cc.
References DCHECK, v8::internal::Isolate::factory(), v8::internal::handle(), v8::Value::IsBoolean(), v8::Handle< T >::IsEmpty(), LOG, v8::Utils::OpenHandle(), and RETURN_EXCEPTION_IF_SCHEDULED_EXCEPTION.
|
static |
Definition at line 4673 of file objects.cc.
References DCHECK, v8::internal::Isolate::factory(), v8::internal::PrototypeIterator::GetCurrent(), v8::internal::PrototypeIterator::IsAtEnd(), and v8::internal::ObjectHashTable::Remove().
Referenced by v8::Object::DeleteHiddenValue().
|
staticprivate |
Definition at line 692 of file objects.cc.
References v8::internal::Map::CopyDropDescriptors(), DCHECK, v8::internal::Dictionary< NameDictionary, NameDictionaryShape, Handle< Name > >::DeleteProperty(), v8::internal::Isolate::factory(), v8::internal::JSReceiver::FORCE_DELETION, v8::internal::handle(), v8::internal::Isolate::heap(), v8::internal::HashTable< Derived, Shape, Key >::kNotFound, MigrateToMap(), mode(), name, v8::internal::PropertyCell::SetValueInferType(), and v8::internal::Dictionary< NameDictionary, NameDictionaryShape, Handle< Name > >::Shrink().
|
staticprivate |
Definition at line 4912 of file objects.cc.
References v8::ACCESS_DELETE, v8::internal::ACCESSOR, arraysize, v8::internal::CLEAR_INOBJECT_PROPERTIES, DCHECK, DeletePropertyWithInterceptor(), v8::internal::HandleVector(), v8::internal::MaybeHandle< T >::is_null(), v8::internal::KEEP_INOBJECT_PROPERTIES, v8::internal::Object::LookupIterator, mode(), name, RETURN_EXCEPTION_IF_SCHEDULED_EXCEPTION, THROW_NEW_ERROR, and UNREACHABLE.
Referenced by v8::internal::JSReceiver::DeleteProperty().
|
staticprivate |
Definition at line 4776 of file objects.cc.
References DCHECK, v8::internal::handle(), v8::Value::IsBoolean(), v8::Handle< T >::IsEmpty(), LOG, name, v8::Utils::OpenHandle(), RETURN_EXCEPTION_IF_SCHEDULED_EXCEPTION, and v8::Utils::ToLocal().
Referenced by DeleteProperty().
|
private |
|
inline |
Definition at line 6449 of file objects-inl.h.
References DCHECK, and HasDictionaryElements().
Referenced by v8::internal::V8HeapExplorer::ExtractElementReferences(), and GetAccessor().
|
static |
Definition at line 1809 of file objects.cc.
Referenced by v8::internal::Object::AddDataProperty(), v8::internal::RUNTIME_FUNCTION(), v8::internal::Object::SetDataProperty(), v8::internal::JSArray::SetElementsLength(), and v8::internal::SetFunctionPrototype().
|
static |
Definition at line 11746 of file objects.cc.
References mode().
|
inlinestatic |
Definition at line 1780 of file objects-inl.h.
References v8::internal::ALLOW_COPIED_DOUBLE_ELEMENTS, v8::internal::Handle< T >::cast(), DCHECK, v8::internal::DONT_ALLOW_DOUBLE_ELEMENTS, EnsureCanContainElements(), v8::internal::FAST_DOUBLE_ELEMENTS, v8::internal::FAST_HOLEY_DOUBLE_ELEMENTS, v8::internal::FAST_HOLEY_SMI_ELEMENTS, v8::internal::FAST_SMI_ELEMENTS, mode(), and TransitionElementsKind().
|
inlinestatic |
Definition at line 1738 of file objects-inl.h.
References v8::internal::ALLOW_CONVERTED_DOUBLE_ELEMENTS, v8::internal::ALLOW_COPIED_DOUBLE_ELEMENTS, DCHECK, v8::internal::FAST_DOUBLE_ELEMENTS, v8::internal::FAST_ELEMENTS, v8::internal::FAST_HOLEY_DOUBLE_ELEMENTS, v8::internal::FAST_HOLEY_ELEMENTS, v8::internal::GetHoleyElementsKind(), v8::internal::IsFastHoleyElementsKind(), v8::internal::IsFastSmiElementsKind(), mode(), and TransitionElementsKind().
Referenced by v8::internal::ArrayConstructInitializeElements(), v8::internal::BUILTIN(), EnsureCanContainElements(), and v8::internal::JSArray::SetContent().
|
inlinestatic |
Definition at line 1725 of file objects-inl.h.
References v8::internal::FAST_ELEMENTS, v8::internal::FAST_HOLEY_ELEMENTS, v8::internal::IsFastHoleyElementsKind(), v8::internal::IsFastObjectElementsKind(), TransitionElementsKind(), and ValidateElements().
Referenced by v8::internal::RUNTIME_FUNCTION().
|
static |
Definition at line 383 of file objects.cc.
References v8::internal::Isolate::counters(), DCHECK, v8::internal::Isolate::factory(), and v8::internal::Isolate::heap().
Referenced by v8::internal::LiveEdit::CheckAndDropActivations(), v8::internal::FastElementsAccessor< FastElementsAccessorSubclass, KindTraits >::DeleteCommon(), v8::internal::EnsureJSArrayWithWritableFastElements(), and v8::internal::FastElementsAccessor< FastElementsAccessorSubclass, KindTraits >::SetLengthWithoutNormalize().
|
static |
Definition at line 5362 of file objects.cc.
References v8::internal::Object::WrapForRead().
Referenced by v8::internal::RUNTIME_FUNCTION().
|
inline |
Definition at line 2034 of file objects-inl.h.
References v8::internal::HeapObject::GetHeap(), WRITE_BARRIER, and WRITE_FIELD.
|
static |
Definition at line 5239 of file objects.cc.
References v8::ACCESS_KEYS, v8::internal::CLEAR_INOBJECT_PROPERTIES, v8::internal::Map::Copy(), v8::internal::CopyFastElementsToDictionary(), v8::internal::Map::CopyForFreeze(), DCHECK, v8::internal::DICTIONARY_ELEMENTS, v8::internal::Isolate::factory(), v8::internal::FreezeDictionary(), v8::internal::PrototypeIterator::GetCurrent(), v8::internal::handle(), v8::internal::HandleVector(), v8::internal::Isolate::heap(), v8::internal::Handle< T >::is_null(), v8::internal::PrototypeIterator::IsAtEnd(), v8::internal::TransitionArray::kNotFound, v8::internal::Isolate::MayNamedAccess(), MigrateToMap(), v8::internal::Dictionary< SeededNumberDictionary, SeededNumberDictionaryShape, uint32_t >::New(), v8::internal::Isolate::ReportFailedAccessCheck(), RETURN_EXCEPTION_IF_SCHEDULED_EXCEPTION, v8::internal::SeededNumberDictionary::set_requires_slow_elements(), and THROW_NEW_ERROR.
Referenced by v8::internal::RUNTIME_FUNCTION().
|
staticprivate |
Definition at line 2084 of file objects.cc.
References v8::internal::FORCE_FIELD, v8::internal::Map::GeneralizeRepresentation(), and v8::internal::handle().
|
static |
Definition at line 6268 of file objects.cc.
References v8::ACCESS_HAS, v8::internal::ACCESSOR, v8::internal::CALLBACKS, v8::internal::Dictionary< Derived, Shape, Key >::DetailsAt(), element_dictionary(), v8::internal::Isolate::factory(), v8::internal::HashTable< Derived, Shape, Key >::FindEntry(), v8::internal::PrototypeIterator::GetCurrent(), v8::internal::handle(), v8::internal::PrototypeIterator::IsAtEnd(), v8::internal::HashTable< Derived, Shape, Key >::kNotFound, v8::internal::Object::LookupIterator, v8::internal::Isolate::MayNamedAccess(), name, v8::internal::Isolate::ReportFailedAccessCheck(), RETURN_EXCEPTION_IF_SCHEDULED_EXCEPTION, v8::internal::PrototypeIterator::START_AT_RECEIVER, UNREACHABLE, and v8::internal::Dictionary< Derived, Shape, Key >::ValueAt().
Referenced by v8::internal::RUNTIME_FUNCTION().
Context * v8::internal::JSObject::GetCreationContext | ( | ) |
Definition at line 1794 of file objects.cc.
|
static |
Definition at line 140 of file objects.cc.
References v8::internal::Object::LookupIterator.
Referenced by v8::internal::HOptimizedGraphBuilder::BuildLoadNamedField(), v8::internal::Isolate::CaptureSimpleStackTrace(), v8::Function::GetDisplayName(), v8::internal::Debug::PromiseHasRejectHandler(), and v8::internal::RUNTIME_FUNCTION().
|
static |
Definition at line 148 of file objects.cc.
References v8::ACCESS_GET, v8::internal::ACCESSOR, and UNREACHABLE.
|
staticprivate |
Definition at line 4059 of file objects.cc.
References v8::Value::Int32Value(), v8::Handle< T >::IsEmpty(), LOG, v8::maybe(), and NONE.
Referenced by GetElementAttributeWithReceiver().
|
staticprivate |
Definition at line 4095 of file objects.cc.
References ABSENT, DONT_DELETE, v8::internal::PrototypeIterator::GetCurrent(), v8::internal::JSProxy::GetElementAttributeWithHandler(), v8::internal::PrototypeIterator::IsAtEnd(), v8::maybe(), and READ_ONLY.
|
static |
Definition at line 4025 of file objects.cc.
References ABSENT, v8::ACCESS_HAS, v8::internal::Isolate::bootstrapper(), DCHECK, v8::internal::PrototypeIterator::GetCurrent(), GetElementAttributeWithInterceptor(), v8::internal::PrototypeIterator::IsAtEnd(), v8::maybe(), v8::internal::Isolate::MayIndexedAccess(), v8::internal::Isolate::ReportFailedAccessCheck(), and RETURN_VALUE_IF_SCHEDULED_EXCEPTION.
Referenced by v8::internal::JSReceiver::GetElementAttribute(), v8::internal::JSReceiver::GetOwnElementAttribute(), v8::internal::JSReceiver::HasElement(), and v8::internal::JSReceiver::HasOwnElement().
|
inline |
Definition at line 6346 of file objects-inl.h.
References v8::internal::ElementsAccessor::ForKind(), and GetElementsKind().
Definition at line 12889 of file objects.cc.
References v8::internal::HashTable< Derived, Shape, Key >::Capacity(), v8::internal::DICTIONARY_ELEMENTS, v8::internal::FAST_DOUBLE_ELEMENTS, v8::internal::FAST_ELEMENTS, v8::internal::FAST_HOLEY_DOUBLE_ELEMENTS, v8::internal::FAST_HOLEY_ELEMENTS, v8::internal::FAST_HOLEY_SMI_ELEMENTS, v8::internal::FAST_SMI_ELEMENTS, v8::internal::FixedArray::get(), v8::internal::FixedDoubleArray::is_the_hole(), v8::internal::FixedArrayBase::length(), NULL, v8::internal::HashTable< Derived, Shape, Key >::NumberOfElements(), v8::internal::SLOPPY_ARGUMENTS_ELEMENTS, TYPED_ARRAY_CASE, and TYPED_ARRAYS.
|
inline |
Definition at line 6318 of file objects-inl.h.
References DCHECK, v8::internal::DICTIONARY_ELEMENTS, v8::internal::Map::elements_kind(), v8::internal::HeapObject::GetHeap(), v8::internal::IsFastDoubleElementsKind(), v8::internal::IsFastSmiOrObjectElementsKind(), kElementsOffset, v8::internal::HeapObject::map(), READ_FIELD, and v8::internal::SLOPPY_ARGUMENTS_ELEMENTS.
Referenced by v8::internal::BUILTIN(), v8::internal::Heap::CopyJSObject(), GetElementsAccessor(), HasDictionaryElements(), HasFastDoubleElements(), HasFastElements(), HasFastHoleyElements(), HasFastObjectElements(), HasFastSmiElements(), HasFastSmiOrObjectElements(), and HasSloppyArgumentsElements().
|
static |
Definition at line 3385 of file objects.cc.
References v8::internal::HeapObject::map(), and v8::internal::Map::TransitionElementsTo().
Referenced by v8::NewTypedArray(), NormalizeElements(), PrepareElementsForSort(), v8::anonymous_namespace{api.cc}::PrepareExternalArrayElements(), v8::internal::RUNTIME_FUNCTION(), SetFastDoubleElementsCapacityAndLength(), SetFastElementsCapacityAndLength(), and v8::internal::ArrayConcatVisitor::ToArray().
|
staticprivate |
Definition at line 11812 of file objects.cc.
References v8::internal::Handle< T >::cast(), DCHECK, v8::internal::Isolate::factory(), v8::internal::GetDeclaredAccessorProperty(), v8::internal::Object::GetPropertyWithDefinedGetter(), v8::internal::handle(), v8::Handle< T >::IsEmpty(), LOG, NULL, v8::Utils::OpenHandle(), RETURN_EXCEPTION_IF_SCHEDULED_EXCEPTION, v8::Utils::ToLocal(), and UNREACHABLE.
Referenced by v8::internal::DictionaryElementsAccessor::GetImpl().
|
static |
Definition at line 12839 of file objects.cc.
References ASSIGN_RETURN_ON_EXCEPTION, v8::internal::Isolate::factory(), v8::internal::ElementsAccessor::Get(), v8::internal::PrototypeIterator::GetCurrent(), v8::internal::Object::GetElementWithReceiver(), v8::internal::handle(), v8::internal::PrototypeIterator::IsAtEnd(), v8::Handle< T >::IsEmpty(), LOG, v8::Utils::OpenHandle(), and RETURN_EXCEPTION_IF_SCHEDULED_EXCEPTION.
Referenced by v8::internal::Object::GetElementWithReceiver(), and v8::internal::RUNTIME_FUNCTION().
int v8::internal::JSObject::GetEnumElementKeys | ( | FixedArray * | storage | ) |
Definition at line 13548 of file objects.cc.
References DONT_ENUM.
|
inline |
Definition at line 1919 of file objects-inl.h.
References v8::internal::Map::instance_type(), v8::internal::JS_ARRAY_BUFFER_TYPE, v8::internal::JS_ARRAY_TYPE, v8::internal::JS_BUILTINS_OBJECT_TYPE, v8::internal::JS_CONTEXT_EXTENSION_OBJECT_TYPE, v8::internal::JS_DATA_VIEW_TYPE, v8::internal::JS_DATE_TYPE, v8::internal::JS_FUNCTION_TYPE, v8::internal::JS_GENERATOR_OBJECT_TYPE, v8::internal::JS_GLOBAL_OBJECT_TYPE, v8::internal::JS_GLOBAL_PROXY_TYPE, v8::internal::JS_MAP_ITERATOR_TYPE, v8::internal::JS_MAP_TYPE, v8::internal::JS_MESSAGE_OBJECT_TYPE, v8::internal::JS_MODULE_TYPE, v8::internal::JS_OBJECT_TYPE, v8::internal::JS_REGEXP_TYPE, v8::internal::JS_SET_ITERATOR_TYPE, v8::internal::JS_SET_TYPE, v8::internal::JS_TYPED_ARRAY_TYPE, v8::internal::JS_VALUE_TYPE, v8::internal::JS_WEAK_MAP_TYPE, v8::internal::JS_WEAK_SET_TYPE, kHeaderSize, v8::internal::JSGeneratorObject::kSize, v8::internal::JSModule::kSize, v8::internal::JSFunction::kSize, v8::internal::JSGlobalProxy::kSize, v8::internal::JSGlobalObject::kSize, v8::internal::JSBuiltinsObject::kSize, v8::internal::JSValue::kSize, v8::internal::JSDate::kSize, v8::internal::JSMessageObject::kSize, v8::internal::JSRegExp::kSize, v8::internal::JSCollection::kSize, v8::internal::OrderedHashTableIterator< JSSetIterator, OrderedHashSet >::kSize, v8::internal::OrderedHashTableIterator< JSMapIterator, OrderedHashMap >::kSize, v8::internal::JSWeakCollection::kSize, v8::internal::JSArrayBuffer::kSize, v8::internal::JSTypedArray::kSize, v8::internal::JSDataView::kSize, v8::internal::JSArray::kSize, and v8::internal::HeapObject::map().
Referenced by GetInternalField(), GetInternalFieldCount(), GetInternalFieldOffset(), and SetInternalField().
|
private |
Definition at line 4707 of file objects.cc.
References DCHECK, v8::internal::Isolate::factory(), v8::internal::FIELD, v8::internal::DescriptorArray::GetDetails(), v8::internal::HeapObject::GetHeap(), v8::internal::HeapObject::GetIsolate(), v8::internal::DescriptorArray::GetKey(), v8::internal::DescriptorArray::GetSortedKeyIndex(), v8::internal::DescriptorArray::GetType(), v8::internal::handle(), v8::internal::Object::LookupIterator, v8::internal::HeapObject::map(), v8::internal::DescriptorArray::number_of_descriptors(), and v8::internal::Representation::Tagged().
Definition at line 4594 of file objects.cc.
References DCHECK, v8::internal::PrototypeIterator::GetCurrent(), v8::internal::HeapObject::GetHeap(), v8::internal::HeapObject::GetIsolate(), v8::internal::PrototypeIterator::IsAtEnd(), and v8::internal::ObjectHashTable::Lookup().
|
private |
Definition at line 4554 of file objects.cc.
References v8::internal::Isolate::factory(), v8::internal::HeapObject::GetIsolate(), and v8::internal::Isolate::heap().
InterceptorInfo * v8::internal::JSObject::GetIndexedInterceptor | ( | ) |
Definition at line 13112 of file objects.cc.
References DCHECK, and v8::internal::HeapObject::map().
Definition at line 2045 of file objects-inl.h.
References v8::internal::Map::GetInObjectPropertyOffset(), and v8::internal::HeapObject::map().
Referenced by v8::internal::V8HeapExplorer::ExtractPropertyReferences(), InObjectPropertyAt(), and InObjectPropertyAtPut().
Definition at line 1992 of file objects-inl.h.
References DCHECK, GetHeaderSize(), GetInternalFieldCount(), v8::internal::kPointerSize, and READ_FIELD.
Referenced by v8::internal::V8HeapExplorer::ExtractInternalReferences().
|
inline |
Definition at line 1977 of file objects-inl.h.
References DCHECK, GetHeaderSize(), v8::internal::Map::inobject_properties(), v8::internal::kPointerSize, v8::internal::kPointerSizeLog2, v8::internal::HeapObject::map(), and v8::internal::HeapObject::Size().
Referenced by v8::internal::V8HeapExplorer::ExtractInternalReferences(), GetInternalField(), GetInternalFieldOffset(), v8::internal::Heap::InitializeJSObjectFromMap(), and SetInternalField().
Definition at line 1986 of file objects-inl.h.
References DCHECK, GetHeaderSize(), GetInternalFieldCount(), and v8::internal::kPointerSize.
Referenced by v8::internal::V8HeapExplorer::ExtractInternalReferences().
|
static |
Definition at line 13181 of file objects.cc.
References CHECK, v8::internal::handle(), v8::Handle< T >::IsEmpty(), LOG, and v8::Utils::OpenHandle().
Referenced by v8::internal::JSReceiver::GetKeys(), and v8::internal::RUNTIME_FUNCTION().
|
static |
Definition at line 13156 of file objects.cc.
References CHECK, v8::internal::handle(), v8::Handle< T >::IsEmpty(), LOG, and v8::Utils::OpenHandle().
Referenced by v8::internal::JSReceiver::GetKeys(), and v8::internal::RUNTIME_FUNCTION().
InterceptorInfo * v8::internal::JSObject::GetNamedInterceptor | ( | ) |
Definition at line 13102 of file objects.cc.
References DCHECK, and v8::internal::HeapObject::map().
|
staticprivate |
Definition at line 4740 of file objects.cc.
References v8::internal::Handle< T >::cast(), v8::internal::Isolate::factory(), v8::internal::HashTable< ObjectHashTable, ObjectHashTableShape, Handle< Object > >::New(), v8::internal::ObjectHashTable::Put(), and v8::internal::USE_CUSTOM_MINIMUM_CAPACITY.
|
staticprivate |
Definition at line 4568 of file objects.cc.
References v8::internal::Handle< T >::cast(), v8::internal::Isolate::factory(), v8::internal::GenerateIdentityHash(), and v8::internal::GetOrCreateIdentityHashHelper().
Referenced by v8::internal::JSReceiver::GetOrCreateIdentityHash().
|
static |
Definition at line 11759 of file objects.cc.
References DCHECK, v8::internal::PrototypeIterator::GetCurrent(), and v8::internal::PrototypeIterator::IsAtEnd().
Referenced by v8::internal::GetOldValue(), and v8::internal::GetOwnProperty().
int v8::internal::JSObject::GetOwnElementKeys | ( | FixedArray * | storage, |
PropertyAttributes | filter | ||
) |
Definition at line 13422 of file objects.cc.
References v8::internal::Dictionary< Derived, Shape, Key >::CopyKeysTo(), DCHECK, v8::internal::DICTIONARY_ELEMENTS, v8::internal::FAST_DOUBLE_ELEMENTS, v8::internal::FAST_ELEMENTS, v8::internal::FAST_HOLEY_DOUBLE_ELEMENTS, v8::internal::FAST_HOLEY_ELEMENTS, v8::internal::FAST_HOLEY_SMI_ELEMENTS, v8::internal::FAST_SMI_ELEMENTS, v8::internal::Smi::FromInt(), v8::internal::FixedArray::get(), v8::internal::FixedArray::is_the_hole(), v8::internal::FixedArrayBase::length(), v8::internal::String::length(), NULL, v8::internal::Dictionary< Derived, Shape, Key >::NumberOfElementsFilterAttributes(), v8::internal::FixedArray::set(), v8::internal::SLOPPY_ARGUMENTS_ELEMENTS, v8::internal::Dictionary< SeededNumberDictionary, SeededNumberDictionaryShape, uint32_t >::SORTED, v8::internal::FixedArray::SortPairs(), TYPED_ARRAY_CASE, TYPED_ARRAYS, and v8::internal::Dictionary< SeededNumberDictionary, SeededNumberDictionaryShape, uint32_t >::UNSORTED.
void v8::internal::JSObject::GetOwnPropertyNames | ( | FixedArray * | storage, |
int | index, | ||
PropertyAttributes | filter = NONE |
||
) |
Definition at line 13382 of file objects.cc.
References DCHECK, v8::internal::FilterKey(), v8::internal::DescriptorArray::GetDetails(), v8::internal::DescriptorArray::GetKey(), v8::internal::FixedArrayBase::length(), v8::internal::HeapObject::map(), v8::internal::Map::NumberOfOwnDescriptors(), v8::internal::FixedArray::set(), and v8::internal::Dictionary< NameDictionary, NameDictionaryShape, Handle< Name > >::UNSORTED.
|
static |
Definition at line 601 of file objects.cc.
References ABSENT, v8::ACCESS_HAS, v8::internal::FindAllCanReadHolder(), v8::maybe(), and RETURN_VALUE_IF_SCHEDULED_EXCEPTION.
Referenced by v8::internal::JSReceiver::GetPropertyAttributes().
|
static |
Definition at line 3940 of file objects.cc.
References ABSENT, DCHECK, DONT_ENUM, v8::Value::Int32Value(), v8::Handle< T >::IsEmpty(), v8::Value::IsInt32(), LOG, v8::maybe(), name, RETURN_VALUE_IF_SCHEDULED_EXCEPTION, and v8::Utils::ToLocal().
Referenced by v8::internal::JSReceiver::GetPropertyAttributes(), and v8::internal::Object::SetProperty().
|
staticprivate |
Definition at line 587 of file objects.cc.
References v8::ACCESS_GET, v8::internal::FindAllCanReadHolder(), v8::internal::Object::GetPropertyWithAccessor(), and RETURN_EXCEPTION_IF_SCHEDULED_EXCEPTION.
Referenced by v8::internal::Object::GetProperty().
|
static |
Definition at line 13122 of file objects.cc.
References v8::internal::Handle< T >::cast(), v8::internal::Isolate::factory(), v8::internal::handle(), v8::Handle< T >::IsEmpty(), LOG, name, v8::Utils::OpenHandle(), RETURN_EXCEPTION_IF_SCHEDULED_EXCEPTION, and v8::Utils::ToLocal().
Referenced by v8::internal::Object::GetProperty().
|
private |
Definition at line 12881 of file objects.cc.
bool v8::internal::JSObject::HasDictionaryArgumentsElements | ( | ) |
Definition at line 11934 of file objects.cc.
References v8::internal::FixedArray::get(), v8::internal::HeapObject::GetHeap(), and v8::internal::HeapObject::map().
|
inline |
Definition at line 6381 of file objects-inl.h.
References v8::internal::DICTIONARY_ELEMENTS, and GetElementsKind().
Referenced by element_dictionary(), and v8::internal::V8HeapExplorer::ExtractElementReferences().
|
inline |
Definition at line 6391 of file objects-inl.h.
Referenced by v8::internal::Heap::AllocateJSObjectFromMap(), and v8::internal::JSArray::AllowsSetElementsLength().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
bool v8::internal::JSObject::HasFastArgumentsElements | ( | ) |
Definition at line 11922 of file objects.cc.
References v8::internal::FixedArray::get(), v8::internal::HeapObject::GetHeap(), and v8::internal::HeapObject::map().
|
inline |
Definition at line 6366 of file objects-inl.h.
References GetElementsKind(), and v8::internal::IsFastDoubleElementsKind().
Referenced by v8::internal::Heap::CopyJSObject().
|
inline |
Definition at line 6376 of file objects-inl.h.
References GetElementsKind(), and v8::internal::IsFastElementsKind().
Referenced by v8::internal::Heap::AllocateJSObjectFromMap(), and v8::internal::BUILTIN().
|
inline |
Definition at line 6371 of file objects-inl.h.
References GetElementsKind(), and v8::internal::IsFastHoleyElementsKind().
|
inline |
Definition at line 6351 of file objects-inl.h.
References GetElementsKind(), and v8::internal::IsFastObjectElementsKind().
Referenced by v8::internal::V8HeapExplorer::ExtractElementReferences(), and IsDirty().
|
inline |
Definition at line 2092 of file objects-inl.h.
References DCHECK, and v8::internal::HeapObject::map().
Referenced by v8::internal::V8HeapExplorer::ExtractPropertyReferences(), IsDirty(), and property_dictionary().
|
inline |
Definition at line 6356 of file objects-inl.h.
References GetElementsKind(), and v8::internal::IsFastSmiElementsKind().
|
inline |
Definition at line 6361 of file objects-inl.h.
References GetElementsKind(), and v8::internal::IsFastSmiOrObjectElementsKind().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 6412 of file objects-inl.h.
Referenced by v8::internal::Heap::AllocateJSObjectFromMap().
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 4697 of file objects.cc.
References ABSENT, DCHECK, v8::internal::Object::LookupIterator, and v8::maybe().
Referenced by v8::internal::RUNTIME_FUNCTION().
|
inline |
Definition at line 6438 of file objects-inl.h.
References v8::internal::Map::has_indexed_interceptor(), and v8::internal::HeapObject::map().
Referenced by v8::internal::JSReceiver::IsSimpleEnum().
|
inline |
Definition at line 6433 of file objects-inl.h.
References v8::internal::Map::has_named_interceptor(), and v8::internal::HeapObject::map().
Referenced by v8::internal::JSReceiver::IsSimpleEnum().
|
static |
Definition at line 13214 of file objects.cc.
References ABSENT, v8::ACCESS_HAS, DCHECK, v8::internal::PrototypeIterator::GetCurrent(), v8::Maybe< T >::has_value, v8::internal::PrototypeIterator::IsAtEnd(), v8::maybe(), v8::internal::Isolate::MayIndexedAccess(), v8::internal::Isolate::ReportFailedAccessCheck(), RETURN_VALUE_IF_SCHEDULED_EXCEPTION, and v8::Maybe< T >::value.
Referenced by v8::Object::HasRealIndexedProperty().
|
static |
Definition at line 13243 of file objects.cc.
References v8::internal::ACCESSOR, v8::Maybe< T >::has_value, v8::internal::Object::LookupIterator, and v8::maybe().
Referenced by v8::Object::HasRealNamedCallbackProperty().
|
static |
Definition at line 13205 of file objects.cc.
References v8::Maybe< T >::has_value, v8::internal::Object::LookupIterator, and v8::maybe().
Referenced by v8::Object::HasRealNamedProperty(), and v8::internal::RUNTIME_FUNCTION().
|
inline |
Definition at line 6386 of file objects-inl.h.
References GetElementsKind(), and v8::internal::SLOPPY_ARGUMENTS_ELEMENTS.
|
inline |
Definition at line 1841 of file objects-inl.h.
References v8::internal::Map::GetInitialElements(), kElementsOffset, v8::internal::HeapObject::map(), and WRITE_FIELD.
Referenced by v8::internal::Heap::InitializeJSObjectFromMap().
|
inline |
Definition at line 2068 of file objects-inl.h.
References DCHECK, v8::internal::HeapObject::GetHeap(), v8::internal::Map::instance_size(), kHeaderSize, v8::internal::kPointerSize, v8::internal::HeapObject::map(), v8::internal::Map::pre_allocated_property_fields(), size, and WRITE_FIELD.
Referenced by v8::internal::Heap::InitializeJSObjectFromMap().
Definition at line 2050 of file objects-inl.h.
References GetInObjectPropertyOffset(), and READ_FIELD.
Referenced by v8::internal::V8HeapExplorer::ExtractPropertyReferences().
|
inline |
Definition at line 2056 of file objects-inl.h.
References CONDITIONAL_WRITE_BARRIER, v8::internal::HeapObject::GetHeap(), GetInObjectPropertyOffset(), mode(), and WRITE_FIELD.
bool v8::internal::JSObject::IsDirty | ( | ) |
Definition at line 732 of file objects.cc.
References HasFastObjectElements(), HasFastProperties(), v8::internal::JSFunction::initial_map(), and v8::internal::HeapObject::map().
void v8::internal::JSObject::JSObjectShortPrint | ( | StringStream * | accumulator | ) |
Definition at line 1185 of file objects.cc.
References v8::internal::AnWord(), v8::internal::JSReceiver::constructor_name(), v8::internal::Heap::Contains(), v8::internal::HeapObject::GetHeap(), v8::internal::Map::is_deprecated(), v8::internal::JS_ARRAY_TYPE, v8::internal::JS_FUNCTION_TYPE, v8::internal::JS_GENERATOR_OBJECT_TYPE, v8::internal::JS_MODULE_TYPE, v8::internal::JS_REGEXP_TYPE, v8::internal::JS_WEAK_MAP_TYPE, v8::internal::JS_WEAK_SET_TYPE, v8::internal::String::length(), and v8::internal::HeapObject::map().
|
staticprivate |
Definition at line 1930 of file objects.cc.
|
staticprivate |
Definition at line 4178 of file objects.cc.
References v8::internal::Dictionary< NameDictionary, NameDictionaryShape, Handle< Name > >::Add(), v8::internal::Heap::AdjustLiveBytes(), v8::internal::CALLBACKS, v8::internal::Handle< T >::cast(), v8::internal::CONSTANT, v8::internal::Isolate::counters(), v8::internal::Heap::CreateFillerObjectAt(), DCHECK, v8::internal::Isolate::factory(), v8::internal::FIELD, v8::internal::Heap::FROM_MUTATOR, v8::internal::Isolate::heap(), v8::internal::Map::instance_size(), v8::internal::HeapObject::map(), v8::internal::Dictionary< NameDictionary, NameDictionaryShape, Handle< Name > >::New(), v8::internal::NORMAL, v8::internal::Map::NumberOfOwnDescriptors(), and UNREACHABLE.
Definition at line 3728 of file objects.cc.
References v8::internal::HeapObject::map(), v8::internal::Map::set_migration_target(), and v8::internal::Map::Update().
Referenced by v8::internal::MigrateDeprecated(), and v8::internal::JSObjectWalkVisitor< ContextObject >::StructureWalk().
|
static |
Definition at line 4279 of file objects.cc.
References v8::internal::DescriptorArray::Allocate(), v8::internal::CALLBACKS, v8::internal::Map::CopyDropDescriptors(), DCHECK, DCHECK_LE, v8::internal::NameDictionary::DoGenerateNewEnumerationIndices(), v8::internal::Isolate::factory(), v8::internal::FIELD, v8::internal::handle(), v8::internal::Isolate::heap(), v8::internal::kMaxNumberOfDescriptors, v8::internal::NORMAL, v8::internal::Representation::Tagged(), UNREACHABLE, and v8::internal::UPDATE_WRITE_BARRIER.
Referenced by v8::internal::CreateObjectLiteralBoilerplate(), v8::ObjectSetAccessor(), OptimizeAsPrototype(), and v8::internal::RUNTIME_FUNCTION().
|
static |
Definition at line 1886 of file objects.cc.
Referenced by AllocateStorageForMap(), DeleteNormalizedProperty(), Freeze(), MigrateToNewProperty(), v8::internal::NewJSObjectWithNullProto(), NormalizeElements(), OptimizeAsPrototype(), PreventExtensions(), v8::internal::RUNTIME_FUNCTION(), SetFastElement(), SetMapAndElements(), SetObserved(), SetPropertyCallback(), v8::internal::JSFunction::SetPrototype(), SetPrototype(), TryMigrateInstance(), and v8::Object::TurnOnAccessCheck().
|
static |
Definition at line 3756 of file objects.cc.
References v8::internal::FIELD, v8::internal::Map::GetLastDescriptorDetails(), v8::internal::Map::LastAdded(), v8::internal::HeapObject::map(), and MigrateToMap().
Referenced by v8::internal::RUNTIME_FUNCTION().
Definition at line 1911 of file objects.h.
Referenced by v8::internal::Isolate::CaptureSimpleStackTrace(), and v8::internal::FastElementsAccessor< FastElementsAccessorSubclass, KindTraits >::SetLengthWithoutNormalize().
|
static |
Definition at line 4459 of file objects.cc.
References v8::internal::Handle< T >::cast(), v8::internal::CopyFastElementsToDictionary(), v8::internal::Isolate::counters(), DCHECK, v8::internal::DICTIONARY_ELEMENTS, GetElementsTransitionMap(), v8::internal::handle(), v8::internal::Isolate::heap(), MigrateToMap(), and v8::internal::Dictionary< SeededNumberDictionary, SeededNumberDictionaryShape, uint32_t >::New().
Referenced by v8::internal::CreateObjectLiteralBoilerplate(), v8::internal::FastElementsAccessor< FastElementsAccessorSubclass, KindTraits >::DeleteCommon(), v8::internal::RUNTIME_FUNCTION(), v8::internal::JSArray::SetElementsLength(), and v8::internal::ElementsAccessorBase< ElementsAccessorSubclass, ElementsTraitsParam >::SetLengthImpl().
|
static |
Definition at line 4166 of file objects.cc.
References v8::internal::HeapObject::map(), mode(), and v8::internal::Map::Normalize().
Referenced by v8::internal::CreateObjectLiteralBoilerplate(), v8::internal::Isolate::GetSymbolRegistry(), OptimizeAsPrototype(), and v8::internal::RUNTIME_FUNCTION().
int v8::internal::JSObject::NumberOfEnumElements | ( | ) |
Definition at line 13408 of file objects.cc.
References DONT_ENUM, and v8::internal::FixedArrayBase::length().
Referenced by v8::internal::JSReceiver::IsSimpleEnum().
int v8::internal::JSObject::NumberOfOwnElements | ( | PropertyAttributes | filter | ) |
Definition at line 13403 of file objects.cc.
References NULL.
int v8::internal::JSObject::NumberOfOwnProperties | ( | PropertyAttributes | filter = NONE | ) |
Definition at line 13252 of file objects.cc.
References DONT_ENUM, v8::internal::Map::EnumLength(), v8::internal::kInvalidEnumCacheSentinel, v8::internal::HeapObject::map(), NONE, v8::internal::Map::NumberOfDescribedProperties(), v8::internal::Map::NumberOfOwnDescriptors(), and v8::internal::OWN_DESCRIPTORS.
|
static |
Definition at line 9329 of file objects.cc.
References v8::internal::Map::Copy(), v8::internal::FAST_PROTOTYPE, v8::internal::handle(), v8::internal::KEEP_INOBJECT_PROPERTIES, MigrateSlowToFast(), MigrateToMap(), mode(), and NormalizeProperties().
Referenced by ReoptimizeIfPrototype(), v8::internal::JSFunction::SetInitialMap(), and SetPrototype().
|
static |
Definition at line 14245 of file objects.cc.
References DCHECK, v8::internal::Isolate::factory(), v8::internal::FAST_HOLEY_ELEMENTS, v8::internal::Smi::FromInt(), v8::internal::FixedArray::get(), v8::internal::FixedDoubleArray::get_scalar(), GetElementsTransitionMap(), v8::internal::HeapObject::GetWriteBarrierMode(), v8::internal::handle(), v8::internal::Isolate::heap(), v8::internal::Heap::InNewSpace(), v8::internal::FixedDoubleArray::is_the_hole(), v8::internal::NOT_TENURED, PrepareSlowElementsForSort(), v8::internal::FixedDoubleArray::set(), v8::internal::FixedArray::set(), v8::internal::FixedArray::set_the_hole(), v8::internal::FixedDoubleArray::set_the_hole(), v8::internal::FixedArray::set_undefined(), SetMapAndElements(), v8::internal::TENURED, and ValidateElements().
Referenced by v8::internal::RUNTIME_FUNCTION().
|
static |
Definition at line 14154 of file objects.cc.
References v8::internal::SeededNumberDictionary::AddNumberEntry(), v8::internal::CALLBACKS, DCHECK, v8::internal::Isolate::factory(), v8::internal::Smi::FromInt(), v8::internal::kMaxUInt32, v8::internal::Smi::kMaxValue, v8::internal::Dictionary< SeededNumberDictionary, SeededNumberDictionaryShape, uint32_t >::New(), NONE, v8::internal::NORMAL, v8::internal::NumberToUint32(), and USE().
Referenced by PrepareElementsForSort().
|
static |
Definition at line 5159 of file objects.cc.
References v8::ACCESS_KEYS, v8::internal::Map::Copy(), DCHECK, v8::internal::Isolate::factory(), v8::internal::PrototypeIterator::GetCurrent(), v8::internal::handle(), v8::internal::HandleVector(), v8::internal::PrototypeIterator::IsAtEnd(), v8::internal::Isolate::MayNamedAccess(), MigrateToMap(), v8::internal::Isolate::ReportFailedAccessCheck(), RETURN_EXCEPTION_IF_SCHEDULED_EXCEPTION, and THROW_NEW_ERROR.
Referenced by v8::internal::RUNTIME_FUNCTION().
|
static |
Definition at line 1283 of file objects.cc.
References v8::internal::ElementsKindToString(), file(), v8::internal::PrintF(), and v8::internal::JavaScriptFrame::PrintTop().
Referenced by SetFastDoubleElementsCapacityAndLength(), and SetFastElementsCapacityAndLength().
void v8::internal::JSObject::PrintInstanceMigration | ( | FILE * | file, |
Map * | original_map, | ||
Map * | new_map | ||
) |
Definition at line 1345 of file objects.cc.
References v8::internal::CONSTANT, v8::internal::Map::constructor_name(), v8::internal::Representation::Equals(), v8::internal::FIELD, file(), v8::internal::DescriptorArray::GetDetails(), v8::internal::DescriptorArray::GetKey(), v8::internal::HeapObject::map(), v8::internal::Representation::Mnemonic(), name, v8::internal::Map::NumberOfOwnDescriptors(), v8::internal::PrintF(), and v8::internal::String::PrintOn().
|
inline |
Definition at line 6443 of file objects-inl.h.
References DCHECK, and HasFastProperties().
Referenced by v8::internal::V8HeapExplorer::ExtractPropertyReferences(), and SetNormalizedProperty().
|
inline |
Definition at line 2025 of file objects-inl.h.
References READ_FIELD.
Referenced by v8::internal::V8HeapExplorer::ExtractPropertyReferences().
Definition at line 5047 of file objects.cc.
References v8::internal::Isolate::context(), v8::internal::JSFunction::context(), v8::internal::DICTIONARY_ELEMENTS, v8::internal::Context::extension(), v8::internal::FAST_DOUBLE_ELEMENTS, v8::internal::FAST_ELEMENTS, v8::internal::FAST_HOLEY_DOUBLE_ELEMENTS, v8::internal::FAST_HOLEY_ELEMENTS, v8::internal::FAST_HOLEY_SMI_ELEMENTS, v8::internal::FAST_SMI_ELEMENTS, v8::internal::FixedArray::get(), v8::internal::HeapObject::GetHeap(), v8::internal::Context::has_extension(), v8::internal::Context::IsCatchContext(), v8::internal::Context::IsGlobalContext(), v8::internal::Context::IsNativeContext(), v8::internal::Heap::isolate(), v8::internal::FixedArrayBase::length(), v8::internal::HeapObject::map(), v8::internal::Context::MIN_CONTEXT_SLOTS, v8::internal::Context::native_context(), ReferencesObject(), v8::internal::SLOPPY_ARGUMENTS_ELEMENTS, TYPED_ARRAY_CASE, and TYPED_ARRAYS.
Referenced by v8::internal::DebugReferencedBy(), and ReferencesObject().
|
private |
Definition at line 5024 of file objects.cc.
References DCHECK, v8::internal::DICTIONARY_ELEMENTS, v8::internal::FixedArray::get(), v8::internal::IsFastObjectElementsKind(), and v8::internal::FixedArrayBase::length().
Definition at line 9349 of file objects.cc.
References v8::internal::FAST_PROTOTYPE, and OptimizeAsPrototype().
Definition at line 4416 of file objects.cc.
References CHECK, v8::internal::Isolate::heap(), and v8::internal::Dictionary< SeededNumberDictionary, SeededNumberDictionaryShape, uint32_t >::New().
Referenced by v8::internal::RUNTIME_FUNCTION(), and v8::internal::DictionaryElementsAccessor::SetLengthWithoutNormalize().
|
static |
Definition at line 6188 of file objects.cc.
References v8::ACCESS_SET, CHECK, DCHECK, v8::internal::DICTIONARY_ELEMENTS, v8::internal::Isolate::factory(), v8::internal::FAST_DOUBLE_ELEMENTS, v8::internal::FAST_ELEMENTS, v8::internal::FAST_HOLEY_DOUBLE_ELEMENTS, v8::internal::FAST_HOLEY_ELEMENTS, v8::internal::FAST_HOLEY_SMI_ELEMENTS, v8::internal::FAST_SMI_ELEMENTS, v8::internal::String::Flatten(), v8::internal::PrototypeIterator::GetCurrent(), v8::internal::PrototypeIterator::IsAtEnd(), v8::internal::Object::LookupIterator, v8::internal::Isolate::MayNamedAccess(), name, v8::internal::Isolate::ReportFailedAccessCheck(), RETURN_EXCEPTION_IF_SCHEDULED_EXCEPTION, v8::internal::SLOPPY_ARGUMENTS_ELEMENTS, TYPED_ARRAY_CASE, TYPED_ARRAYS, and UNIMPLEMENTED.
Referenced by v8::ObjectSetAccessor(), and v8::internal::RUNTIME_FUNCTION().
|
staticprivate |
Definition at line 12077 of file objects.cc.
References v8::internal::SeededNumberDictionary::AddNumberEntry(), v8::internal::CALLBACKS, v8::internal::Handle< T >::cast(), v8::internal::Context::cast(), CHECK, DCHECK, v8::internal::DEFINE_PROPERTY, v8::internal::Isolate::factory(), v8::internal::HandleVector(), v8::internal::Isolate::heap(), v8::internal::JSArray::JSArrayUpdateLengthFromIndex(), v8::internal::HashTable< Derived, Shape, Key >::kNotFound, v8::internal::FixedArrayBase::length(), name, v8::internal::NORMAL, v8::internal::SET_PROPERTY, v8::internal::SLOPPY, THROW_NEW_ERROR, v8::internal::Object::ToArrayIndex(), and ValidateElements().
|
static |
Definition at line 12336 of file objects.cc.
References ABSENT, v8::ACCESS_SET, arraysize, ASSIGN_RETURN_ON_EXCEPTION, v8::internal::BeginPerformSplice(), CHECK, DCHECK, v8::internal::DEFINE_PROPERTY, DONT_DELETE, DONT_ENUM, v8::internal::EndPerformSplice(), v8::internal::EnqueueSpliceRecord(), v8::internal::Isolate::factory(), v8::internal::PrototypeIterator::GetCurrent(), v8::internal::Object::GetElement(), v8::internal::JSReceiver::GetOwnElementAttribute(), v8::internal::handle(), v8::internal::HandleVector(), v8::internal::PrototypeIterator::IsAtEnd(), v8::internal::FixedArrayBase::length(), v8::maybe(), v8::internal::Isolate::MayIndexedAccess(), name, READ_ONLY, v8::internal::Isolate::ReportFailedAccessCheck(), RETURN_EXCEPTION_IF_SCHEDULED_EXCEPTION, THROW_NEW_ERROR, and v8::internal::ToNumber().
Referenced by v8::internal::Runtime::DefineObjectProperty(), v8::internal::Scope::ResolveVariable(), v8::internal::RUNTIME_FUNCTION(), v8::Object::Set(), v8::internal::JSReceiver::SetElement(), v8::internal::JSArray::SetElementsLength(), v8::internal::SetElementSloppy(), v8::internal::JSArrayBasedStruct< S >::SetField(), v8::internal::Runtime::SetObjectProperty(), SetOwnElement(), and v8::internal::StoreIC::Store().
|
staticprivate |
Definition at line 6024 of file objects.cc.
References v8::internal::CALLBACKS, v8::internal::Heap::ClearAllICsByKind(), DCHECK, v8::internal::FixedArrayBase::length(), v8::internal::SeededNumberDictionary::Set(), and v8::internal::FixedArray::set().
|
staticprivate |
Definition at line 11866 of file objects.cc.
References v8::internal::Handle< T >::cast(), DCHECK, v8::internal::Isolate::factory(), v8::internal::HandleVector(), LOG, NULL, RETURN_EXCEPTION_IF_SCHEDULED_EXCEPTION, v8::internal::Object::SetPropertyWithDefinedSetter(), v8::internal::SLOPPY, THROW_NEW_ERROR, v8::Utils::ToLocal(), and UNREACHABLE.
|
staticprivate |
Definition at line 3020 of file objects.cc.
References v8::internal::CALLBACKS, v8::internal::Handle< T >::cast(), v8::internal::Isolate::factory(), v8::internal::PrototypeIterator::GetCurrent(), v8::internal::PrototypeIterator::IsAtEnd(), v8::internal::HashTable< Derived, Shape, Key >::kNotFound, and v8::internal::JSProxy::SetPropertyViaPrototypesWithHandler().
|
staticprivate |
Definition at line 11777 of file objects.cc.
References v8::Handle< T >::IsEmpty(), LOG, RETURN_EXCEPTION_IF_SCHEDULED_EXCEPTION, and v8::Utils::ToLocal().
|
staticprivate |
Definition at line 12475 of file objects.cc.
References v8::internal::Handle< T >::cast(), v8::internal::Context::cast(), v8::internal::CheckArrayAbuse(), DCHECK, v8::internal::DICTIONARY_ELEMENTS, DONT_DELETE, DONT_ENUM, v8::internal::Isolate::factory(), v8::internal::FAST_DOUBLE_ELEMENTS, v8::internal::FAST_ELEMENTS, v8::internal::FAST_HOLEY_DOUBLE_ELEMENTS, v8::internal::FAST_HOLEY_ELEMENTS, v8::internal::FAST_HOLEY_SMI_ELEMENTS, v8::internal::FAST_SMI_ELEMENTS, v8::internal::Handle< T >::is_null(), v8::internal::IsExternalArrayElementsKind(), v8::internal::FixedArrayBase::length(), NONE, READ_ONLY, v8::internal::JSArray::ReadOnlyLengthError(), v8::internal::SET_PROPERTY, v8::internal::SLOPPY, v8::internal::SLOPPY_ARGUMENTS_ELEMENTS, TYPED_ARRAY_CASE, TYPED_ARRAYS, UNREACHABLE, and v8::internal::JSArray::WouldChangeReadOnlyLength().
|
staticprivate |
Definition at line 12214 of file objects.cc.
References ASSIGN_RETURN_ON_EXCEPTION, v8::internal::Handle< T >::cast(), CHECK, DCHECK, v8::internal::Smi::FromInt(), v8::internal::GetHoleyElementsKind(), v8::internal::FixedArray::is_the_hole(), v8::internal::IsFastHoleyElementsKind(), v8::internal::FixedArrayBase::length(), NONE, v8::internal::Object::ToArrayIndex(), and ValidateElements().
|
static |
Definition at line 11044 of file objects.cc.
References v8::internal::Handle< T >::cast(), CHECK, v8::internal::ElementsAccessor::CopyElements(), DCHECK, v8::internal::FAST_DOUBLE_ELEMENTS, v8::internal::FAST_HOLEY_DOUBLE_ELEMENTS, v8::internal::ElementsAccessor::ForKind(), v8::internal::Smi::FromInt(), GetElementsTransitionMap(), v8::internal::IsHoleyElementsKind(), PrintElementsTransition(), SetMapAndElements(), v8::internal::SLOPPY_ARGUMENTS_ELEMENTS, and ValidateElements().
Referenced by v8::internal::FastDoubleElementsAccessor< FastElementsAccessorSubclass, KindTraits >::SetFastElementsCapacityAndLength().
|
static |
Definition at line 11949 of file objects.cc.
References v8::internal::Handle< T >::cast(), CHECK, DCHECK, v8::internal::FAST_DOUBLE_ELEMENTS, v8::internal::FAST_ELEMENTS, v8::internal::FAST_HOLEY_DOUBLE_ELEMENTS, v8::internal::FAST_HOLEY_ELEMENTS, v8::internal::Smi::FromInt(), v8::internal::GetHoleyElementsKind(), v8::internal::handle(), v8::internal::Isolate::heap(), v8::internal::IsFastElementsKind(), v8::internal::IsFastHoleyElementsKind(), v8::internal::IsFastObjectElementsKind(), v8::internal::IsHoleyElementsKind(), v8::internal::DependentCode::kElementsCantBeAddedGroup, v8::internal::FixedArrayBase::length(), MigrateToMap(), NONE, v8::internal::Object::ToArrayIndex(), and ValidateElements().
Referenced by v8::internal::RUNTIME_FUNCTION().
|
static |
Definition at line 10982 of file objects.cc.
References v8::internal::Handle< T >::cast(), v8::internal::ElementsAccessor::CopyElements(), DCHECK, v8::internal::FAST_ELEMENTS, v8::internal::FAST_HOLEY_ELEMENTS, v8::internal::FAST_HOLEY_SMI_ELEMENTS, v8::internal::FAST_SMI_ELEMENTS, v8::internal::ElementsAccessor::ForKind(), v8::internal::Smi::FromInt(), GetElementsTransitionMap(), v8::internal::handle(), v8::internal::IsHoleyElementsKind(), kAllowSmiElements, kForceSmiElements, PrintElementsTransition(), SetMapAndElements(), v8::internal::SLOPPY_ARGUMENTS_ELEMENTS, UpdateAllocationSite(), and ValidateElements().
Referenced by v8::internal::FastSmiOrObjectElementsAccessor< FastElementsAccessorSubclass, KindTraits >::SetFastElementsCapacityAndLength().
|
staticprivate |
Definition at line 4766 of file objects.cc.
References DCHECK, DONT_ENUM, v8::internal::Isolate::factory(), and name.
Referenced by SetHiddenProperty().
|
static |
Definition at line 4627 of file objects.cc.
References DCHECK, v8::internal::Isolate::factory(), v8::internal::PrototypeIterator::GetCurrent(), v8::internal::PrototypeIterator::IsAtEnd(), v8::internal::ObjectHashTable::Put(), and SetHiddenPropertiesHashTable().
Referenced by v8::internal::RUNTIME_FUNCTION(), and v8::Object::SetHiddenValue().
|
static |
Definition at line 4534 of file objects.cc.
References DCHECK, and v8::internal::Isolate::factory().
Referenced by v8::internal::JSProxy::Fix().
Definition at line 2001 of file objects-inl.h.
References DCHECK, GetHeaderSize(), v8::internal::HeapObject::GetHeap(), GetInternalFieldCount(), v8::internal::kPointerSize, WRITE_BARRIER, and WRITE_FIELD.
Definition at line 2012 of file objects-inl.h.
References DCHECK, GetHeaderSize(), GetInternalFieldCount(), v8::internal::kPointerSize, and WRITE_FIELD.
|
inlinestatic |
Definition at line 1814 of file objects-inl.h.
References DCHECK, and MigrateToMap().
Referenced by v8::internal::JSTypedArray::MaterializeArrayBuffer(), v8::NewTypedArray(), PrepareElementsForSort(), v8::anonymous_namespace{api.cc}::PrepareExternalArrayElements(), v8::internal::RUNTIME_FUNCTION(), SetFastDoubleElementsCapacityAndLength(), and SetFastElementsCapacityAndLength().
|
static |
Definition at line 641 of file objects.cc.
References v8::internal::Dictionary< NameDictionary, NameDictionaryShape, Handle< Name > >::Add(), DCHECK, v8::internal::Dictionary< Derived, Shape, Key >::DetailsAt(), v8::internal::Dictionary< Derived, Shape, Key >::DetailsAtPut(), v8::internal::NameDictionary::FindEntry(), v8::internal::HashTable< Derived, Shape, Key >::kNotFound, name, v8::internal::Dictionary< Derived, Shape, Key >::NextEnumerationIndex(), property_dictionary(), v8::internal::Dictionary< Derived, Shape, Key >::SetEntry(), v8::internal::Dictionary< Derived, Shape, Key >::SetNextEnumerationIndex(), v8::internal::PropertyCell::SetValueInferType(), and v8::internal::Dictionary< Derived, Shape, Key >::ValueAt().
Definition at line 5340 of file objects.cc.
References v8::internal::Map::Copy(), v8::internal::Map::CopyForObserved(), DCHECK, v8::internal::handle(), v8::internal::Isolate::heap(), v8::internal::TransitionArray::kNotFound, and MigrateToMap().
Referenced by v8::internal::RUNTIME_FUNCTION().
|
static |
Definition at line 12327 of file objects.cc.
References DCHECK, NONE, and SetElement().
Referenced by v8::internal::CreateObjectLiteralBoilerplate().
|
static |
Definition at line 3808 of file objects.cc.
References v8::ACCESS_SET, v8::internal::ACCESSOR, DCHECK, v8::internal::Object::LookupIterator, name, v8::internal::SLOPPY, and UNREACHABLE.
Referenced by v8::internal::CreateObjectLiteralBoilerplate(), v8::internal::DeclareGlobals(), v8::internal::Runtime::DefineObjectProperty(), v8::internal::RUNTIME_FUNCTION(), and v8::internal::SetPropertyOnInstanceIfInherited().
|
staticprivate |
Definition at line 6064 of file objects.cc.
References v8::internal::CALLBACKS, v8::internal::CLEAR_INOBJECT_PROPERTIES, v8::internal::Map::CopyDropDescriptors(), DCHECK, v8::internal::Deoptimizer::DeoptimizeGlobalObject(), v8::internal::handle(), v8::internal::KEEP_INOBJECT_PROPERTIES, MigrateToMap(), mode(), and name.
|
staticprivate |
Definition at line 626 of file objects.cc.
References v8::ACCESS_SET, v8::internal::FindAllCanWriteHolder(), RETURN_EXCEPTION_IF_SCHEDULED_EXCEPTION, and v8::internal::Object::SetPropertyWithAccessor().
Referenced by v8::internal::Object::SetProperty().
|
static |
Definition at line 2773 of file objects.cc.
References v8::internal::Handle< T >::cast(), v8::Handle< T >::IsEmpty(), LOG, RETURN_EXCEPTION_IF_SCHEDULED_EXCEPTION, and v8::Utils::ToLocal().
Referenced by v8::internal::Object::SetProperty().
|
static |
Definition at line 11658 of file objects.cc.
References v8::internal::PrototypeIterator::Advance(), arraysize, v8::internal::Handle< T >::cast(), v8::internal::Heap::ClearInstanceofCache(), DCHECK, v8::internal::PrototypeIterator::END_AT_NON_HIDDEN, v8::internal::FAST_PROTOTYPE, v8::internal::PrototypeIterator::GetCurrent(), v8::internal::HandleVector(), v8::internal::Isolate::heap(), v8::internal::PrototypeIterator::IsAtEnd(), v8::internal::HeapObject::map(), MigrateToMap(), mode(), NULL, OptimizeAsPrototype(), v8::internal::REGULAR_PROTOTYPE, size, v8::internal::PrototypeIterator::START_AT_RECEIVER, THROW_NEW_ERROR, and v8::internal::Map::TransitionToPrototype().
Referenced by v8::internal::JSFunction::CloneClosure(), v8::internal::RUNTIME_FUNCTION(), and v8::Object::SetPrototype().
Definition at line 13035 of file objects.cc.
References v8::internal::HashTable< Derived, Shape, Key >::Capacity(), DCHECK, v8::internal::HashTable< Derived, Shape, Key >::KeyAt(), and v8::internal::Dictionary< Derived, Shape, Key >::ValueAt().
bool v8::internal::JSObject::ShouldConvertToFastElements | ( | ) |
Definition at line 12999 of file objects.cc.
References v8::internal::HashTable< Derived, Shape, Key >::Capacity(), CHECK, DCHECK, v8::internal::FixedArray::get(), v8::internal::HeapObject::GetHeap(), v8::internal::HashTable< Derived, Shape, Key >::kEntrySize, v8::internal::FixedArrayBase::length(), v8::internal::HeapObject::map(), v8::internal::SeededNumberDictionary::max_number_key(), NULL, v8::internal::SeededNumberDictionary::requires_slow_elements(), and v8::internal::Object::ToArrayIndex().
Definition at line 12979 of file objects.cc.
References v8::internal::HashTable< Derived, Shape, Key >::ComputeCapacity(), v8::internal::HeapObject::GetHeap(), v8::internal::HashTable< Derived, Shape, Key >::kEntrySize, and v8::internal::FixedArray::STATIC_ASSERT().
Definition at line 6346 of file objects.cc.
References v8::internal::CONSTANT, DCHECK, v8::internal::FIELD, v8::internal::DescriptorArray::GetConstant(), v8::internal::DescriptorArray::GetDetails(), v8::internal::HeapObject::GetHeap(), v8::internal::DescriptorArray::GetKey(), v8::internal::DescriptorArray::GetType(), v8::internal::HeapObject::map(), v8::internal::Object::Number(), and v8::internal::Map::NumberOfOwnDescriptors().
v8::internal::JSObject::STATIC_ASSERT | ( | kHeaderSize | = =Internals::kJSObjectHeaderSize | ) |
|
static |
Definition at line 12706 of file objects.cc.
References v8::internal::Handle< T >::cast(), CHECK, DCHECK, v8::internal::FAST_DOUBLE_ELEMENTS, v8::internal::FAST_HOLEY_DOUBLE_ELEMENTS, v8::internal::GetHoleyElementsKind(), v8::internal::Isolate::heap(), v8::internal::IsFastDoubleElementsKind(), v8::internal::IsFastElementsKind(), v8::internal::IsFastHoleyElementsKind(), v8::internal::IsFastObjectElementsKind(), v8::internal::IsFastSmiElementsKind(), v8::internal::IsFastSmiOrObjectElementsKind(), v8::internal::FixedArrayBase::length(), v8::internal::TERMINAL_FAST_ELEMENTS_KIND, v8::internal::Object::ToArrayIndex(), UNREACHABLE, and ValidateElements().
Referenced by v8::internal::ArrayConstructInitializeElements(), v8::internal::ArrayConstructorCommon(), v8::internal::FastElementsAccessor< FastElementsAccessorSubclass, KindTraits >::DeleteCommon(), v8::internal::AllocationSite::DigestTransitionFeedback(), EnsureCanContainElements(), EnsureCanContainHeapObjectElements(), v8::internal::EnsureJSArrayWithWritableFastElements(), v8::internal::RUNTIME_FUNCTION(), v8::internal::FastElementsAccessor< FastElementsAccessorSubclass, KindTraits >::SetLengthWithoutNormalize(), and v8::internal::TransitionElements().
Definition at line 3740 of file objects.cc.
References MigrateToMap(), and v8::internal::Map::TryUpdate().
Referenced by v8::internal::IsFastLiteral(), v8::internal::HOptimizedGraphBuilder::PropertyAccessInfo::LookupInPrototypes(), v8::internal::RUNTIME_FUNCTION(), and v8::internal::Map::TryUpdate().
|
staticprivate |
Definition at line 12685 of file objects.cc.
References v8::internal::AllocationSite::DigestTransitionFeedback(), v8::internal::Heap::FindAllocationMemento(), v8::internal::AllocationMemento::GetAllocationSite(), v8::internal::handle(), v8::internal::Heap::InNewSpace(), and NULL.
Referenced by SetFastElementsCapacityAndLength().
Definition at line 1561 of file objects-inl.h.
References v8::internal::FLAG_enable_slow_asserts, and v8::internal::ElementsAccessor::Validate().
Referenced by v8::internal::Runtime::CreateArrayLiteralBoilerplate(), EnsureCanContainHeapObjectElements(), PrepareElementsForSort(), v8::internal::RUNTIME_FUNCTION(), SetDictionaryElement(), SetFastDoubleElement(), SetFastDoubleElementsCapacityAndLength(), SetFastElement(), SetFastElementsCapacityAndLength(), v8::internal::FastElementsAccessor< FastElementsAccessorSubclass, KindTraits >::SetLengthWithoutNormalize(), v8::internal::Runtime::SetObjectProperty(), and TransitionElementsKind().
Definition at line 12964 of file objects.cc.
Definition at line 3765 of file objects.cc.
References DCHECK, v8::internal::FIELD, v8::internal::DescriptorArray::GetDetails(), v8::internal::HeapObject::map(), v8::internal::Object::Number(), and v8::internal::HeapNumber::set_value().
|
friend |
|
friend |
|
static |
Definition at line 2194 of file objects.h.
Referenced by v8::internal::HLoadEliminationEffects::Apply(), v8::internal::V8HeapExplorer::ExtractJSObjectReferences(), v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ForElementsPointer(), GetElementsKind(), initialize_elements(), and v8::internal::HLoadEliminationTable::Process().
|
static |
Definition at line 2190 of file objects.h.
Referenced by v8::internal::Map::CopyGeneralizeAllRepresentations(), and v8::internal::Map::CopyInstallDescriptors().
|
static |
Definition at line 2195 of file objects.h.
Referenced by v8::internal::CodeStubGraphBuilder< Stub >::BuildCodeStub(), v8::internal::SharedFunctionInfo::CalculateInObjectProperties(), v8::internal::SharedFunctionInfo::CalculateInstanceSize(), v8::internal::Heap::CopyJSObject(), v8::internal::Map::Create(), v8::internal::Heap::CreateApiObjects(), v8::internal::Heap::CreateInitialMaps(), v8::internal::Heap::CreateInitialObjects(), v8::internal::V8HeapExplorer::ExtractJSObjectReferences(), GetHeaderSize(), v8::internal::Isolate::GetSymbolRegistry(), and InitializeBody().
|
static |
|
static |
Definition at line 2180 of file objects.h.
Referenced by v8::internal::ArrayConstructInitializeElements(), v8::internal::ArrayConstructorCommon(), v8::internal::CodeStubGraphBuilderBase::BuildArrayNArgumentsConstructor(), and v8::internal::Heap::ConfigureHeap().
|
static |
Definition at line 2161 of file objects.h.
Referenced by v8::internal::ArrayConcatVisitor::increase_index_offset(), v8::internal::RUNTIME_FUNCTION(), and v8::internal::ArrayConcatVisitor::visit().
|
static |
|
static |
Definition at line 2186 of file objects.h.
Referenced by v8::internal::SharedFunctionInfo::CalculateInstanceSize(), and v8::internal::Map::Create().
|
static |
|
static |
|
static |
Definition at line 2193 of file objects.h.
Referenced by v8::internal::V8HeapExplorer::ExtractJSObjectReferences(), v8::internal::FINAL< kOperandKind, kNumCachedOperands >::ForPropertiesPointer(), v8::internal::StaticNewSpaceVisitor< StaticVisitor >::INLINE(), v8::internal::JSFunction::JSFunctionIterateBody(), v8::internal::StaticMarkingVisitor< IncrementalMarkingMarkingVisitor >::MarkInlinedFunctionsCode(), v8::internal::StaticMarkingVisitor< StaticVisitor >::VisitJSFunctionStrongCode(), and v8::internal::StaticMarkingVisitor< StaticVisitor >::VisitJSFunctionWeakCode().