v8
3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
|
#include <objects.h>
Public Member Functions | |
void | CopyEnumKeysTo (FixedArray *storage) |
MUST_USE_RESULT MaybeObject * | TransformPropertiesToFastFor (JSObject *obj, int unused_property_fields) |
int | FindEntry (Name *key) |
Public Member Functions inherited from Dictionary< NameDictionaryShape, Name * > | |
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 (Name *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, Name *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 (Name *key, Object *value, PropertyDetails details) |
Public Member Functions inherited from HashTable< NameDictionaryShape, Name * > | |
uint32_t | Hash (Name *key) |
uint32_t | HashForObject (Name *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 (Name *key) |
int | FindEntry (Isolate *isolate, Name *key) |
void | Rehash (Name *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 NameDictionary * | cast (Object *obj) |
static void | DoGenerateNewEnumerationIndices (Handle< NameDictionary > dictionary) |
Static Public Member Functions inherited from Dictionary< NameDictionaryShape, Name * > | |
static Dictionary < NameDictionaryShape, Name * > * | 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< NameDictionaryShape, Name * > | |
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) |
Additional Inherited Members | |
Public Types inherited from Dictionary< NameDictionaryShape, Name * > | |
enum | SortMode |
Public Types inherited from Object | |
enum | ValueType { OPTIMAL_REPRESENTATION, FORCE_TAGGED } |
Static Public Attributes inherited from HashTable< NameDictionaryShape, Name * > | |
static const int | kNumberOfElementsIndex |
static const int | kNumberOfDeletedElementsIndex |
static const int | kCapacityIndex |
static const int | kPrefixStartIndex |
static const int | kElementsStartIndex |
static const int | kEntrySize |
static const int | kElementsStartOffset |
static const int | kCapacityOffset |
static const int | kNotFound |
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 |
Protected Member Functions inherited from Dictionary< NameDictionaryShape, Name * > | |
MUST_USE_RESULT MaybeObject * | AtPut (Name *key, Object *value) |
MUST_USE_RESULT MaybeObject * | AddEntry (Name *key, Object *value, PropertyDetails details, uint32_t hash) |
MUST_USE_RESULT MaybeObject * | GenerateNewEnumerationIndices () |
Protected Member Functions inherited from HashTable< NameDictionaryShape, Name * > | |
MUST_USE_RESULT MaybeObject * | Rehash (HashTable *new_table, Name *key) |
uint32_t | FindInsertionEntry (uint32_t hash) |
void | SetNumberOfElements (int nof) |
void | SetNumberOfDeletedElements (int nod) |
void | SetCapacity (int capacity) |
uint32_t | EntryForProbe (Name *key, Object *k, int probe, uint32_t expected) |
void | Swap (uint32_t entry1, uint32_t entry2, WriteBarrierMode mode) |
MUST_USE_RESULT MaybeObject * | Shrink (Name *key) |
MUST_USE_RESULT MaybeObject * | EnsureCapacity (int n, Name *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 Member Functions inherited from HashTable< NameDictionaryShape, Name * > | |
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) |
Static Protected Attributes inherited from Dictionary< NameDictionaryShape, Name * > | |
static const int | kMaxNumberKeyIndex |
static const int | kNextEnumerationIndexIndex |
|
inlinestatic |
Definition at line 4049 of file objects.h.
Referenced by Runtime::InitializeIntrinsicFunctionNames(), and JSObject::property_dictionary().
void CopyEnumKeysTo | ( | FixedArray * | storage | ) |
Definition at line 15455 of file objects.cc.
References Smi::cast(), Smi::FromInt(), FixedArray::get(), FixedArray::GetFirstElementAddress(), FixedArrayBase::length(), and FixedArray::set().
|
static |
Definition at line 15110 of file objects.cc.
References CALL_HEAP_FUNCTION_VOID.
int FindEntry | ( | Name * | key | ) |
Definition at line 13898 of file objects.cc.
References ASSERT, Name::cast(), Name::Equals(), HashTable< Shape, Key >::FindEntry(), Name::Hash(), and FixedArray::set().
Referenced by JSObject::LocalLookupRealNamedProperty(), v8::internal::RUNTIME_FUNCTION(), and JSObject::SetNormalizedProperty().
MaybeObject * TransformPropertiesToFastFor | ( | JSObject * | obj, |
int | unused_property_fields | ||
) |
Definition at line 15522 of file objects.cc.
References DescriptorArray::Allocate(), Heap::AllocateFixedArray(), ASSERT, ASSERT_LE, v8::internal::CALLBACKS, Symbol::cast(), String::cast(), Map::CopyDropDescriptors(), v8::internal::FIELD, HeapObject::GetHeap(), HeapObject::GetIsolate(), JSObject::HasFastProperties(), Map::InitializeDescriptors(), Map::inobject_properties(), JSObject::InObjectPropertyAtPut(), Heap::InternalizeString(), HeapObject::map(), v8::internal::NORMAL, obj, FixedArray::set(), DescriptorArray::Set(), Map::set_dictionary_map(), HeapObject::set_map(), Map::set_unused_property_fields(), DescriptorArray::Sort(), Representation::Tagged(), UNREACHABLE, and v8::internal::UPDATE_WRITE_BARRIER.