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
TraversableMap Class Reference
Inheritance diagram for TraversableMap:
Collaboration diagram for TraversableMap:

Public Member Functions

void SetParent (TraversableMap *parent)
 
TraversableMapGetAndResetParent ()
 
void ChildIteratorStart ()
 
TraversableMapChildIteratorNext ()
 
- Public Member Functions inherited from Map
int instance_size ()
 
void set_instance_size (int value)
 
int inobject_properties ()
 
void set_inobject_properties (int value)
 
int pre_allocated_property_fields ()
 
void set_pre_allocated_property_fields (int value)
 
InstanceType instance_type ()
 
void set_instance_type (InstanceType value)
 
int unused_property_fields ()
 
void set_unused_property_fields (int value)
 
byte bit_field ()
 
void set_bit_field (byte value)
 
byte bit_field2 ()
 
void set_bit_field2 (byte value)
 
uint32_t bit_field3 ()
 
void set_bit_field3 (uint32_t bits)
 
 STATIC_ASSERT (kDescriptorIndexBitCount+kDescriptorIndexBitCount==20)
 
void set_non_instance_prototype (bool value)
 
bool has_non_instance_prototype ()
 
void set_function_with_prototype (bool value)
 
bool function_with_prototype ()
 
void set_is_hidden_prototype ()
 
bool is_hidden_prototype ()
 
void set_has_named_interceptor ()
 
bool has_named_interceptor ()
 
void set_has_indexed_interceptor ()
 
bool has_indexed_interceptor ()
 
void set_is_undetectable ()
 
bool is_undetectable ()
 
void set_is_observed ()
 
bool is_observed ()
 
void set_is_extensible (bool value)
 
bool is_extensible ()
 
void set_elements_kind (ElementsKind elements_kind)
 
ElementsKind elements_kind ()
 
bool has_fast_smi_elements ()
 
bool has_fast_object_elements ()
 
bool has_fast_smi_or_object_elements ()
 
bool has_fast_double_elements ()
 
bool has_fast_elements ()
 
bool has_sloppy_arguments_elements ()
 
bool has_external_array_elements ()
 
bool has_fixed_typed_array_elements ()
 
bool has_dictionary_elements ()
 
bool has_slow_elements_kind ()
 
bool DictionaryElementsInPrototypeChainOnly ()
 
bool HasTransitionArray ()
 
bool HasElementsTransition ()
 
Mapelements_transition_map ()
 
MUST_USE_RESULT MaybeObject * set_elements_transition_map (Map *transitioned_map)
 
void SetTransition (int transition_index, Map *target)
 
MapGetTransition (int transition_index)
 
MUST_USE_RESULT MaybeObject * AddTransition (Name *key, Map *target, SimpleTransitionFlag flag)
 
void ClearTransitions (Heap *heap, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
void DeprecateTransitionTree ()
 
void DeprecateTarget (Name *key, DescriptorArray *new_descriptors)
 
MapFindRootMap ()
 
MapFindUpdatedMap (int verbatim, int length, DescriptorArray *descriptors)
 
MapFindLastMatchMap (int verbatim, int length, DescriptorArray *descriptors)
 
int GetInObjectPropertyOffset (int index)
 
int NumberOfFields ()
 
bool InstancesNeedRewriting (Map *target, int target_number_of_fields, int target_inobject, int target_unused)
 
void PrintGeneralization (FILE *file, const char *reason, int modify_index, int split, int descriptors, bool constant_to_field, Representation old_representation, Representation new_representation)
 
Stringconstructor_name ()
 
void set_attached_to_shared_function_info (bool value)
 
bool attached_to_shared_function_info ()
 
void set_is_shared (bool value)
 
bool is_shared ()
 
void set_dictionary_map (bool value)
 
bool is_dictionary_map ()
 
void set_is_access_check_needed (bool access_check_needed)
 
bool is_access_check_needed ()
 
bool has_code_cache ()
 
void InitializeDescriptors (DescriptorArray *descriptors)
 
ObjectGetBackPointer ()
 
void SetBackPointer (Object *value, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
void init_back_pointer (Object *undefined)
 
FixedArrayGetPrototypeTransitions ()
 
MUST_USE_RESULT MaybeObject * SetPrototypeTransitions (FixedArray *prototype_transitions)
 
bool HasPrototypeTransitions ()
 
HeapObjectUncheckedPrototypeTransitions ()
 
TransitionArrayunchecked_transition_array ()
 
int NumberOfProtoTransitions ()
 
void SetNumberOfProtoTransitions (int value)
 
void LookupDescriptor (JSObject *holder, Name *name, LookupResult *result)
 
void LookupTransition (JSObject *holder, Name *name, LookupResult *result)
 
PropertyDetails GetLastDescriptorDetails ()
 
bool CanHaveMoreTransitions ()
 
int LastAdded ()
 
int NumberOfOwnDescriptors ()
 
void SetNumberOfOwnDescriptors (int number)
 
CellRetrieveDescriptorsPointer ()
 
int EnumLength ()
 
void SetEnumLength (int length)
 
bool owns_descriptors ()
 
void set_owns_descriptors (bool is_shared)
 
bool has_instance_call_handler ()
 
void set_has_instance_call_handler ()
 
void freeze ()
 
bool is_frozen ()
 
void mark_unstable ()
 
bool is_stable ()
 
void set_migration_target (bool value)
 
bool is_migration_target ()
 
void deprecate ()
 
bool is_deprecated ()
 
bool CanBeDeprecated ()
 
MUST_USE_RESULT MaybeObject * RawCopy (int instance_size)
 
MUST_USE_RESULT MaybeObject * CopyWithPreallocatedFieldDescriptors ()
 
MUST_USE_RESULT MaybeObject * CopyDropDescriptors ()
 
MUST_USE_RESULT MaybeObject * CopyReplaceDescriptors (DescriptorArray *descriptors, TransitionFlag flag, Name *name=NULL, SimpleTransitionFlag simple_flag=FULL_TRANSITION)
 
MUST_USE_RESULT MaybeObject * ShareDescriptor (DescriptorArray *descriptors, Descriptor *descriptor)
 
MUST_USE_RESULT MaybeObject * CopyAddDescriptor (Descriptor *descriptor, TransitionFlag flag)
 
MUST_USE_RESULT MaybeObject * CopyInsertDescriptor (Descriptor *descriptor, TransitionFlag flag)
 
MUST_USE_RESULT MaybeObject * CopyReplaceDescriptor (DescriptorArray *descriptors, Descriptor *descriptor, int index, TransitionFlag flag)
 
MUST_USE_RESULT MaybeObject * AsElementsKind (ElementsKind kind)
 
MUST_USE_RESULT MaybeObject * CopyAsElementsKind (ElementsKind kind, TransitionFlag flag)
 
void AppendDescriptor (Descriptor *desc, const DescriptorArray::WhitenessWitness &)
 
MUST_USE_RESULT MaybeObject * Copy ()
 
int NextFreePropertyIndex ()
 
int NumberOfDescribedProperties (DescriptorFlag which=OWN_DESCRIPTORS, PropertyAttributes filter=NONE)
 
int InitialPropertiesLength ()
 
AccessorDescriptorFindAccessor (Name *name)
 
void ClearCodeCache (Heap *heap)
 
MUST_USE_RESULT MaybeObject * UpdateCodeCache (Name *name, Code *code)
 
ObjectFindInCodeCache (Name *name, Code::Flags flags)
 
int IndexInCodeCache (Object *name, Code *code)
 
void RemoveFromCodeCache (Name *name, Code *code, int index)
 
void ClearNonLiveTransitions (Heap *heap)
 
int Hash ()
 
bool EquivalentToForTransition (Map *other)
 
bool EquivalentToForNormalization (Map *other, PropertyNormalizationMode mode)
 
MapLookupElementsTransitionMap (ElementsKind elements_kind)
 
Handle< MapFindTransitionedMap (MapHandleList *candidates)
 
MapFindTransitionedMap (MapList *candidates)
 
void ZapPrototypeTransitions ()
 
void ZapTransitions ()
 
bool CanTransition ()
 
bool IsJSObjectMap ()
 
bool IsJSGlobalProxyMap ()
 
bool IsJSGlobalObjectMap ()
 
bool IsGlobalObjectMap ()
 
void NotifyLeafMapLayoutChange ()
 
bool CanOmitMapChecks ()
 
void AddDependentCompilationInfo (DependentCode::DependencyGroup group, CompilationInfo *info)
 
void AddDependentCode (DependentCode::DependencyGroup group, Handle< Code > code)
 
bool IsMapInArrayPrototypeChain ()
 
int visitor_id ()
 
void set_visitor_id (int visitor_id)
 
void TraverseTransitionTree (TraverseCallback callback, void *data)
 
 STATIC_CHECK (kInstanceTypeOffset==Internals::kMapInstanceTypeOffset)
 
- 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)
 

Additional Inherited Members

- Public Types inherited from Map
typedef void(* TraverseCallback )(Map *map, void *data)
 
typedef FixedBodyDescriptor
< kPointerFieldsBeginOffset,
kPointerFieldsEndOffset, kSize
BodyDescriptor
 
- Public Types inherited from Object
enum  ValueType { OPTIMAL_REPRESENTATION, FORCE_TAGGED }
 
- Static Public Member Functions inherited from Map
static bool IsValidElementsTransition (ElementsKind from_kind, ElementsKind to_kind)
 
static Handle< TransitionArrayAddTransition (Handle< Map > map, Handle< Name > key, Handle< Map > target, SimpleTransitionFlag flag)
 
static Handle< MapGeneralizeAllFieldRepresentations (Handle< Map > map, Representation new_representation)
 
static Handle< MapGeneralizeRepresentation (Handle< Map > map, int modify_index, Representation new_representation, StoreMode store_mode)
 
static Handle< MapCopyGeneralizeAllRepresentations (Handle< Map > map, int modify_index, StoreMode store_mode, PropertyAttributes attributes, const char *reason)
 
static Handle< MapCurrentMapForDeprecated (Handle< Map > map)
 
static Handle< MapCurrentMapForDeprecatedInternal (Handle< Map > map)
 
static Handle< MapRawCopy (Handle< Map > map, int instance_size)
 
static Handle< MapCopyDropDescriptors (Handle< Map > map)
 
static Handle< MapCopyReplaceDescriptors (Handle< Map > map, Handle< DescriptorArray > descriptors, TransitionFlag flag, Handle< Name > name)
 
static Handle< MapCopyInstallDescriptors (Handle< Map > map, int new_descriptor, Handle< DescriptorArray > descriptors)
 
static Handle< MapAsElementsKind (Handle< Map > map, ElementsKind kind)
 
static Handle< MapCopyForObserved (Handle< Map > map)
 
static Handle< MapCopyNormalized (Handle< Map > map, PropertyNormalizationMode mode, NormalizedMapSharingMode sharing)
 
static Handle< MapCopy (Handle< Map > map)
 
static Mapcast (Object *obj)
 
static void UpdateCodeCache (Handle< Map > map, Handle< Name > name, Handle< Code > code)
 
static void AppendCallbackDescriptors (Handle< Map > map, Handle< Object > descriptors)
 
static void EnsureDescriptorSlack (Handle< Map > map, int slack)
 
static Handle< MapGetPrototypeTransition (Handle< Map > map, Handle< Object > prototype)
 
static Handle< MapPutPrototypeTransition (Handle< Map > map, Handle< Object > prototype, Handle< Map > target_map)
 
- 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 inherited from Map
static const int kProtoTransitionHeaderSize = 1
 
static const int kProtoTransitionNumberOfEntriesOffset = 0
 
static const int kProtoTransitionElementsPerEntry = 2
 
static const int kProtoTransitionPrototypeOffset = 0
 
static const int kProtoTransitionMapOffset = 1
 
static const int kMaxCachedPrototypeTransitions = 256
 
static const int kMaxPreAllocatedPropertyFields = 255
 
static const int kInstanceSizesOffset = HeapObject::kHeaderSize
 
static const int kInstanceAttributesOffset = kInstanceSizesOffset + kIntSize
 
static const int kPrototypeOffset = kInstanceAttributesOffset + kIntSize
 
static const int kConstructorOffset = kPrototypeOffset + kPointerSize
 
static const int kTransitionsOrBackPointerOffset
 
static const int kDescriptorsOffset
 
static const int kCodeCacheOffset = kDescriptorsOffset + kPointerSize
 
static const int kDependentCodeOffset = kCodeCacheOffset + kPointerSize
 
static const int kBitField3Offset = kDependentCodeOffset + kPointerSize
 
static const int kSize = kBitField3Offset + kPointerSize
 
static const int kPointerFieldsBeginOffset = Map::kPrototypeOffset
 
static const int kPointerFieldsEndOffset = kBitField3Offset + kPointerSize
 
static const int kInstanceSizeOffset = kInstanceSizesOffset + 0
 
static const int kInObjectPropertiesByte = 1
 
static const int kInObjectPropertiesOffset
 
static const int kPreAllocatedPropertyFieldsByte = 2
 
static const int kPreAllocatedPropertyFieldsOffset
 
static const int kVisitorIdByte = 3
 
static const int kVisitorIdOffset = kInstanceSizesOffset + kVisitorIdByte
 
static const int kInstanceTypeOffset = kInstanceAttributesOffset + 0
 
static const int kUnusedPropertyFieldsOffset = kInstanceAttributesOffset + 1
 
static const int kBitFieldOffset = kInstanceAttributesOffset + 2
 
static const int kBitField2Offset = kInstanceAttributesOffset + 3
 
static const int kUnused = 0
 
static const int kHasNonInstancePrototype = 1
 
static const int kIsHiddenPrototype = 2
 
static const int kHasNamedInterceptor = 3
 
static const int kHasIndexedInterceptor = 4
 
static const int kIsUndetectable = 5
 
static const int kIsObserved = 6
 
static const int kIsAccessCheckNeeded = 7
 
static const int kIsExtensible = 0
 
static const int kStringWrapperSafeForDefaultValueOf = 1
 
static const int kAttachedToSharedFunctionInfo = 2
 
static const int kElementsKindShift = 3
 
static const int kElementsKindBitCount = 5
 
static const int kElementsKindMask
 
static const int8_t kMaximumBitField2FastElementValue
 
static const int8_t kMaximumBitField2FastSmiElementValue
 
static const int8_t kMaximumBitField2FastHoleyElementValue
 
static const int8_t kMaximumBitField2FastHoleySmiElementValue
 
- 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 HeapObject
void IteratePointers (ObjectVisitor *v, int start, int end)
 
void IteratePointer (ObjectVisitor *v, int offset)
 
void IterateNextCodeLink (ObjectVisitor *v, int offset)
 

Detailed Description

Definition at line 7313 of file objects.cc.

Member Function Documentation

TraversableMap* GetAndResetParent ( )
inline
void SetParent ( TraversableMap parent)
inline

Definition at line 7317 of file objects.cc.

References HeapObject::set_map_no_write_barrier().

Referenced by Map::TraverseTransitionTree().


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