v8  3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SeededNumberDictionary Class Reference

#include <objects.h>

Inheritance diagram for SeededNumberDictionary:
Collaboration diagram for SeededNumberDictionary:

Public Member Functions

MUST_USE_RESULT MaybeObject * AtNumberPut (uint32_t key, Object *value)
 
MUST_USE_RESULT MaybeObject * AddNumberEntry (uint32_t key, Object *value, PropertyDetails details)
 
MUST_USE_RESULT MaybeObject * Set (uint32_t key, Object *value, PropertyDetails details)
 
void UpdateMaxNumberKey (uint32_t key)
 
bool requires_slow_elements ()
 
void set_requires_slow_elements ()
 
uint32_t max_number_key ()
 
- Public Member Functions inherited from Dictionary< SeededNumberDictionaryShape, uint32_t >
ObjectValueAt (int entry)
 
void ValueAtPut (int entry, Object *value)
 
PropertyDetails DetailsAt (int entry)
 
void DetailsAtPut (int entry, PropertyDetails value)
 
void CopyValuesTo (FixedArray *elements)
 
ObjectDeleteProperty (int entry, JSObject::DeleteMode mode)
 
MUST_USE_RESULT MaybeObject * Shrink (uint32_tkey)
 
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, uint32_tkey)
 
ObjectSlowReverseLookup (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 (uint32_tkey, Object *value, PropertyDetails details)
 
- Public Member Functions inherited from HashTable< SeededNumberDictionaryShape, uint32_t >
uint32_t Hash (uint32_tkey)
 
uint32_t HashForObject (uint32_tkey, Object *object)
 
int NumberOfElements ()
 
int NumberOfDeletedElements ()
 
int Capacity ()
 
void ElementAdded ()
 
void ElementRemoved ()
 
void ElementsRemoved (int n)
 
ObjectKeyAt (int entry)
 
bool IsKey (Object *k)
 
void IteratePrefix (ObjectVisitor *visitor)
 
void IterateElements (ObjectVisitor *visitor)
 
 INLINE (static uint32_t GetProbeOffset(uint32_t n))
 
int FindEntry (uint32_tkey)
 
int FindEntry (Isolate *isolate, uint32_tkey)
 
void Rehash (uint32_tkey)
 
- Public Member Functions inherited from FixedArray
Objectget (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
Mapmap ()
 
void set_map (Map *value)
 
void set_map_no_write_barrier (Map *value)
 
MapWord map_word ()
 
void set_map_word (MapWord map_word)
 
HeapGetHeap ()
 
IsolateGetIsolate ()
 
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)
 
ObjectGetPrototype (Isolate *isolate)
 
MapGetMarkerMap (Isolate *isolate)
 
ObjectGetHash ()
 
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 SeededNumberDictionarycast (Object *obj)
 
static MUST_USE_RESULT Handle
< SeededNumberDictionary
AddNumberEntry (Handle< SeededNumberDictionary > dictionary, uint32_t key, Handle< Object > value, PropertyDetails details)
 
static MUST_USE_RESULT Handle
< SeededNumberDictionary
Set (Handle< SeededNumberDictionary > dictionary, uint32_t index, Handle< Object > value, PropertyDetails details)
 
- Static Public Member Functions inherited from Dictionary< SeededNumberDictionaryShape, uint32_t >
static Dictionary
< SeededNumberDictionaryShape,
uint32_t > * 
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< SeededNumberDictionaryShape, uint32_t >
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 HashTablecast (Object *obj)
 
- Static Public Member Functions inherited from FixedArray
static int SizeFor (int length)
 
static int OffsetOfElementAt (int index)
 
static FixedArraycast (Object *obj)
 
- Static Public Member Functions inherited from FixedArrayBase
static FixedArrayBasecast (Object *object)
 
- Static Public Member Functions inherited from HeapObject
static HeapObjectFromAddress (Address address)
 
static Object ** RawField (HeapObject *obj, int offset)
 
static void UpdateMapCodeCache (Handle< HeapObject > object, Handle< Name > name, Handle< Code > code)
 
static HeapObjectcast (Object *obj)
 
- Static Public Member Functions inherited from Object
static MUST_USE_RESULT Handle
< Object
ToSmi (Isolate *isolate, Handle< Object > object)
 
static Handle< ObjectGetPropertyWithReceiver (Handle< Object > object, Handle< Object > receiver, Handle< Name > name, PropertyAttributes *attributes)
 
static Handle< ObjectGetProperty (Handle< Object > object, Handle< Name > key)
 
static Handle< ObjectGetProperty (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< ObjectGetElement (Isolate *isolate, Handle< Object > object, uint32_t index)
 
static Handle< ObjectGetElementNoExceptionThrown (Isolate *isolate, Handle< Object > object, uint32_t index)
 
static Handle< ObjectGetElementWithReceiver (Isolate *isolate, Handle< Object > object, Handle< Object > receiver, uint32_t index)
 
static Handle< ObjectGetOrCreateHash (Handle< Object > object, Isolate *isolate)
 
static Objectcast (Object *value)
 

Static Public Attributes

static const int kRequiresSlowElementsMask = 1
 
static const int kRequiresSlowElementsTagSize = 1
 
static const uint32_t kRequiresSlowElementsLimit = (1 << 29) - 1
 
- Static Public Attributes inherited from HashTable< SeededNumberDictionaryShape, uint32_t >
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
 

Additional Inherited Members

- Public Types inherited from Dictionary< SeededNumberDictionaryShape, uint32_t >
enum  SortMode
 
- Public Types inherited from Object
enum  ValueType { OPTIMAL_REPRESENTATION, FORCE_TAGGED }
 
- Protected Member Functions inherited from Dictionary< SeededNumberDictionaryShape, uint32_t >
MUST_USE_RESULT MaybeObject * AtPut (uint32_tkey, Object *value)
 
MUST_USE_RESULT MaybeObject * AddEntry (uint32_tkey, Object *value, PropertyDetails details, uint32_t hash)
 
MUST_USE_RESULT MaybeObject * GenerateNewEnumerationIndices ()
 
- Protected Member Functions inherited from HashTable< SeededNumberDictionaryShape, uint32_t >
MUST_USE_RESULT MaybeObject * Rehash (HashTable *new_table, uint32_tkey)
 
uint32_t FindInsertionEntry (uint32_t hash)
 
void SetNumberOfElements (int nof)
 
void SetNumberOfDeletedElements (int nod)
 
void SetCapacity (int capacity)
 
uint32_t EntryForProbe (uint32_tkey, Object *k, int probe, uint32_t expected)
 
void Swap (uint32_t entry1, uint32_t entry2, WriteBarrierMode mode)
 
MUST_USE_RESULT MaybeObject * Shrink (uint32_tkey)
 
MUST_USE_RESULT MaybeObject * EnsureCapacity (int n, uint32_tkey, 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< SeededNumberDictionaryShape, uint32_t >
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< SeededNumberDictionaryShape, uint32_t >
static const int kMaxNumberKeyIndex
 
static const int kNextEnumerationIndexIndex
 

Detailed Description

Definition at line 4101 of file objects.h.

Member Function Documentation

Handle< SeededNumberDictionary > AddNumberEntry ( Handle< SeededNumberDictionary dictionary,
uint32_t  key,
Handle< Object value,
PropertyDetails  details 
)
static

Definition at line 15304 of file objects.cc.

References CALL_HEAP_FUNCTION.

Referenced by JSObject::PrepareSlowElementsForSort().

MaybeObject * AddNumberEntry ( uint32_t  key,
Object value,
PropertyDetails  details 
)

Definition at line 15314 of file objects.cc.

References SLOW_ASSERT.

MaybeObject * AtNumberPut ( uint32_t  key,
Object value 
)

Definition at line 15330 of file objects.cc.

uint32_t max_number_key ( )
inline

Definition at line 2826 of file objects-inl.h.

References ASSERT, Smi::cast(), and Smi::value().

Referenced by JSObject::ShouldConvertToFastElements().

bool requires_slow_elements ( )
inline

Definition at line 2819 of file objects-inl.h.

References Smi::cast(), and Smi::value().

Referenced by JSObject::ShouldConvertToFastElements().

Handle< SeededNumberDictionary > Set ( Handle< SeededNumberDictionary dictionary,
uint32_t  index,
Handle< Object value,
PropertyDetails  details 
)
static

Definition at line 15342 of file objects.cc.

References CALL_HEAP_FUNCTION.

MaybeObject * Set ( uint32_t  key,
Object value,
PropertyDetails  details 
)

Definition at line 15363 of file objects.cc.

References NumberDictionaryShape::AsObject(), and HeapObject::GetHeap().

void set_requires_slow_elements ( )
inline

Definition at line 2834 of file objects-inl.h.

References Smi::FromInt(), and FixedArray::set().

Referenced by JSObject::Freeze().

void UpdateMaxNumberKey ( uint32_t  key)

Definition at line 15286 of file objects.cc.

References Smi::FromInt(), and FixedArray::set().

Field Documentation

const uint32_t kRequiresSlowElementsLimit = (1 << 29) - 1
static

Definition at line 4150 of file objects.h.

const int kRequiresSlowElementsMask = 1
static

Definition at line 4148 of file objects.h.

const int kRequiresSlowElementsTagSize = 1
static

Definition at line 4149 of file objects.h.


The documentation for this class was generated from the following files: