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

#include <objects.h>

Inheritance diagram for Map:
Collaboration diagram for Map:

Data Structures

class  DictionaryMap
 
class  EnumLengthBits
 
class  FunctionWithPrototype
 
class  IsShared
 
class  NumberOfOwnDescriptorsBits
 
class  OwnsDescriptors
 

Public Types

typedef void(* TraverseCallback )(Map *map, void *data)
 
typedef FixedBodyDescriptor
< kPointerFieldsBeginOffset,
kPointerFieldsEndOffset, kSize
BodyDescriptor
 

Public Member Functions

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)
 
int bit_field3 ()
 
void set_bit_field3 (int value)
 
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_has_instance_call_handler ()
 
bool has_instance_call_handler ()
 
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_non_strict_arguments_elements ()
 
bool has_external_array_elements ()
 
bool has_dictionary_elements ()
 
bool has_slow_elements_kind ()
 
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 (String *key, Map *target, SimpleTransitionFlag flag)
 
void ClearTransitions (Heap *heap, WriteBarrierMode mode=UPDATE_WRITE_BARRIER)
 
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 ()
 
JSFunctionunchecked_constructor ()
 
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, String *name, LookupResult *result)
 
void LookupTransition (JSObject *holder, String *name, LookupResult *result)
 
bool CanHaveMoreTransitions ()
 
int LastAdded ()
 
int NumberOfOwnDescriptors ()
 
void SetNumberOfOwnDescriptors (int number)
 
JSGlobalPropertyCellRetrieveDescriptorsPointer ()
 
int EnumLength ()
 
void SetEnumLength (int length)
 
bool owns_descriptors ()
 
void set_owns_descriptors (bool is_shared)
 
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, String *name, TransitionFlag flag, int descriptor_index)
 
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 * CopyAsElementsKind (ElementsKind kind, TransitionFlag flag)
 
MUST_USE_RESULT MaybeObject * CopyNormalized (PropertyNormalizationMode mode, NormalizedMapSharingMode sharing)
 
void AppendDescriptor (Descriptor *desc, const DescriptorArray::WhitenessWitness &)
 
MUST_USE_RESULT MaybeObject * Copy ()
 
int PropertyIndexFor (String *name)
 
int NextFreePropertyIndex ()
 
int NumberOfDescribedProperties (DescriptorFlag which=OWN_DESCRIPTORS, PropertyAttributes filter=NONE)
 
AccessorDescriptorFindAccessor (String *name)
 
void ClearCodeCache (Heap *heap)
 
MUST_USE_RESULT MaybeObject * UpdateCodeCache (String *name, Code *code)
 
ObjectFindInCodeCache (String *name, Code::Flags flags)
 
int IndexInCodeCache (Object *name, Code *code)
 
void RemoveFromCodeCache (String *name, Code *code, int index)
 
void ClearNonLiveTransitions (Heap *heap)
 
int Hash ()
 
bool EquivalentToForNormalization (Map *other, PropertyNormalizationMode mode)
 
MapLookupElementsTransitionMap (ElementsKind elements_kind)
 
Handle< MapFindTransitionedMap (MapHandleList *candidates)
 
MapFindTransitionedMap (MapList *candidates)
 
void ZapPrototypeTransitions ()
 
void ZapTransitions ()
 
int visitor_id ()
 
void set_visitor_id (int visitor_id)
 
void TraverseTransitionTree (TraverseCallback callback, void *data)
 
MapGetPrototypeTransition (Object *prototype)
 
MUST_USE_RESULT MaybeObject * PutPrototypeTransition (Object *prototype, Map *map)
 
 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 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 bool IsValidElementsTransition (ElementsKind from_kind, ElementsKind to_kind)
 
static Mapcast (Object *obj)
 
static void UpdateCodeCache (Handle< Map > map, Handle< String > name, Handle< Code > code)
 
static void AppendCallbackDescriptors (Handle< Map > map, Handle< Object > descriptors)
 
static void EnsureDescriptorSlack (Handle< Map > map, int slack)
 
- 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)
 

Static Public Attributes

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 kInvalidEnumCache = EnumLengthBits::kMax
 
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
 
static const int kBitField3Offset = kCodeCacheOffset + 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 kHasInstanceCallHandler = 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
 

Additional Inherited Members

- Protected Member Functions inherited from HeapObject
void IteratePointers (ObjectVisitor *v, int start, int end)
 
void IteratePointer (ObjectVisitor *v, int offset)
 

Detailed Description

Definition at line 4661 of file objects.h.

Member Typedef Documentation

typedef void(* TraverseCallback)(Map *map, void *data)

Definition at line 5100 of file objects.h.

Member Function Documentation

MaybeObject * AddTransition ( String key,
Map target,
SimpleTransitionFlag  flag 
)
inline

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

References TransitionArray::NewWith().

void AppendCallbackDescriptors ( Handle< Map map,
Handle< Object descriptors 
)
static
void AppendDescriptor ( Descriptor *  desc,
const DescriptorArray::WhitenessWitness witness 
)
inline
bool attached_to_shared_function_info ( )
inline

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

byte bit_field ( )
inline

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

References READ_BYTE_FIELD.

Referenced by Map::EquivalentToForNormalization().

int bit_field3 ( )
inline
bool CanHaveMoreTransitions ( )
inline
void ClearCodeCache ( Heap heap)
inline
void ClearTransitions ( Heap heap,
WriteBarrierMode  mode = UPDATE_WRITE_BARRIER 
)
inline

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

References CONDITIONAL_WRITE_BARRIER, Heap::ShouldZapGarbage(), and WRITE_FIELD.

MaybeObject * CopyInsertDescriptor ( Descriptor *  descriptor,
TransitionFlag  flag 
)
MaybeObject * CopyReplaceDescriptor ( DescriptorArray descriptors,
Descriptor *  descriptor,
int  index,
TransitionFlag  flag 
)
MaybeObject * CopyReplaceDescriptors ( DescriptorArray descriptors,
String name,
TransitionFlag  flag,
int  descriptor_index 
)
MaybeObject * CopyWithPreallocatedFieldDescriptors ( )
Map * elements_transition_map ( )
inline

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

void EnsureDescriptorSlack ( Handle< Map map,
int  slack 
)
static

Definition at line 2170 of file objects.cc.

References Isolate::factory(), and Factory::NewDescriptorArray().

Referenced by Factory::CreateApiFunction().

int EnumLength ( )
inline

Definition at line 4955 of file objects.h.

Referenced by JSReceiver::IsSimpleEnum(), and JSObject::NumberOfLocalProperties().

Object * FindInCodeCache ( String name,
Code::Flags  flags 
)

Definition at line 5287 of file objects.cc.

References CodeCache::cast(), HeapObject::GetHeap(), and CodeCache::Lookup().

Map* FindTransitionedMap ( MapList candidates)
bool function_with_prototype ( )
inline
FixedArray * GetPrototypeTransitions ( )
inline
Map * GetTransition ( int  transition_index)
inline

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

Referenced by JSObject::ConvertTransitionToMapTransition().

bool has_dictionary_elements ( )
inline

Definition at line 4812 of file objects.h.

References v8::internal::IsDictionaryElementsKind().

bool has_external_array_elements ( )
inline

Definition at line 4808 of file objects.h.

References v8::internal::IsExternalArrayElementsKind().

bool has_fast_double_elements ( )
inline

Definition at line 4800 of file objects.h.

References v8::internal::IsFastDoubleElementsKind().

bool has_fast_object_elements ( )
inline

Definition at line 4792 of file objects.h.

References v8::internal::IsFastObjectElementsKind().

Referenced by Heap::AllocateInitialMap().

bool has_fast_smi_elements ( )
inline

Definition at line 4787 of file objects.h.

References v8::internal::IsFastSmiElementsKind().

bool has_fast_smi_or_object_elements ( )
inline

Definition at line 4796 of file objects.h.

References v8::internal::IsFastSmiOrObjectElementsKind().

Referenced by JSObject::NormalizeElements().

bool has_indexed_interceptor ( )
inline

Definition at line 4743 of file objects.h.

Referenced by JSObject::HasIndexedInterceptor().

bool has_named_interceptor ( )
inline

Definition at line 4734 of file objects.h.

Referenced by JSObject::HasNamedInterceptor(), and v8::internal::RUNTIME_FUNCTION().

bool has_non_instance_prototype ( )
inline

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

Referenced by JSFunction::has_prototype().

bool has_non_strict_arguments_elements ( )
inline

Definition at line 4804 of file objects.h.

References v8::internal::NON_STRICT_ARGUMENTS_ELEMENTS.

bool has_slow_elements_kind ( )
inline
bool HasElementsTransition ( )
inline

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

int Hash ( )

Definition at line 7493 of file objects.cc.

References Map::bit_field2().

Referenced by NormalizedMapCache::Get().

bool HasPrototypeTransitions ( )
inline

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

int IndexInCodeCache ( Object name,
Code code 
)

Definition at line 5297 of file objects.cc.

References CodeCache::cast(), and CodeCache::GetIndex().

void init_back_pointer ( Object undefined)
inline

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

References ASSERT, and WRITE_FIELD.

Referenced by Heap::AllocateMap().

bool is_access_check_needed ( )
inline

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

Referenced by v8::internal::RUNTIME_FUNCTION().

bool is_dictionary_map ( )
inline
bool is_extensible ( )
inline
bool is_hidden_prototype ( )
inline

Definition at line 4725 of file objects.h.

Referenced by v8::internal::RUNTIME_FUNCTION(), and JSReceiver::SetPrototype().

bool is_shared ( )
inline
bool is_undetectable ( )
inline

Definition at line 4757 of file objects.h.

Referenced by v8::internal::RUNTIME_FUNCTION().

bool IsValidElementsTransition ( ElementsKind  from_kind,
ElementsKind  to_kind 
)
static
void LookupDescriptor ( JSObject holder,
String name,
LookupResult *  result 
)
inline
Map * LookupElementsTransitionMap ( ElementsKind  elements_kind)

Definition at line 2290 of file objects.cc.

References Map::elements_kind(), and v8::internal::NULL.

int NextFreePropertyIndex ( )
int NumberOfDescribedProperties ( DescriptorFlag  which = OWN_DESCRIPTORS,
PropertyAttributes  filter = NONE 
)
int NumberOfProtoTransitions ( )
inline
int pre_allocated_property_fields ( )
inline

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

References READ_BYTE_FIELD.

Referenced by Heap::AllocateJSObjectFromMap(), and JSObject::InitializeBody().

int PropertyIndexFor ( String name)
MaybeObject * RawCopy ( int  instance_size)
void RemoveFromCodeCache ( String name,
Code code,
int  index 
)

Definition at line 5306 of file objects.cc.

References ASSERT, CodeCache::cast(), and CodeCache::RemoveByIndex().

JSGlobalPropertyCell* RetrieveDescriptorsPointer ( )
inline
void set_attached_to_shared_function_info ( bool  value)
inline

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

void set_bit_field ( byte  value)
inline

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

References WRITE_BYTE_FIELD.

Referenced by Heap::AllocateMap(), and Map::RawCopy().

void set_bit_field2 ( byte  value)
inline
void set_bit_field3 ( int  value)
inline

Referenced by Heap::AllocateMap(), and Map::RawCopy().

void set_dictionary_map ( bool  value)
inline
void set_elements_kind ( ElementsKind  elements_kind)
inline
MaybeObject * set_elements_transition_map ( Map transitioned_map)
inline

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

void set_function_with_prototype ( bool  value)
inline

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

Referenced by Heap::ReinitializeJSReceiver().

void set_has_indexed_interceptor ( )
inline

Definition at line 4739 of file objects.h.

void set_has_instance_call_handler ( )
inline

Definition at line 4762 of file objects.h.

void set_has_named_interceptor ( )
inline

Definition at line 4730 of file objects.h.

void set_inobject_properties ( int  value)
inline
void set_instance_size ( int  value)
inline
void set_instance_type ( InstanceType  value)
inline

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

References WRITE_BYTE_FIELD.

Referenced by Heap::AllocateMap().

void set_is_access_check_needed ( bool  access_check_needed)
inline

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

Referenced by v8::internal::RUNTIME_FUNCTION().

void set_is_extensible ( bool  value)
inline

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

Referenced by JSObject::PreventExtensions().

void set_is_hidden_prototype ( )
inline

Definition at line 4721 of file objects.h.

void set_is_shared ( bool  value)
inline

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

Referenced by Map::CopyDropDescriptors(), and Map::CopyNormalized().

void set_is_undetectable ( )
inline

Definition at line 4753 of file objects.h.

void set_non_instance_prototype ( bool  value)
inline

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

Referenced by JSFunction::SetPrototype().

void set_owns_descriptors ( bool  is_shared)
inline

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

Referenced by JSObject::ConvertTransitionToMapTransition().

void set_pre_allocated_property_fields ( int  value)
inline

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

References ASSERT, and WRITE_BYTE_FIELD.

Referenced by Heap::AllocateInitialMap(), Heap::AllocateMap(), and Map::CopyDropDescriptors().

void set_visitor_id ( int  visitor_id)
inline

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

References ASSERT, and WRITE_BYTE_FIELD.

Referenced by Heap::AllocateMap().

void SetEnumLength ( int  length)
inline

Definition at line 4959 of file objects.h.

References ASSERT.

Referenced by JSObject::ConvertTransitionToMapTransition().

void SetNumberOfOwnDescriptors ( int  number)
inline

Definition at line 4948 of file objects.h.

References ASSERT.

void SetNumberOfProtoTransitions ( int  value)
inline
MaybeObject * SetPrototypeTransitions ( FixedArray prototype_transitions)
inline

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

References ASSERT.

Referenced by Map::PutPrototypeTransition().

void SetTransition ( int  transition_index,
Map target 
)
inline

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

Referenced by JSObject::ConvertTransitionToMapTransition().

JSFunction * unchecked_constructor ( )
inline

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

References READ_FIELD.

TransitionArray * unchecked_transition_array ( )
inline
HeapObject * UncheckedPrototypeTransitions ( )
inline

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

References ASSERT.

void UpdateCodeCache ( Handle< Map map,
Handle< String name,
Handle< Code code 
)
static

Definition at line 5261 of file objects.cc.

References CALL_HEAP_FUNCTION_VOID.

Referenced by JSObject::UpdateMapCodeCache().

MaybeObject * UpdateCodeCache ( String name,
Code code 
)
int visitor_id ( )
inline

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

References READ_BYTE_FIELD.

Referenced by VisitorDispatchTable< ScavengingCallback >::GetVisitor().

void ZapTransitions ( )

Field Documentation

const int kAttachedToSharedFunctionInfo = 2
static
const int kBitField2Offset = kInstanceAttributesOffset + 3
static

Definition at line 5161 of file objects.h.

const int kBitField3Offset = kCodeCacheOffset + kPointerSize
static

Definition at line 5138 of file objects.h.

const int kBitFieldOffset = kInstanceAttributesOffset + 2
static

Definition at line 5160 of file objects.h.

const int kCodeCacheOffset
static
Initial value:

Definition at line 5136 of file objects.h.

Referenced by Map::ClearCodeCache(), and NormalizedMapCache::Get().

const int kConstructorOffset = kPrototypeOffset + kPointerSize
static

Definition at line 5127 of file objects.h.

const int kDescriptorsOffset
static
Initial value:

Definition at line 5134 of file objects.h.

const int kElementsKindBitCount = 5
static

Definition at line 5182 of file objects.h.

const int kElementsKindMask
static
Initial value:

Definition at line 5185 of file objects.h.

const int kElementsKindShift = 3
static

Definition at line 5181 of file objects.h.

const int kHasIndexedInterceptor = 4
static

Definition at line 5170 of file objects.h.

const int kHasInstanceCallHandler = 6
static

Definition at line 5172 of file objects.h.

const int kHasNamedInterceptor = 3
static

Definition at line 5169 of file objects.h.

const int kHasNonInstancePrototype = 1
static

Definition at line 5167 of file objects.h.

const int kInObjectPropertiesByte = 1
static

Definition at line 5148 of file objects.h.

const int kInObjectPropertiesOffset
static
Initial value:

Definition at line 5149 of file objects.h.

const int kInstanceAttributesOffset = kInstanceSizesOffset + kIntSize
static

Definition at line 5125 of file objects.h.

const int kInstanceSizeOffset = kInstanceSizesOffset + 0
static

Definition at line 5147 of file objects.h.

const int kInstanceSizesOffset = HeapObject::kHeaderSize
static

Definition at line 5124 of file objects.h.

const int kInstanceTypeOffset = kInstanceAttributesOffset + 0
static

Definition at line 5158 of file objects.h.

Referenced by MacroAssembler::IsObjectStringType().

const int kIsAccessCheckNeeded = 7
static

Definition at line 5173 of file objects.h.

const int kIsExtensible = 0
static

Definition at line 5176 of file objects.h.

Referenced by Heap::AllocateMap().

const int kIsHiddenPrototype = 2
static

Definition at line 5168 of file objects.h.

const int kIsUndetectable = 5
static

Definition at line 5171 of file objects.h.

const int kMaxCachedPrototypeTransitions = 256
static

Definition at line 5111 of file objects.h.

Referenced by Map::PutPrototypeTransition().

const int8_t kMaximumBitField2FastElementValue
static
Initial value:
= static_cast<int8_t>(

Definition at line 5187 of file objects.h.

const int8_t kMaximumBitField2FastHoleyElementValue
static
Initial value:
=
static_cast<int8_t>((FAST_HOLEY_ELEMENTS + 1) <<

Definition at line 5192 of file objects.h.

const int8_t kMaximumBitField2FastHoleySmiElementValue
static
Initial value:
=
static_cast<int8_t>((FAST_HOLEY_SMI_ELEMENTS + 1) <<

Definition at line 5195 of file objects.h.

const int8_t kMaximumBitField2FastSmiElementValue
static
Initial value:
=
static_cast<int8_t>((FAST_SMI_ELEMENTS + 1) <<

Definition at line 5189 of file objects.h.

const int kMaxPreAllocatedPropertyFields = 255
static

Definition at line 5118 of file objects.h.

Referenced by Heap::AllocateInitialMap().

const int kPointerFieldsBeginOffset = Map::kPrototypeOffset
static
const int kPointerFieldsEndOffset = kBitField3Offset + kPointerSize
static
const int kPreAllocatedPropertyFieldsByte = 2
static

Definition at line 5151 of file objects.h.

const int kPreAllocatedPropertyFieldsOffset
static
Initial value:

Definition at line 5152 of file objects.h.

const int kProtoTransitionElementsPerEntry = 2
static

Definition at line 4904 of file objects.h.

Referenced by Map::GetPrototypeTransition(), Map::PutPrototypeTransition(), and TEST().

const int kProtoTransitionHeaderSize = 1
static

Definition at line 4902 of file objects.h.

Referenced by Map::GetPrototypeTransition(), Map::PutPrototypeTransition(), and TEST().

const int kProtoTransitionMapOffset = 1
static

Definition at line 4906 of file objects.h.

Referenced by Map::GetPrototypeTransition(), Map::PutPrototypeTransition(), and TEST().

const int kProtoTransitionNumberOfEntriesOffset = 0
static

Definition at line 4903 of file objects.h.

const int kProtoTransitionPrototypeOffset = 0
static

Definition at line 4905 of file objects.h.

Referenced by Map::GetPrototypeTransition(), Map::PutPrototypeTransition(), and TEST().

const int kPrototypeOffset = kInstanceAttributesOffset + kIntSize
static

Definition at line 5126 of file objects.h.

const int kSize = kBitField3Offset + kPointerSize
static
const int kStringWrapperSafeForDefaultValueOf = 1
static

Definition at line 5177 of file objects.h.

const int kTransitionsOrBackPointerOffset
static
Initial value:

Definition at line 5132 of file objects.h.

Referenced by Map::unchecked_transition_array().

const int kUnused = 0
static

Definition at line 5166 of file objects.h.

const int kUnusedPropertyFieldsOffset = kInstanceAttributesOffset + 1
static

Definition at line 5159 of file objects.h.

const int kVisitorIdByte = 3
static

Definition at line 5154 of file objects.h.

const int kVisitorIdOffset = kInstanceSizesOffset + kVisitorIdByte
static

Definition at line 5155 of file objects.h.


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