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
TransitionArray Class Reference

#include <transitions.h>

Inheritance diagram for TransitionArray:
Collaboration diagram for TransitionArray:

Public Member Functions

NameGetKey (int transition_number)
 
void SetKey (int transition_number, Name *value)
 
Object ** GetKeySlot (int transition_number)
 
int GetSortedKeyIndex (int transition_number)
 
NameGetSortedKey (int transition_number)
 
MapGetTarget (int transition_number)
 
void SetTarget (int transition_number, Map *target)
 
PropertyDetails GetTargetDetails (int transition_number)
 
bool HasElementsTransition ()
 
Objectback_pointer_storage ()
 
void set_back_pointer_storage (Object *back_pointer, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
FixedArrayGetPrototypeTransitions ()
 
void SetPrototypeTransitions (FixedArray *prototype_transitions, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
Object ** GetPrototypeTransitionsSlot ()
 
bool HasPrototypeTransitions ()
 
HeapObjectUncheckedPrototypeTransitions ()
 
int number_of_transitions ()
 
int number_of_entries ()
 
MUST_USE_RESULT MaybeObject * ExtendToFullTransitionArray ()
 
MUST_USE_RESULT MaybeObject * CopyInsert (Name *name, Map *target)
 
void NoIncrementalWriteBarrierCopyFrom (TransitionArray *origin, int origin_transition, int target_transition)
 
int Search (Name *name)
 
bool IsSimpleTransition ()
 
bool IsFullTransitionArray ()
 
 STATIC_ASSERT (kSimpleTransitionIndex!=kNotFound)
 
- 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 MUST_USE_RESULT
MaybeObject * 
NewWith (SimpleTransitionFlag flag, Name *key, Map *target, Object *back_pointer)
 
static MUST_USE_RESULT
MaybeObject * 
Allocate (Isolate *isolate, int number_of_transitions)
 
static TransitionArraycast (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 kNotFound = -1
 
static const int kBackPointerStorageIndex = 0
 
static const int kPrototypeTransitionsIndex = 1
 
static const int kFirstIndex = 2
 
static const int kSimpleTransitionTarget = 1
 
static const int kSimpleTransitionSize = 2
 
static const int kSimpleTransitionIndex = 0
 
static const int kBackPointerStorageOffset = FixedArray::kHeaderSize
 
static const int kPrototypeTransitionsOffset
 
static const int kTransitionKey = 0
 
static const int kTransitionTarget = 1
 
static const int kTransitionSize = 2
 
static const int kMaxNumberOfTransitions = 1024 + 512
 
- 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 Object
enum  ValueType { OPTIMAL_REPRESENTATION, FORCE_TAGGED }
 
- 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 FixedArray
static void NoWriteBarrierSet (FixedArray *array, int index, Object *value)
 
static void NoIncrementalWriteBarrierSet (FixedArray *array, int index, Object *value)
 

Detailed Description

Definition at line 58 of file transitions.h.

Member Function Documentation

MaybeObject * Allocate ( Isolate isolate,
int  number_of_transitions 
)
static
TransitionArray * cast ( Object obj)
inlinestatic

Definition at line 53 of file transitions-inl.h.

References ASSERT.

Referenced by Map::GetBackPointer(), and Map::SetBackPointer().

Object ** GetPrototypeTransitionsSlot ( )
inline
Name* GetSortedKey ( int  transition_number)
inline

Definition at line 66 of file transitions.h.

References TransitionArray::GetKey().

int GetSortedKeyIndex ( int  transition_number)
inline

Definition at line 64 of file transitions.h.

PropertyDetails GetTargetDetails ( int  transition_number)
inline
bool HasElementsTransition ( )
inline
void NoIncrementalWriteBarrierCopyFrom ( TransitionArray origin,
int  origin_transition,
int  target_transition 
)
inline
int number_of_entries ( )
inline

Definition at line 97 of file transitions.h.

References TransitionArray::number_of_transitions().

void SetKey ( int  transition_number,
Name value 
)
inline
STATIC_ASSERT ( kSimpleTransitionIndex!  = kNotFound)

Field Documentation

const int kBackPointerStorageIndex = 0
static

Definition at line 147 of file transitions.h.

Referenced by TransitionArray::back_pointer_storage().

const int kBackPointerStorageOffset = FixedArray::kHeaderSize
static

Definition at line 159 of file transitions.h.

Referenced by TransitionArray::set_back_pointer_storage().

const int kFirstIndex = 2
static
const int kMaxNumberOfTransitions = 1024 + 512
static

Definition at line 186 of file transitions.h.

const int kPrototypeTransitionsOffset
static
const int kSimpleTransitionSize = 2
static

Definition at line 155 of file transitions.h.

Referenced by TransitionArray::IsSimpleTransition(), and TransitionArray::NewWith().

const int kSimpleTransitionTarget = 1
static
const int kTransitionKey = 0
static

Definition at line 166 of file transitions.h.

const int kTransitionSize = 2
static
const int kTransitionTarget = 1
static

Definition at line 167 of file transitions.h.


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