v8
3.25.30(node0.11.13)
V8 is Google's open source JavaScript engine
|
#include <transitions.h>
Public Member Functions | |
Name * | GetKey (int transition_number) |
void | SetKey (int transition_number, Name *value) |
Object ** | GetKeySlot (int transition_number) |
int | GetSortedKeyIndex (int transition_number) |
Name * | GetSortedKey (int transition_number) |
Map * | GetTarget (int transition_number) |
void | SetTarget (int transition_number, Map *target) |
PropertyDetails | GetTargetDetails (int transition_number) |
bool | HasElementsTransition () |
Object * | back_pointer_storage () |
void | set_back_pointer_storage (Object *back_pointer, WriteBarrierMode mode=UPDATE_WRITE_BARRIER) |
FixedArray * | GetPrototypeTransitions () |
void | SetPrototypeTransitions (FixedArray *prototype_transitions, WriteBarrierMode mode=UPDATE_WRITE_BARRIER) |
Object ** | GetPrototypeTransitionsSlot () |
bool | HasPrototypeTransitions () |
HeapObject * | UncheckedPrototypeTransitions () |
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 | |
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 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 TransitionArray * | 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) |
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) |
Definition at line 58 of file transitions.h.
|
static |
Definition at line 47 of file transitions.cc.
References Smi::FromInt(), TransitionArray::kPrototypeTransitionsIndex, and FixedArray::set().
Referenced by TransitionArray::CopyInsert(), TransitionArray::ExtendToFullTransitionArray(), and TransitionArray::NewWith().
|
inline |
Definition at line 64 of file transitions-inl.h.
References TransitionArray::kBackPointerStorageIndex.
Referenced by TransitionArray::CopyInsert(), TransitionArray::ExtendToFullTransitionArray(), and Map::GetBackPointer().
|
inlinestatic |
Definition at line 53 of file transitions-inl.h.
References ASSERT.
Referenced by Map::GetBackPointer(), and Map::SetBackPointer().
Definition at line 109 of file transitions.cc.
References TransitionArray::Allocate(), TransitionArray::back_pointer_storage(), HeapObject::GetIsolate(), TransitionArray::GetKey(), TransitionArray::GetPrototypeTransitions(), TransitionArray::HasPrototypeTransitions(), TransitionArray::kNotFound, TransitionArray::NoIncrementalWriteBarrierCopyFrom(), TransitionArray::number_of_transitions(), TransitionArray::Search(), TransitionArray::set_back_pointer_storage(), and TransitionArray::SetPrototypeTransitions().
MaybeObject * ExtendToFullTransitionArray | ( | ) |
Definition at line 93 of file transitions.cc.
References TransitionArray::Allocate(), ASSERT, TransitionArray::back_pointer_storage(), HeapObject::GetIsolate(), TransitionArray::IsFullTransitionArray(), TransitionArray::kSimpleTransitionIndex, TransitionArray::NoIncrementalWriteBarrierCopyFrom(), TransitionArray::number_of_transitions(), and TransitionArray::set_back_pointer_storage().
|
inline |
Definition at line 121 of file transitions-inl.h.
References ASSERT, Name::cast(), TransitionArray::GetTarget(), TransitionArray::IsSimpleTransition(), TransitionArray::kSimpleTransitionIndex, Map::LastAdded(), and TransitionArray::number_of_transitions().
Referenced by Map::ClearNonLiveTransitions(), TransitionArray::CopyInsert(), JSObject::ExpectedTransitionKey(), TransitionArray::GetSortedKey(), TransitionArray::NoIncrementalWriteBarrierCopyFrom(), and TransitionArray::Search().
|
inline |
Definition at line 114 of file transitions-inl.h.
References ASSERT, TransitionArray::IsSimpleTransition(), TransitionArray::number_of_transitions(), and FixedArray::RawFieldOfElementAt().
Referenced by Map::ClearNonLiveTransitions(), and StaticMarkingVisitor< StaticVisitor >::MarkTransitionArray().
|
inline |
Definition at line 84 of file transitions-inl.h.
References ASSERT, FixedArray::cast(), TransitionArray::IsFullTransitionArray(), and TransitionArray::kPrototypeTransitionsIndex.
Referenced by TransitionArray::CopyInsert().
|
inline |
Definition at line 108 of file transitions-inl.h.
References TransitionArray::kPrototypeTransitionsOffset, and HeapObject::RawField().
Referenced by StaticMarkingVisitor< StaticVisitor >::MarkTransitionArray().
|
inline |
Definition at line 66 of file transitions.h.
References TransitionArray::GetKey().
|
inline |
Definition at line 64 of file transitions.h.
|
inline |
Definition at line 140 of file transitions-inl.h.
References ASSERT, Map::cast(), TransitionArray::IsSimpleTransition(), TransitionArray::kSimpleTransitionIndex, TransitionArray::kSimpleTransitionTarget, and TransitionArray::number_of_transitions().
Referenced by Map::ClearNonLiveTransitions(), Map::DeprecateTarget(), Map::DeprecateTransitionTree(), Map::FindLastMatchMap(), JSObject::FindTransitionToField(), Map::FindUpdatedMap(), TransitionArray::GetKey(), TransitionArray::GetTargetDetails(), Map::LookupTransition(), IntrusiveMapTransitionIterator::Next(), and TransitionArray::NoIncrementalWriteBarrierCopyFrom().
|
inline |
Definition at line 160 of file transitions-inl.h.
References Map::GetLastDescriptorDetails(), TransitionArray::GetTarget(), and HeapObject::map().
Referenced by JSObject::ExpectedTransitionKey(), and JSObject::FindTransitionToField().
|
inline |
Definition at line 59 of file transitions-inl.h.
References HeapObject::GetHeap(), TransitionArray::kNotFound, and TransitionArray::Search().
|
inline |
Definition at line 78 of file transitions-inl.h.
References Smi::FromInt(), TransitionArray::IsFullTransitionArray(), and TransitionArray::kPrototypeTransitionsIndex.
Referenced by TraversableMap::ChildIteratorNext(), TransitionArray::CopyInsert(), StaticMarkingVisitor< StaticVisitor >::MarkTransitionArray(), and TransitionArray::UncheckedPrototypeTransitions().
|
inline |
Definition at line 136 of file transitions.h.
References TransitionArray::IsSimpleTransition(), TransitionArray::kFirstIndex, and FixedArrayBase::length().
Referenced by TransitionArray::ExtendToFullTransitionArray(), TransitionArray::GetPrototypeTransitions(), TransitionArray::HasPrototypeTransitions(), and TransitionArray::SetPrototypeTransitions().
|
inline |
Definition at line 125 of file transitions.h.
References HeapObject::cast(), TransitionArray::kSimpleTransitionSize, TransitionArray::kSimpleTransitionTarget, FixedArrayBase::length(), and HeapObject::map().
Referenced by Map::ClearNonLiveTransitions(), JSObject::ExpectedTransitionKey(), TransitionArray::GetKey(), TransitionArray::GetKeySlot(), TransitionArray::GetTarget(), TransitionArray::IsFullTransitionArray(), StaticMarkingVisitor< StaticVisitor >::MarkTransitionArray(), TransitionArray::number_of_transitions(), TransitionArray::Search(), TransitionArray::SetKey(), and TransitionArray::SetTarget().
|
static |
Definition at line 72 of file transitions.cc.
References TransitionArray::Allocate(), HeapObject::GetIsolate(), TransitionArray::kSimpleTransitionSize, TransitionArray::kSimpleTransitionTarget, FixedArray::set(), TransitionArray::set_back_pointer_storage(), and v8::internal::SIMPLE_TRANSITION.
Referenced by Map::AddTransition().
|
inline |
Definition at line 58 of file transitions.cc.
References TransitionArray::GetKey(), and TransitionArray::GetTarget().
Referenced by TransitionArray::CopyInsert(), and TransitionArray::ExtendToFullTransitionArray().
|
inline |
Definition at line 97 of file transitions.h.
References TransitionArray::number_of_transitions().
|
inline |
Definition at line 91 of file transitions.h.
References TransitionArray::IsSimpleTransition(), TransitionArray::kFirstIndex, TransitionArray::kTransitionSize, and FixedArrayBase::length().
Referenced by Map::ClearNonLiveTransitions(), TransitionArray::CopyInsert(), Map::DeprecateTransitionTree(), TransitionArray::ExtendToFullTransitionArray(), TransitionArray::GetKey(), TransitionArray::GetKeySlot(), TransitionArray::GetTarget(), StaticMarkingVisitor< StaticVisitor >::MarkTransitionArray(), IntrusiveMapTransitionIterator::Next(), TransitionArray::number_of_entries(), TransitionArray::SetKey(), and TransitionArray::SetTarget().
|
inline |
Definition at line 166 of file transitions-inl.h.
References Name::Equals(), TransitionArray::GetKey(), TransitionArray::IsSimpleTransition(), TransitionArray::kNotFound, TransitionArray::kSimpleTransitionIndex, and v8::internal::name.
Referenced by TransitionArray::CopyInsert(), Map::DeprecateTarget(), Map::FindLastMatchMap(), JSObject::FindTransitionToField(), Map::FindUpdatedMap(), TransitionArray::HasElementsTransition(), and Map::LookupTransition().
|
inline |
Definition at line 69 of file transitions-inl.h.
References CONDITIONAL_WRITE_BARRIER, HeapObject::GetHeap(), TransitionArray::kBackPointerStorageOffset, and WRITE_FIELD.
Referenced by TransitionArray::CopyInsert(), TransitionArray::ExtendToFullTransitionArray(), TransitionArray::NewWith(), and Map::SetBackPointer().
|
inline |
Definition at line 133 of file transitions-inl.h.
References ASSERT, TransitionArray::IsSimpleTransition(), TransitionArray::number_of_transitions(), and FixedArray::set().
Referenced by Map::ClearNonLiveTransitions().
|
inline |
Definition at line 97 of file transitions-inl.h.
References ASSERT, CONDITIONAL_WRITE_BARRIER, HeapObject::GetHeap(), TransitionArray::IsFullTransitionArray(), TransitionArray::kPrototypeTransitionsOffset, and WRITE_FIELD.
Referenced by TransitionArray::CopyInsert().
|
inline |
Definition at line 150 of file transitions-inl.h.
References ASSERT, TransitionArray::IsSimpleTransition(), TransitionArray::kSimpleTransitionIndex, TransitionArray::kSimpleTransitionTarget, TransitionArray::number_of_transitions(), and FixedArray::set().
Referenced by Map::ClearNonLiveTransitions().
STATIC_ASSERT | ( | kSimpleTransitionIndex! | = kNotFound | ) |
|
inline |
Definition at line 91 of file transitions-inl.h.
References ASSERT, TransitionArray::HasPrototypeTransitions(), and TransitionArray::kPrototypeTransitionsIndex.
Referenced by TraversableMap::ChildIteratorNext(), and Map::UncheckedPrototypeTransitions().
|
static |
Definition at line 147 of file transitions.h.
Referenced by TransitionArray::back_pointer_storage().
|
static |
Definition at line 159 of file transitions.h.
Referenced by TransitionArray::set_back_pointer_storage().
|
static |
Definition at line 151 of file transitions.h.
Referenced by TransitionArray::IsFullTransitionArray(), and TransitionArray::number_of_transitions().
|
static |
Definition at line 186 of file transitions.h.
|
static |
Definition at line 145 of file transitions.h.
Referenced by TransitionArray::CopyInsert(), Map::DeprecateTarget(), Map::FindLastMatchMap(), JSObject::FindTransitionToField(), Map::FindUpdatedMap(), TransitionArray::HasElementsTransition(), Map::LookupTransition(), and TransitionArray::Search().
|
static |
Definition at line 150 of file transitions.h.
Referenced by TransitionArray::Allocate(), TransitionArray::GetPrototypeTransitions(), TransitionArray::HasPrototypeTransitions(), and TransitionArray::UncheckedPrototypeTransitions().
|
static |
Definition at line 162 of file transitions.h.
Referenced by TransitionArray::GetPrototypeTransitionsSlot(), and TransitionArray::SetPrototypeTransitions().
|
static |
Definition at line 156 of file transitions.h.
Referenced by JSObject::ExpectedTransitionKey(), JSObject::ExpectedTransitionTarget(), TransitionArray::ExtendToFullTransitionArray(), TransitionArray::GetKey(), TransitionArray::GetTarget(), TransitionArray::Search(), and TransitionArray::SetTarget().
|
static |
Definition at line 155 of file transitions.h.
Referenced by TransitionArray::IsSimpleTransition(), and TransitionArray::NewWith().
|
static |
Definition at line 154 of file transitions.h.
Referenced by TransitionArray::GetTarget(), TransitionArray::IsSimpleTransition(), TransitionArray::NewWith(), and TransitionArray::SetTarget().
|
static |
Definition at line 166 of file transitions.h.
|
static |
Definition at line 168 of file transitions.h.
Referenced by Map::CanHaveMoreTransitions(), Map::ClearNonLiveTransitions(), and TransitionArray::number_of_transitions().
|
static |
Definition at line 167 of file transitions.h.