![]() |
v8
3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
|
#include <objects.h>


Public Types | |
| enum | SortMode { UNSORTED, SORTED } |
Public Types inherited from Object | |
| enum | ValueType { OPTIMAL_REPRESENTATION, FORCE_TAGGED } |
Public Member Functions | |
| Object * | ValueAt (int entry) |
| void | ValueAtPut (int entry, Object *value) |
| PropertyDetails | DetailsAt (int entry) |
| void | DetailsAtPut (int entry, PropertyDetails value) |
| void | CopyValuesTo (FixedArray *elements) |
| Object * | DeleteProperty (int entry, JSObject::DeleteMode mode) |
| MUST_USE_RESULT MaybeObject * | Shrink (Key key) |
| int | NumberOfElementsFilterAttributes (PropertyAttributes filter) |
| int | NumberOfEnumElements () |
| void | CopyKeysTo (FixedArray *storage, PropertyAttributes filter, SortMode sort_mode) |
| void | CopyKeysTo (FixedArray *storage, int index, PropertyAttributes filter, SortMode sort_mode) |
| void | SetNextEnumerationIndex (int index) |
| int | NextEnumerationIndex () |
| MUST_USE_RESULT MaybeObject * | EnsureCapacity (int n, Key key) |
| Object * | SlowReverseLookup (Object *value) |
| void | SetEntry (int entry, Object *key, Object *value) |
| void | SetEntry (int entry, Object *key, Object *value, PropertyDetails details) |
| MUST_USE_RESULT MaybeObject * | Add (Key key, Object *value, PropertyDetails details) |
Public Member Functions inherited from HashTable< Shape, Key > | |
| uint32_t | Hash (Key key) |
| uint32_t | HashForObject (Key key, Object *object) |
| int | NumberOfElements () |
| int | NumberOfDeletedElements () |
| int | Capacity () |
| void | ElementAdded () |
| void | ElementRemoved () |
| void | ElementsRemoved (int n) |
| Object * | KeyAt (int entry) |
| bool | IsKey (Object *k) |
| void | IteratePrefix (ObjectVisitor *visitor) |
| void | IterateElements (ObjectVisitor *visitor) |
| INLINE (static uint32_t GetProbeOffset(uint32_t n)) | |
| int | FindEntry (Key key) |
| int | FindEntry (Isolate *isolate, Key key) |
| void | Rehash (Key key) |
Public Member Functions inherited from FixedArray | |
| Object * | get (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 | Shrink (int length) |
| MUST_USE_RESULT MaybeObject * | Copy () |
| MUST_USE_RESULT MaybeObject * | CopySize (int new_length, PretenureFlag pretenure=NOT_TENURED) |
| MUST_USE_RESULT MaybeObject * | AddKeysFromJSArray (JSArray *array) |
| MUST_USE_RESULT MaybeObject * | UnionOfKeys (FixedArray *other) |
| 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 FixedArrayBase | |
| int | length () |
| void | set_length (int value) |
Public Member Functions inherited from HeapObject | |
| Map * | map () |
| void | set_map (Map *value) |
| void | set_map_no_write_barrier (Map *value) |
| MapWord | map_word () |
| void | set_map_word (MapWord map_word) |
| Heap * | GetHeap () |
| Isolate * | GetIsolate () |
| Address | address () |
| void | Iterate (ObjectVisitor *v) |
| void | IterateBody (InstanceType type, int object_size, ObjectVisitor *v) |
| int | Size () |
| int | SizeFromMap (Map *map) |
| WriteBarrierMode | GetWriteBarrierMode (const DisallowHeapAllocation &promise) |
| void | HeapObjectShortPrint (StringStream *accumulator) |
| STATIC_CHECK (kMapOffset==Internals::kHeapObjectMapOffset) | |
Public Member Functions inherited from Object | |
| bool | IsObject () |
| bool | IsFixedArrayBase () |
| bool | IsExternal () |
| bool | IsAccessorInfo () |
| bool | IsStruct () |
| INLINE (bool IsSpecObject()) | |
| INLINE (bool IsSpecFunction()) | |
| bool | IsCallable () |
| INLINE (bool IsUndefined()) | |
| INLINE (bool IsNull()) | |
| INLINE (bool IsTheHole()) | |
| INLINE (bool IsUninitialized()) | |
| INLINE (bool IsTrue()) | |
| INLINE (bool IsFalse()) | |
| bool | IsArgumentsMarker () |
| bool | NonFailureIsHeapObject () |
| bool | IsFiller () |
| double | Number () |
| bool | IsNaN () |
| bool | ToInt32 (int32_t *value) |
| bool | ToUint32 (uint32_t *value) |
| Representation | OptimalRepresentation (ValueType type=OPTIMAL_REPRESENTATION) |
| bool | FitsRepresentation (Representation representation) |
| MaybeObject * | AllocateNewStorageFor (Heap *heap, Representation representation) |
| bool | HasValidElements () |
| bool | HasSpecificClassOf (String *name) |
| MUST_USE_RESULT MaybeObject * | ToObject (Isolate *isolate) |
| bool | BooleanValue () |
| MUST_USE_RESULT MaybeObject * | ToObject (Context *native_context) |
| MUST_USE_RESULT MaybeObject * | ToSmi () |
| void | Lookup (Name *name, LookupResult *result) |
| MUST_USE_RESULT MaybeObject * | GetProperty (Name *key) |
| MUST_USE_RESULT MaybeObject * | GetProperty (Name *key, PropertyAttributes *attributes) |
| MUST_USE_RESULT MaybeObject * | GetPropertyWithReceiver (Object *receiver, Name *key, PropertyAttributes *attributes) |
| MUST_USE_RESULT MaybeObject * | GetProperty (Object *receiver, LookupResult *result, Name *key, PropertyAttributes *attributes) |
| MUST_USE_RESULT MaybeObject * | GetPropertyWithDefinedGetter (Object *receiver, JSReceiver *getter) |
| Object * | GetPrototype (Isolate *isolate) |
| Map * | GetMarkerMap (Isolate *isolate) |
| Object * | GetHash () |
| bool | SameValue (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 Dictionary< Shape, Key > * | cast (Object *obj) |
| static MUST_USE_RESULT MaybeObject * | Allocate (Heap *heap, int at_least_space_for, PretenureFlag pretenure=NOT_TENURED) |
Static Public Member Functions inherited from HashTable< Shape, Key > | |
| static MUST_USE_RESULT MaybeObject * | Allocate (Heap *heap, int at_least_space_for, MinimumCapacity capacity_option=USE_DEFAULT_MINIMUM_CAPACITY, PretenureFlag pretenure=NOT_TENURED) |
| static int | ComputeCapacity (int at_least_space_for) |
| static HashTable * | cast (Object *obj) |
Static Public Member Functions inherited from FixedArray | |
| static int | SizeFor (int length) |
| static int | OffsetOfElementAt (int index) |
| static FixedArray * | cast (Object *obj) |
Static Public Member Functions inherited from FixedArrayBase | |
| static FixedArrayBase * | cast (Object *object) |
Static Public Member Functions inherited from HeapObject | |
| static HeapObject * | FromAddress (Address address) |
| static Object ** | RawField (HeapObject *obj, int offset) |
| static void | UpdateMapCodeCache (Handle< HeapObject > object, Handle< Name > name, Handle< Code > code) |
| static HeapObject * | cast (Object *obj) |
Static Public Member Functions inherited from Object | |
| static MUST_USE_RESULT Handle < Object > | ToSmi (Isolate *isolate, Handle< Object > object) |
| static Handle< Object > | GetPropertyWithReceiver (Handle< Object > object, Handle< Object > receiver, Handle< Name > name, PropertyAttributes *attributes) |
| static Handle< Object > | GetProperty (Handle< Object > object, Handle< Name > key) |
| static Handle< Object > | GetProperty (Handle< Object > object, Handle< Object > receiver, LookupResult *result, Handle< Name > key, PropertyAttributes *attributes) |
| static MUST_USE_RESULT MaybeObject * | GetPropertyOrFail (Handle< Object > object, Handle< Object > receiver, LookupResult *result, Handle< Name > key, PropertyAttributes *attributes) |
| static Handle< Object > | GetElement (Isolate *isolate, Handle< Object > object, uint32_t index) |
| static Handle< Object > | GetElementNoExceptionThrown (Isolate *isolate, Handle< Object > object, uint32_t index) |
| static Handle< Object > | GetElementWithReceiver (Isolate *isolate, Handle< Object > object, Handle< Object > receiver, uint32_t index) |
| static Handle< Object > | GetOrCreateHash (Handle< Object > object, Isolate *isolate) |
| static Object * | cast (Object *value) |
Protected Member Functions | |
| MUST_USE_RESULT MaybeObject * | AtPut (Key key, Object *value) |
| MUST_USE_RESULT MaybeObject * | AddEntry (Key key, Object *value, PropertyDetails details, uint32_t hash) |
| MUST_USE_RESULT MaybeObject * | GenerateNewEnumerationIndices () |
Protected Member Functions inherited from HashTable< Shape, Key > | |
| uint32_t | FindInsertionEntry (uint32_t hash) |
| void | SetNumberOfElements (int nof) |
| void | SetNumberOfDeletedElements (int nod) |
| void | SetCapacity (int capacity) |
| uint32_t | EntryForProbe (Key key, Object *k, int probe, uint32_t expected) |
| void | Swap (uint32_t entry1, uint32_t entry2, WriteBarrierMode mode) |
| MUST_USE_RESULT MaybeObject * | Rehash (HashTable *new_table, Key key) |
| MUST_USE_RESULT MaybeObject * | Shrink (Key key) |
| MUST_USE_RESULT MaybeObject * | EnsureCapacity (int n, Key key, PretenureFlag pretenure=NOT_TENURED) |
Protected Member Functions inherited from HeapObject | |
| void | IteratePointers (ObjectVisitor *v, int start, int end) |
| void | IteratePointer (ObjectVisitor *v, int offset) |
| void | IterateNextCodeLink (ObjectVisitor *v, int offset) |
Static Protected Attributes | |
| static const int | kMaxNumberKeyIndex |
| static const int | kNextEnumerationIndexIndex = kMaxNumberKeyIndex + 1 |
Additional Inherited Members | |
Static Public Attributes inherited from HashTable< Shape, Key > | |
| static const int | kNumberOfElementsIndex = 0 |
| static const int | kNumberOfDeletedElementsIndex = 1 |
| static const int | kCapacityIndex = 2 |
| static const int | kPrefixStartIndex = 3 |
| static const int | kElementsStartIndex |
| static const int | kEntrySize = Shape::kEntrySize |
| static const int | kElementsStartOffset |
| static const int | kCapacityOffset |
| static const int | kNotFound = -1 |
| static const int | kMaxCapacity |
Static Public Attributes inherited from FixedArray | |
| static const int | kMaxSize = 128 * MB * kPointerSize |
| static const int | kMaxLength = (kMaxSize - kHeaderSize) / kPointerSize |
Static Public Attributes inherited from FixedArrayBase | |
| static const int | kLengthOffset = HeapObject::kHeaderSize |
| static const int | kHeaderSize = kLengthOffset + kPointerSize |
Static Public Attributes inherited from HeapObject | |
| static const int | kMapOffset = Object::kHeaderSize |
| static const int | kHeaderSize = kMapOffset + kPointerSize |
Static Public Attributes inherited from Object | |
| static const int | kHeaderSize = 0 |
Static Protected Member Functions inherited from HashTable< Shape, Key > | |
| static int | EntryToIndex (int entry) |
| static uint32_t | GetProbe (uint32_t hash, uint32_t number, uint32_t size) |
| static uint32_t | FirstProbe (uint32_t hash, uint32_t size) |
| static uint32_t | NextProbe (uint32_t last, uint32_t number, uint32_t size) |
Static Protected Member Functions inherited from FixedArray | |
| static void | NoWriteBarrierSet (FixedArray *array, int index, Object *value) |
| static void | NoIncrementalWriteBarrierSet (FixedArray *array, int index, Object *value) |
| MaybeObject * Add | ( | Key | key, |
| Object * | value, | ||
| PropertyDetails | details | ||
| ) |
Definition at line 15239 of file objects.cc.
References Dictionary< Shape, Key >::cast(), obj, and SLOW_ASSERT.
Referenced by Runtime::InitializeIntrinsicFunctionNames().
|
protected |
Definition at line 15257 of file objects.cc.
References ASSERT, HashTable< Shape, Key >::ElementAdded(), HashTable< Shape, Key >::FindInsertionEntry(), and HeapObject::GetHeap().
|
static |
Definition at line 15091 of file objects.cc.
References HashTable< Shape, Key >::Allocate(), Dictionary< Shape, Key >::cast(), obj, and v8::internal::USE_DEFAULT_MINIMUM_CAPACITY.
|
protected |
Definition at line 15212 of file objects.cc.
References Dictionary< Shape, Key >::cast(), HeapObject::GetHeap(), NONE, v8::internal::NORMAL, and obj.
|
inlinestatic |
Definition at line 3925 of file objects.h.
Referenced by Dictionary< Shape, Key >::Add(), Dictionary< Shape, Key >::Allocate(), and Dictionary< Shape, Key >::AtPut().
| void CopyKeysTo | ( | FixedArray * | storage, |
| PropertyAttributes | filter, | ||
| SortMode | sort_mode | ||
| ) |
Referenced by JSObject::GetLocalElementKeys().
| void CopyKeysTo | ( | FixedArray * | storage, |
| int | index, | ||
| PropertyAttributes | filter, | ||
| SortMode | sort_mode | ||
| ) |
| void CopyValuesTo | ( | FixedArray * | elements | ) |
Definition at line 13133 of file objects.cc.
References ASSERT, HashTable< Shape, Key >::Capacity(), HeapObject::GetWriteBarrierMode(), HashTable< Shape, Key >::KeyAt(), FixedArrayBase::length(), and FixedArray::set().
| Object * DeleteProperty | ( | int | entry, |
| JSObject::DeleteMode | mode | ||
| ) |
Definition at line 15191 of file objects.cc.
References HashTable< Shape, Key >::ElementRemoved(), JSReceiver::FORCE_DELETION, and HeapObject::GetHeap().
Referenced by DictionaryElementsAccessor::DeleteCommon().
|
inline |
Definition at line 3940 of file objects.h.
Referenced by BASE_EMBEDDED< Visitor >::DictionaryResult(), JSObject::GetAccessor(), DictionaryElementsAccessor::GetAccessorPairImpl(), DictionaryElementsAccessor::GetAttributesImpl(), DictionaryElementsAccessor::GetImpl(), DictionaryElementsAccessor::GetTypeImpl(), JSObject::LocalLookupRealNamedProperty(), JSObject::PrepareSlowElementsForSort(), v8::internal::RUNTIME_FUNCTION(), DictionaryElementsAccessor::SetLengthWithoutNormalize(), and JSObject::SetNormalizedProperty().
|
inline |
Definition at line 3947 of file objects.h.
Referenced by JSObject::SetNormalizedProperty().
| MaybeObject * EnsureCapacity | ( | int | n, |
| Key | key | ||
| ) |
Definition at line 15176 of file objects.cc.
References HashTable< Shape, Key >::EnsureCapacity().
|
protected |
Definition at line 15117 of file objects.cc.
References Heap::AllocateFixedArray(), HashTable< Shape, Key >::Capacity(), Smi::cast(), FixedArray::cast(), Smi::FromInt(), FixedArray::get(), HeapObject::GetHeap(), FixedArrayBase::length(), HashTable< Shape, Key >::NumberOfElements(), obj, FixedArray::set(), and FixedArray::SortPairs().
|
inline |
Definition at line 3984 of file objects.h.
Referenced by JSObject::SetNormalizedProperty().
| int NumberOfElementsFilterAttributes | ( | PropertyAttributes | filter | ) |
Definition at line 15396 of file objects.cc.
References HashTable< Shape, Key >::Capacity(), and HashTable< Shape, Key >::KeyAt().
Referenced by JSObject::GetLocalElementKeys().
| int NumberOfEnumElements | ( | ) |
Definition at line 15414 of file objects.cc.
References DONT_ENUM.
Definition at line 6465 of file objects-inl.h.
References Smi::FromInt().
Referenced by DictionaryElementsAccessor::SetLengthWithoutNormalize(), and JSObject::SetNormalizedProperty().
Definition at line 6473 of file objects-inl.h.
References ASSERT, HashTable< Shape, Key >::EntryToIndex(), HeapObject::GetWriteBarrierMode(), and FixedArray::set().
|
inline |
Definition at line 3979 of file objects.h.
Referenced by JSObject::SetNormalizedProperty().
| MaybeObject * Shrink | ( | Key | key | ) |
Definition at line 15206 of file objects.cc.
References HashTable< Shape, Key >::Shrink().
Referenced by DictionaryElementsAccessor::DeleteCommon().
Definition at line 15505 of file objects.cc.
References HashTable< Shape, Key >::Capacity(), PropertyCell::cast(), HeapObject::GetHeap(), and HashTable< Shape, Key >::KeyAt().
Referenced by JSObject::SlowReverseLookup().
|
inline |
Definition at line 3930 of file objects.h.
Referenced by StubCache::FindPreMonomorphicIC(), JSObject::GetAccessor(), DictionaryElementsAccessor::GetAccessorPairImpl(), DictionaryElementsAccessor::GetImpl(), JSObject::GetNormalizedProperty(), JSObject::LocalLookupRealNamedProperty(), JSObject::PrepareSlowElementsForSort(), v8::internal::RUNTIME_FUNCTION(), JSObject::SetNormalizedProperty(), and JSObject::ShouldConvertToFastDoubleElements().
|
staticprotected |
|
staticprotected |