![]() |
v8
3.11.10(node0.8.26)
V8 is Google's open source JavaScript engine
|
#include <objects.h>
Public Member Functions | |
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) |
![]() | |
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_undefined (Heap *heap, int index) |
void | set_null (int index) |
void | set_null (Heap *heap, int index) |
void | set_the_hole (int index) |
void | set_unchecked (int index, Smi *value) |
void | set_null_unchecked (Heap *heap, int index) |
void | set_unchecked (Heap *heap, int index, Object *value, WriteBarrierMode mode) |
Object ** | data_start () |
Object ** | GetFirstElementAddress () |
bool | ContainsOnlySmisOrHoles () |
MUST_USE_RESULT MaybeObject * | Copy () |
MUST_USE_RESULT MaybeObject * | CopySize (int new_length) |
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) |
void | SwapPairs (FixedArray *numbers, int i, int j) |
void | SortPairs (FixedArray *numbers, uint32_t len) |
![]() | |
int | length () |
void | set_length (int value) |
![]() | |
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 AssertNoAllocation &) |
void | HeapObjectShortPrint (StringStream *accumulator) |
STATIC_CHECK (kMapOffset==Internals::kHeapObjectMapOffset) | |
![]() | |
bool | IsObject () |
bool | IsFixedArrayBase () |
bool | IsInstanceOf (FunctionTemplateInfo *type) |
bool | IsStruct () |
INLINE (bool IsSpecObject()) | |
INLINE (bool IsSpecFunction()) | |
INLINE (bool IsUndefined()) | |
INLINE (bool IsNull()) | |
INLINE (bool IsTheHole()) | |
INLINE (bool IsTrue()) | |
INLINE (bool IsFalse()) | |
bool | IsArgumentsMarker () |
bool | NonFailureIsHeapObject () |
bool | IsFiller () |
double | Number () |
bool | IsNaN () |
bool | HasValidElements () |
bool | HasSpecificClassOf (String *name) |
MUST_USE_RESULT MaybeObject * | ToObject () |
Object * | ToBoolean () |
MUST_USE_RESULT MaybeObject * | ToObject (Context *global_context) |
MUST_USE_RESULT MaybeObject * | ToSmi () |
void | Lookup (String *name, LookupResult *result) |
MUST_USE_RESULT MaybeObject * | GetProperty (String *key) |
MUST_USE_RESULT MaybeObject * | GetProperty (String *key, PropertyAttributes *attributes) |
MUST_USE_RESULT MaybeObject * | GetPropertyWithReceiver (Object *receiver, String *key, PropertyAttributes *attributes) |
MUST_USE_RESULT MaybeObject * | GetProperty (Object *receiver, LookupResult *result, String *key, PropertyAttributes *attributes) |
MUST_USE_RESULT MaybeObject * | GetPropertyWithDefinedGetter (Object *receiver, JSReceiver *getter) |
MUST_USE_RESULT MaybeObject * | GetElement (uint32_t index) |
Object * | GetElementNoExceptionThrown (uint32_t index) |
MUST_USE_RESULT MaybeObject * | GetElementWithReceiver (Object *receiver, uint32_t index) |
Object * | GetPrototype () |
MUST_USE_RESULT MaybeObject * | GetHash (CreationFlag flag) |
bool | SameValue (Object *other) |
bool | ToArrayIndex (uint32_t *index) |
bool | IsStringObjectWithCharacterAt (uint32_t index) |
void | ShortPrint () |
void | ShortPrint (FILE *out) |
void | ShortPrint (StringStream *accumulator) |
Static Public Member Functions | |
static MUST_USE_RESULT MaybeObject * | Allocate (int at_least_space_for, PretenureFlag pretenure=NOT_TENURED) |
static int | ComputeCapacity (int at_least_space_for) |
static HashTable * | cast (Object *obj) |
![]() | |
static int | SizeFor (int length) |
static int | OffsetOfElementAt (int index) |
static FixedArray * | cast (Object *obj) |
![]() | |
static FixedArrayBase * | cast (Object *object) |
![]() | |
static HeapObject * | FromAddress (Address address) |
static Object ** | RawField (HeapObject *obj, int offset) |
static HeapObject * | cast (Object *obj) |
![]() | |
static Handle< Object > | GetProperty (Handle< Object > object, Handle< Object > receiver, LookupResult *result, Handle< String > key, PropertyAttributes *attributes) |
static Handle< Object > | GetElement (Handle< Object > object, uint32_t index) |
static Object * | cast (Object *value) |
Static Public Attributes | |
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 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 |
Protected Member Functions | |
uint32_t | FindInsertionEntry (uint32_t hash) |
void | SetNumberOfElements (int nof) |
void | SetNumberOfDeletedElements (int nod) |
void | SetCapacity (int capacity) |
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) |
![]() | |
void | IteratePointers (ObjectVisitor *v, int start, int end) |
void | IteratePointer (ObjectVisitor *v, int offset) |
Static Protected Member Functions | |
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 void | NoWriteBarrierSet (FixedArray *array, int index, Object *value) |
static void | NoIncrementalWriteBarrierSet (FixedArray *array, int index, Object *value) |
|
static |
Definition at line 11089 of file objects.cc.
References HashTable< Shape, Key >::cast(), HashTable< Shape, Key >::kMaxCapacity, Failure::OutOfMemoryException(), HashTable< Shape, Key >::SetCapacity(), HashTable< Shape, Key >::SetNumberOfDeletedElements(), and HashTable< Shape, Key >::SetNumberOfElements().
Referenced by Dictionary< Shape, Key >::Allocate().
|
inline |
Definition at line 2787 of file objects.h.
Referenced by Dictionary< Shape, Key >::CopyValuesTo(), Dictionary< Shape, Key >::GenerateNewEnumerationIndices(), Dictionary< Shape, Key >::NumberOfElementsFilterAttributes(), JSObject::PrepareSlowElementsForSort(), HashTable< Shape, Key >::Rehash(), DictionaryElementsAccessor::SetLengthWithoutNormalize(), JSObject::ShouldConvertToFastDoubleElements(), JSObject::ShouldConvertToFastElements(), and Dictionary< Shape, Key >::SlowReverseLookup().
Definition at line 2250 of file objects-inl.h.
References ASSERT.
Referenced by HashTable< Shape, Key >::Allocate(), HashTable< Shape, Key >::EnsureCapacity(), and HashTable< Shape, Key >::Shrink().
|
static |
Definition at line 2124 of file objects-inl.h.
References v8::internal::RoundUpToPowerOf2().
|
inline |
Definition at line 2793 of file objects.h.
Referenced by ObjectHashSet::Add(), Dictionary< Shape, Key >::AddEntry(), MapCache::Put(), CompilationCacheTable::Put(), CodeCacheHashTable::Put(), PolymorphicCodeCacheHashTable::Put(), CompilationCacheTable::PutEval(), and CompilationCacheTable::PutRegExp().
|
inline |
Definition at line 2797 of file objects.h.
Referenced by Dictionary< Shape, Key >::DeleteProperty().
|
inline |
Definition at line 2801 of file objects.h.
Referenced by DictionaryElementsAccessor::SetLengthWithoutNormalize().
|
protected |
Definition at line 11207 of file objects.cc.
References HashTable< Shape, Key >::cast(), HeapObject::GetHeap(), Heap::InNewSpace(), v8::internal::NOT_TENURED, and v8::internal::TENURED.
Referenced by Dictionary< Shape, Key >::EnsureCapacity().
|
inlinestaticprotected |
Definition at line 2867 of file objects.h.
Referenced by HashTable< CompilationCacheShape, HashTableKey * >::KeyAt(), Dictionary< Shape, Key >::SetEntry(), and Dictionary< SeededNumberDictionaryShape, uint32_t >::ValueAt().
|
inline |
Definition at line 2135 of file objects-inl.h.
References HeapObject::GetIsolate().
Referenced by DictionaryElementsAccessor::DeleteCommon(), StubCache::FindCallInitialize(), StringDictionary::FindEntry(), DictionaryElementsAccessor::GetImpl(), DictionaryElementsAccessor::HasElementImpl(), JSObject::HasLocalElement(), JSObject::HasRealElementProperty(), JSObject::LookupAccessor(), JSObject::SetDictionaryElement(), and JSObject::SetElementWithCallbackSetterInPrototypes().
int FindEntry | ( | Isolate * | isolate, |
Key | key | ||
) |
Definition at line 2142 of file objects-inl.h.
References Isolate::heap(), and DescriptorArray::kNotFound.
|
protected |
Definition at line 11262 of file objects.cc.
Referenced by ObjectHashSet::Add(), Dictionary< Shape, Key >::AddEntry(), MapCache::Put(), ObjectHashTable::Put(), CompilationCacheTable::Put(), CodeCacheHashTable::Put(), PolymorphicCodeCacheHashTable::Put(), CompilationCacheTable::PutEval(), CompilationCacheTable::PutRegExp(), and HashTable< Shape, Key >::Rehash().
|
inlinestaticprotected |
|
inlinestaticprotected |
|
inline |
Definition at line 2767 of file objects.h.
Referenced by HashTable< Shape, Key >::Rehash().
|
inline |
|
inline |
Definition at line 2820 of file objects.h.
Referenced by JSObject::PrepareSlowElementsForSort().
void IterateElements | ( | ObjectVisitor * | visitor | ) |
Definition at line 11081 of file objects.cc.
References HeapObject::IteratePointers(), JSObject::kHeaderSize, and v8::internal::kPointerSize.
void IteratePrefix | ( | ObjectVisitor * | visitor | ) |
Definition at line 11075 of file objects.cc.
References HeapObject::IteratePointers().
|
inline |
Definition at line 2816 of file objects.h.
Referenced by Dictionary< Shape, Key >::CopyValuesTo(), DictionaryElementsAccessor::GetKeyForIndexImpl(), Dictionary< Shape, Key >::NumberOfElementsFilterAttributes(), JSObject::PrepareSlowElementsForSort(), DictionaryElementsAccessor::SetLengthWithoutNormalize(), JSObject::ShouldConvertToFastDoubleElements(), and Dictionary< Shape, Key >::SlowReverseLookup().
|
inlinestaticprotected |
|
inline |
Definition at line 2782 of file objects.h.
Referenced by HashTable< CompilationCacheShape, HashTableKey * >::ElementRemoved(), and HashTable< CompilationCacheShape, HashTableKey * >::ElementsRemoved().
|
inline |
Definition at line 2777 of file objects.h.
Referenced by HashTable< CompilationCacheShape, HashTableKey * >::ElementAdded(), HashTable< CompilationCacheShape, HashTableKey * >::ElementRemoved(), HashTable< CompilationCacheShape, HashTableKey * >::ElementsRemoved(), Dictionary< Shape, Key >::GenerateNewEnumerationIndices(), JSObject::PrepareElementsForSort(), JSObject::PrepareSlowElementsForSort(), v8::internal::RUNTIME_FUNCTION(), and THREADED_TEST().
|
protected |
Definition at line 11173 of file objects.cc.
References ASSERT, HashTable< Shape, Key >::Capacity(), HashTable< Shape, Key >::FindInsertionEntry(), HeapObject::GetWriteBarrierMode(), HashTable< Shape, Key >::HashForObject(), FixedArray::set(), HashTable< Shape, Key >::SetNumberOfDeletedElements(), and HashTable< Shape, Key >::SetNumberOfElements().
|
inlineprotected |
Definition at line 2882 of file objects.h.
Referenced by HashTable< Shape, Key >::Allocate().
|
inlineprotected |
Definition at line 2877 of file objects.h.
Referenced by HashTable< Shape, Key >::Allocate(), HashTable< CompilationCacheShape, HashTableKey * >::ElementRemoved(), HashTable< CompilationCacheShape, HashTableKey * >::ElementsRemoved(), and HashTable< Shape, Key >::Rehash().
|
inlineprotected |
Definition at line 2872 of file objects.h.
Referenced by HashTable< Shape, Key >::Allocate(), HashTable< CompilationCacheShape, HashTableKey * >::ElementAdded(), HashTable< CompilationCacheShape, HashTableKey * >::ElementRemoved(), HashTable< CompilationCacheShape, HashTableKey * >::ElementsRemoved(), and HashTable< Shape, Key >::Rehash().
|
protected |
Definition at line 11233 of file objects.cc.
References HashTable< Shape, Key >::cast(), HeapObject::GetHeap(), Heap::InNewSpace(), v8::internal::NOT_TENURED, and v8::internal::TENURED.
Referenced by Dictionary< Shape, Key >::Shrink().
|
static |
Definition at line 2838 of file objects.h.
Referenced by HashTable< CompilationCacheShape, HashTableKey * >::Capacity(), and HashTable< CompilationCacheShape, HashTableKey * >::SetCapacity().
|
static |
|
static |
Definition at line 2840 of file objects.h.
Referenced by HashTable< CompilationCacheShape, HashTableKey * >::EntryToIndex().
|
static |
|
static |
Definition at line 2842 of file objects.h.
Referenced by HashTable< CompilationCacheShape, HashTableKey * >::EntryToIndex().
|
static |
Definition at line 2854 of file objects.h.
Referenced by HashTable< Shape, Key >::Allocate(), and HashTable< CompilationCacheShape, HashTableKey * >::SetCapacity().
|
static |
Definition at line 2837 of file objects.h.
Referenced by HashTable< CompilationCacheShape, HashTableKey * >::NumberOfDeletedElements(), and HashTable< CompilationCacheShape, HashTableKey * >::SetNumberOfDeletedElements().
|
static |
Definition at line 2836 of file objects.h.
Referenced by HashTable< CompilationCacheShape, HashTableKey * >::NumberOfElements(), and HashTable< CompilationCacheShape, HashTableKey * >::SetNumberOfElements().