v8  3.14.5(node0.10.28)
V8 is Google's open source JavaScript engine
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Dictionary< Shape, Key > Class Template Reference

#include <objects.h>

Inheritance diagram for Dictionary< Shape, Key >:
Collaboration diagram for Dictionary< Shape, Key >:

Public Types

enum  SortMode { UNSORTED, SORTED }
 
- Public Types inherited from HashTable< Shape, Key >
enum  MinimumCapacity { USE_DEFAULT_MINIMUM_CAPACITY, USE_CUSTOM_MINIMUM_CAPACITY }
 

Public Member Functions

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 (Key key)
 
int NumberOfElementsFilterAttributes (PropertyAttributes filter)
 
int NumberOfEnumElements ()
 
void CopyKeysTo (FixedArray *storage, PropertyAttributes filter, SortMode sort_mode)
 
void CopyKeysTo (FixedArray *storage, int index, SortMode sort_mode)
 
void SetNextEnumerationIndex (int index)
 
int NextEnumerationIndex ()
 
MUST_USE_RESULT MaybeObject * EnsureCapacity (int n, Key key)
 
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 (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)
 
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 (Key key)
 
int FindEntry (Isolate *isolate, Key key)
 
- 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_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)
 
- 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 AssertNoAllocation &)
 
void HeapObjectShortPrint (StringStream *accumulator)
 
 STATIC_CHECK (kMapOffset==Internals::kHeapObjectMapOffset)
 
- Public Member Functions inherited from Object
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 ()
 
ObjectToBoolean ()
 
MUST_USE_RESULT MaybeObject * ToObject (Context *native_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)
 
ObjectGetElementNoExceptionThrown (uint32_t index)
 
MUST_USE_RESULT MaybeObject * GetElementWithReceiver (Object *receiver, uint32_t index)
 
ObjectGetPrototype ()
 
MUST_USE_RESULT MaybeObject * GetHash (CreationFlag flag)
 
bool SameValue (Object *other)
 
bool ToArrayIndex (uint32_t *index)
 
bool IsStringObjectWithCharacterAt (uint32_t index)
 
void VerifyApiCallResultType ()
 
void ShortPrint ()
 
void ShortPrint (FILE *out)
 
void ShortPrint (StringStream *accumulator)
 

Static Public Member Functions

static Dictionary< Shape, Key > * cast (Object *obj)
 
static MUST_USE_RESULT
MaybeObject * 
Allocate (int at_least_space_for)
 
- Static Public Member Functions inherited from HashTable< Shape, Key >
static MUST_USE_RESULT
MaybeObject * 
Allocate (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 HeapObjectcast (Object *obj)
 
- Static Public Member Functions inherited from Object
static Handle< ObjectGetProperty (Handle< Object > object, Handle< Object > receiver, LookupResult *result, Handle< String > key, PropertyAttributes *attributes)
 
static Handle< ObjectGetElement (Handle< Object > object, uint32_t index)
 
static Objectcast (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)
 
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)
 
- Protected Member Functions inherited from HeapObject
void IteratePointers (ObjectVisitor *v, int start, int end)
 
void IteratePointer (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)
 

Detailed Description

template<typename Shape, typename Key>
class v8::internal::Dictionary< Shape, Key >

Definition at line 3060 of file objects.h.

Member Enumeration Documentation

enum SortMode
Enumerator
UNSORTED 
SORTED 

Definition at line 3104 of file objects.h.

Member Function Documentation

MaybeObject * AddEntry ( Key  key,
Object value,
PropertyDetails  details,
uint32_t  hash 
)
protected
MaybeObject * Allocate ( int  at_least_space_for)
static
MaybeObject * AtPut ( Key  key,
Object value 
)
protected

Definition at line 12529 of file objects.cc.

References Dictionary< Shape, Key >::cast(), NONE, and v8::internal::NORMAL.

static Dictionary<Shape, Key>* cast ( Object obj)
inlinestatic
void CopyKeysTo ( FixedArray storage,
PropertyAttributes  filter,
SortMode  sort_mode 
)
void CopyKeysTo ( FixedArray storage,
int  index,
SortMode  sort_mode 
)
void DetailsAtPut ( int  entry,
PropertyDetails  value 
)
inline
MaybeObject * EnsureCapacity ( int  n,
Key  key 
)

Definition at line 12493 of file objects.cc.

References HashTable< Shape, Key >::EnsureCapacity().

int NextEnumerationIndex ( )
inline

Definition at line 3118 of file objects.h.

Referenced by JSObject::AddSlowProperty(), and JSObject::SetNormalizedProperty().

int NumberOfElementsFilterAttributes ( PropertyAttributes  filter)
int NumberOfEnumElements ( )

Definition at line 12722 of file objects.cc.

References DONT_ENUM.

void SetEntry ( int  entry,
Object key,
Object value 
)
inline
void SetEntry ( int  entry,
Object key,
Object value,
PropertyDetails  details 
)
inline
void SetNextEnumerationIndex ( int  index)
inline
MaybeObject * Shrink ( Key  key)
void ValueAtPut ( int  entry,
Object value 
)
inline

Definition at line 3072 of file objects.h.

Referenced by JSObject::SetDictionaryElement(), and JSObject::SetNormalizedProperty().

Field Documentation

const int kMaxNumberKeyIndex
staticprotected
Initial value:
=
HashTable<Shape, Key>::kPrefixStartIndex

Definition at line 3162 of file objects.h.

const int kNextEnumerationIndexIndex = kMaxNumberKeyIndex + 1
staticprotected

Definition at line 3164 of file objects.h.


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