webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Friends | List of all members
JSC::Structure Class Referencefinal

#include <Structure.h>

Inheritance diagram for JSC::Structure:
JSC::JSCell JSC::JSCell JSC::HeapCell JSC::HeapCell JSC::HeapCell JSC::HeapCell

Public Types

typedef JSCell Base
 
typedef JSCell Base
 
- Public Types inherited from JSC::JSCell
enum  CreatingEarlyCellTag { CreatingEarlyCell, CreatingEarlyCell }
 
enum  CreatingEarlyCellTag { CreatingEarlyCell, CreatingEarlyCell }
 
- Public Types inherited from JSC::HeapCell
enum  Kind : int8_t { JSCell, Auxiliary, JSCell, Auxiliary }
 
enum  Kind : int8_t { JSCell, Auxiliary, JSCell, Auxiliary }
 

Public Member Functions

 ~Structure ()
 
StructureID id () const
 
int32_t objectInitializationBlob () const
 
int64_t idBlob () const
 
bool isProxy () const
 
JS_EXPORT_PRIVATE bool isSealed (VM &)
 
JS_EXPORT_PRIVATE bool isFrozen (VM &)
 
bool isStructureExtensible () const
 
JS_EXPORT_PRIVATE StructureflattenDictionaryStructure (VM &, JSObject *)
 
template<typename Func >
PropertyOffset addPropertyWithoutTransition (VM &, PropertyName, unsigned attributes, const Func &)
 
template<typename Func >
PropertyOffset removePropertyWithoutTransition (VM &, PropertyName, const Func &)
 
void setPrototypeWithoutTransition (VM &vm, JSValue prototype)
 
bool isDictionary () const
 
bool isUncacheableDictionary () const
 
bool propertyAccessesAreCacheable ()
 
bool propertyAccessesAreCacheableForAbsence ()
 
bool needImpurePropertyWatchpoint ()
 
bool isImmutablePrototypeExoticObject ()
 
bool takesSlowPathInDFGForImpureProperty ()
 
TypeInfo typeInfo () const
 
bool isObject () const
 
IndexingType indexingType () const
 
IndexingType indexingTypeIncludingHistory () const
 
bool mayInterceptIndexedAccesses () const
 
JS_EXPORT_PRIVATE bool anyObjectInChainMayInterceptIndexedAccesses () const
 
bool holesMustForwardToPrototype (VM &) const
 
bool needsSlowPutIndexing () const
 
NonPropertyTransition suggestedArrayStorageTransition () const
 
JSGlobalObjectglobalObject () const
 
void setGlobalObject (VM &vm, JSGlobalObject *globalObject)
 
JSValue storedPrototype () const
 
JSObjectstoredPrototypeObject () const
 
StructurestoredPrototypeStructure () const
 
JSValue prototypeForLookup (ExecState *) const
 
JSValue prototypeForLookup (JSGlobalObject *) const
 
JSValue prototypeForLookup (CodeBlock *) const
 
StructureChainprototypeChain (VM &, JSGlobalObject *) const
 
StructureChainprototypeChain (ExecState *) const
 
bool isCheapDuringGC ()
 
bool markIfCheap (SlotVisitor &)
 
JS_EXPORT_PRIVATE bool prototypeChainMayInterceptStoreTo (VM &, PropertyName)
 
bool hasRareData () const
 
StructurepreviousID () const
 
bool transitivelyTransitionedFrom (Structure *structureToFind)
 
PropertyOffset lastOffset () const
 
void setLastOffset (PropertyOffset offset)
 
unsigned outOfLineCapacity () const
 
unsigned outOfLineSize () const
 
bool hasInlineStorage () const
 
unsigned inlineCapacity () const
 
unsigned inlineSize () const
 
unsigned totalStorageSize () const
 
unsigned totalStorageCapacity () const
 
bool isValidOffset (PropertyOffset offset) const
 
bool hijacksIndexingHeader () const
 
bool couldHaveIndexingHeader () const
 
bool hasIndexingHeader (const JSCell *) const
 
bool masqueradesAsUndefined (JSGlobalObject *lexicalGlobalObject)
 
PropertyOffset get (VM &, PropertyName)
 
PropertyOffset get (VM &, PropertyName, unsigned &attributes)
 
PropertyOffset get (VM &, PropertyName, unsigned &attributes, bool &hasInferredType)
 
template<typename Functor >
void forEachPropertyConcurrently (const Functor &)
 
PropertyOffset getConcurrently (UniquedStringImpl *uid)
 
PropertyOffset getConcurrently (UniquedStringImpl *uid, unsigned &attributes)
 
Vector< PropertyMapEntrygetPropertiesConcurrently ()
 
void setHasGetterSetterPropertiesWithProtoCheck (bool is__proto__)
 
void setContainsReadOnlyProperties ()
 
void setHasCustomGetterSetterPropertiesWithProtoCheck (bool is__proto__)
 
bool isEmpty () const
 
void setCachedPropertyNameEnumerator (VM &, JSPropertyNameEnumerator *)
 
JSPropertyNameEnumeratorcachedPropertyNameEnumerator () const
 
bool canCachePropertyNameEnumerator () const
 
bool canAccessPropertiesQuicklyForEnumeration () const
 
void getPropertyNamesFromStructure (VM &, PropertyNameArray &, EnumerationMode)
 
JSStringobjectToStringValue ()
 
void setObjectToStringValue (ExecState *, VM &, JSString *value, PropertySlot toStringTagSymbolSlot)
 
const ClassInfoclassInfo () const
 
bool transitionWatchpointSetHasBeenInvalidated () const
 
bool transitionWatchpointSetIsStillValid () const
 
bool dfgShouldWatchIfPossible () const
 
bool dfgShouldWatch () const
 
void addTransitionWatchpoint (Watchpoint *watchpoint) const
 
void didTransitionFromThisStructure (DeferredStructureTransitionWatchpointFire *=nullptr) const
 
InlineWatchpointSettransitionWatchpointSet () const
 
WatchpointSetensurePropertyReplacementWatchpointSet (VM &, PropertyOffset)
 
void startWatchingPropertyForReplacements (VM &vm, PropertyOffset offset)
 
void startWatchingPropertyForReplacements (VM &, PropertyName)
 
WatchpointSetpropertyReplacementWatchpointSet (PropertyOffset)
 
void didReplaceProperty (PropertyOffset)
 
void didCachePropertyReplacement (VM &, PropertyOffset)
 
void startWatchingInternalPropertiesIfNecessary (VM &vm)
 
void startWatchingInternalPropertiesIfNecessaryForEntireChain (VM &vm)
 
bool hasInferredTypes () const
 
InferredTypeinferredTypeFor (UniquedStringImpl *uid)
 
InferredType::Descriptor inferredTypeDescriptorFor (UniquedStringImpl *uid)
 
ALWAYS_INLINE void willStoreValueForNewTransition (VM &vm, PropertyName propertyName, JSValue value, bool shouldOptimize)
 
ALWAYS_INLINE void willStoreValueForExistingTransition (VM &vm, PropertyName propertyName, JSValue value, bool shouldOptimize)
 
ALWAYS_INLINE void willStoreValueForReplace (VM &vm, PropertyName propertyName, JSValue value, bool shouldOptimize)
 
Ref< StructureShapetoStructureShape (JSValue)
 
bool canUseForAllocationsOf (Structure *)
 
void dump (PrintStream &) const
 
void dumpInContext (PrintStream &, DumpContext *) const
 
void dumpBrief (PrintStream &, const CString &) const
 
ConcurrentJSLocklock ()
 
 DEFINE_BITFIELD (DictionaryKind, dictionaryKind, DictionaryKind, 2, 0)
 
 DEFINE_BITFIELD (bool, isPinnedPropertyTable, IsPinnedPropertyTable, 1, 2)
 
 DEFINE_BITFIELD (bool, hasGetterSetterProperties, HasGetterSetterProperties, 1, 3)
 
 DEFINE_BITFIELD (bool, hasReadOnlyOrGetterSetterPropertiesExcludingProto, HasReadOnlyOrGetterSetterPropertiesExcludingProto, 1, 4)
 
 DEFINE_BITFIELD (bool, isQuickPropertyAccessAllowedForEnumeration, IsQuickPropertyAccessAllowedForEnumeration, 1, 5)
 
 DEFINE_BITFIELD (unsigned, attributesInPrevious, AttributesInPrevious, 14, 6)
 
 DEFINE_BITFIELD (bool, didPreventExtensions, DidPreventExtensions, 1, 20)
 
 DEFINE_BITFIELD (bool, didTransition, DidTransition, 1, 21)
 
 DEFINE_BITFIELD (bool, staticPropertiesReified, StaticPropertiesReified, 1, 22)
 
 DEFINE_BITFIELD (bool, hasBeenFlattenedBefore, HasBeenFlattenedBefore, 1, 23)
 
 DEFINE_BITFIELD (bool, hasCustomGetterSetterProperties, HasCustomGetterSetterProperties, 1, 24)
 
 DEFINE_BITFIELD (bool, didWatchInternalProperties, DidWatchInternalProperties, 1, 25)
 
 DEFINE_BITFIELD (bool, transitionWatchpointIsLikelyToBeFired, TransitionWatchpointIsLikelyToBeFired, 1, 26)
 
 DEFINE_BITFIELD (bool, hasBeenDictionary, HasBeenDictionary, 1, 27)
 
 DEFINE_BITFIELD (bool, isAddingPropertyForTransition, IsAddingPropertyForTransition, 1, 28)
 
 ~Structure ()
 
StructureID id () const
 
int32_t objectInitializationBlob () const
 
int64_t idBlob () const
 
bool isProxy () const
 
JS_EXPORT_PRIVATE bool isSealed (VM &)
 
JS_EXPORT_PRIVATE bool isFrozen (VM &)
 
bool isStructureExtensible () const
 
JS_EXPORT_PRIVATE StructureflattenDictionaryStructure (VM &, JSObject *)
 
template<typename Func >
PropertyOffset addPropertyWithoutTransition (VM &, PropertyName, unsigned attributes, const Func &)
 
template<typename Func >
PropertyOffset removePropertyWithoutTransition (VM &, PropertyName, const Func &)
 
void setPrototypeWithoutTransition (VM &vm, JSValue prototype)
 
bool isDictionary () const
 
bool isUncacheableDictionary () const
 
bool propertyAccessesAreCacheable ()
 
bool propertyAccessesAreCacheableForAbsence ()
 
bool needImpurePropertyWatchpoint ()
 
bool isImmutablePrototypeExoticObject ()
 
bool takesSlowPathInDFGForImpureProperty ()
 
TypeInfo typeInfo () const
 
bool isObject () const
 
IndexingType indexingType () const
 
IndexingType indexingTypeIncludingHistory () const
 
bool mayInterceptIndexedAccesses () const
 
JS_EXPORT_PRIVATE bool anyObjectInChainMayInterceptIndexedAccesses () const
 
bool holesMustForwardToPrototype (VM &) const
 
bool needsSlowPutIndexing () const
 
NonPropertyTransition suggestedArrayStorageTransition () const
 
JSGlobalObjectglobalObject () const
 
void setGlobalObject (VM &vm, JSGlobalObject *globalObject)
 
JSValue storedPrototype () const
 
JSObjectstoredPrototypeObject () const
 
StructurestoredPrototypeStructure () const
 
JSValue prototypeForLookup (ExecState *) const
 
JSValue prototypeForLookup (JSGlobalObject *) const
 
JSValue prototypeForLookup (CodeBlock *) const
 
StructureChainprototypeChain (VM &, JSGlobalObject *) const
 
StructureChainprototypeChain (ExecState *) const
 
bool isCheapDuringGC ()
 
bool markIfCheap (SlotVisitor &)
 
JS_EXPORT_PRIVATE bool prototypeChainMayInterceptStoreTo (VM &, PropertyName)
 
bool hasRareData () const
 
StructurepreviousID () const
 
bool transitivelyTransitionedFrom (Structure *structureToFind)
 
PropertyOffset lastOffset () const
 
void setLastOffset (PropertyOffset offset)
 
unsigned outOfLineCapacity () const
 
unsigned outOfLineSize () const
 
bool hasInlineStorage () const
 
unsigned inlineCapacity () const
 
unsigned inlineSize () const
 
unsigned totalStorageSize () const
 
unsigned totalStorageCapacity () const
 
bool isValidOffset (PropertyOffset offset) const
 
bool hijacksIndexingHeader () const
 
bool couldHaveIndexingHeader () const
 
bool hasIndexingHeader (const JSCell *) const
 
bool masqueradesAsUndefined (JSGlobalObject *lexicalGlobalObject)
 
PropertyOffset get (VM &, PropertyName)
 
PropertyOffset get (VM &, PropertyName, unsigned &attributes)
 
PropertyOffset get (VM &, PropertyName, unsigned &attributes, bool &hasInferredType)
 
template<typename Functor >
void forEachPropertyConcurrently (const Functor &)
 
PropertyOffset getConcurrently (UniquedStringImpl *uid)
 
PropertyOffset getConcurrently (UniquedStringImpl *uid, unsigned &attributes)
 
Vector< PropertyMapEntrygetPropertiesConcurrently ()
 
void setHasGetterSetterPropertiesWithProtoCheck (bool is__proto__)
 
void setContainsReadOnlyProperties ()
 
void setHasCustomGetterSetterPropertiesWithProtoCheck (bool is__proto__)
 
bool isEmpty () const
 
void setCachedPropertyNameEnumerator (VM &, JSPropertyNameEnumerator *)
 
JSPropertyNameEnumeratorcachedPropertyNameEnumerator () const
 
bool canCachePropertyNameEnumerator () const
 
bool canAccessPropertiesQuicklyForEnumeration () const
 
void getPropertyNamesFromStructure (VM &, PropertyNameArray &, EnumerationMode)
 
JSStringobjectToStringValue ()
 
void setObjectToStringValue (ExecState *, VM &, JSString *value, PropertySlot toStringTagSymbolSlot)
 
const ClassInfoclassInfo () const
 
bool transitionWatchpointSetHasBeenInvalidated () const
 
bool transitionWatchpointSetIsStillValid () const
 
bool dfgShouldWatchIfPossible () const
 
bool dfgShouldWatch () const
 
void addTransitionWatchpoint (Watchpoint *watchpoint) const
 
void didTransitionFromThisStructure (DeferredStructureTransitionWatchpointFire *=nullptr) const
 
InlineWatchpointSettransitionWatchpointSet () const
 
WatchpointSetensurePropertyReplacementWatchpointSet (VM &, PropertyOffset)
 
void startWatchingPropertyForReplacements (VM &vm, PropertyOffset offset)
 
void startWatchingPropertyForReplacements (VM &, PropertyName)
 
WatchpointSetpropertyReplacementWatchpointSet (PropertyOffset)
 
void didReplaceProperty (PropertyOffset)
 
void didCachePropertyReplacement (VM &, PropertyOffset)
 
void startWatchingInternalPropertiesIfNecessary (VM &vm)
 
void startWatchingInternalPropertiesIfNecessaryForEntireChain (VM &vm)
 
bool hasInferredTypes () const
 
InferredTypeinferredTypeFor (UniquedStringImpl *uid)
 
InferredType::Descriptor inferredTypeDescriptorFor (UniquedStringImpl *uid)
 
ALWAYS_INLINE void willStoreValueForNewTransition (VM &vm, PropertyName propertyName, JSValue value, bool shouldOptimize)
 
ALWAYS_INLINE void willStoreValueForExistingTransition (VM &vm, PropertyName propertyName, JSValue value, bool shouldOptimize)
 
ALWAYS_INLINE void willStoreValueForReplace (VM &vm, PropertyName propertyName, JSValue value, bool shouldOptimize)
 
Ref< StructureShapetoStructureShape (JSValue)
 
bool canUseForAllocationsOf (Structure *)
 
void dump (PrintStream &) const
 
void dumpInContext (PrintStream &, DumpContext *) const
 
void dumpBrief (PrintStream &, const CString &) const
 
ConcurrentJSLocklock ()
 
 DEFINE_BITFIELD (DictionaryKind, dictionaryKind, DictionaryKind, 2, 0)
 
 DEFINE_BITFIELD (bool, isPinnedPropertyTable, IsPinnedPropertyTable, 1, 2)
 
 DEFINE_BITFIELD (bool, hasGetterSetterProperties, HasGetterSetterProperties, 1, 3)
 
 DEFINE_BITFIELD (bool, hasReadOnlyOrGetterSetterPropertiesExcludingProto, HasReadOnlyOrGetterSetterPropertiesExcludingProto, 1, 4)
 
 DEFINE_BITFIELD (bool, isQuickPropertyAccessAllowedForEnumeration, IsQuickPropertyAccessAllowedForEnumeration, 1, 5)
 
 DEFINE_BITFIELD (unsigned, attributesInPrevious, AttributesInPrevious, 14, 6)
 
 DEFINE_BITFIELD (bool, didPreventExtensions, DidPreventExtensions, 1, 20)
 
 DEFINE_BITFIELD (bool, didTransition, DidTransition, 1, 21)
 
 DEFINE_BITFIELD (bool, staticPropertiesReified, StaticPropertiesReified, 1, 22)
 
 DEFINE_BITFIELD (bool, hasBeenFlattenedBefore, HasBeenFlattenedBefore, 1, 23)
 
 DEFINE_BITFIELD (bool, hasCustomGetterSetterProperties, HasCustomGetterSetterProperties, 1, 24)
 
 DEFINE_BITFIELD (bool, didWatchInternalProperties, DidWatchInternalProperties, 1, 25)
 
 DEFINE_BITFIELD (bool, transitionWatchpointIsLikelyToBeFired, TransitionWatchpointIsLikelyToBeFired, 1, 26)
 
 DEFINE_BITFIELD (bool, hasBeenDictionary, HasBeenDictionary, 1, 27)
 
 DEFINE_BITFIELD (bool, isAddingPropertyForTransition, IsAddingPropertyForTransition, 1, 28)
 
template<typename DetailsFunc >
ALWAYS_INLINE bool checkOffsetConsistency (PropertyTable *propertyTable, const DetailsFunc &detailsFunc) const
 
- Public Member Functions inherited from JSC::JSCell
 JSCell (CreatingEarlyCellTag)
 
bool isString () const
 
bool isSymbol () const
 
bool isObject () const
 
bool isAnyWasmCallee (VM &) const
 
bool isGetterSetter () const
 
bool isCustomGetterSetter () const
 
bool isProxy () const
 
bool inherits (VM &, const ClassInfo *) const
 
bool isAPIValueWrapper () const
 
void lock ()
 
bool tryLock ()
 
void unlock ()
 
bool isLocked () const
 
JSType type () const
 
IndexingType indexingTypeAndMisc () const
 
IndexingType indexingType () const
 
StructureID structureID () const
 
Structurestructure () const
 
Structurestructure (VM &) const
 
void setStructure (VM &, Structure *)
 
void setStructureIDDirectly (StructureID id)
 
void clearStructure ()
 
TypeInfo::InlineTypeFlags inlineTypeFlags () const
 
const char * className (VM &) const
 
JS_EXPORT_PRIVATE bool getString (ExecState *, String &) const
 
JS_EXPORT_PRIVATE String getString (ExecState *) const
 
JS_EXPORT_PRIVATE JSObjectgetObject ()
 
const JSObjectgetObject () const
 
JS_EXPORT_PRIVATE JSValue toPrimitive (ExecState *, PreferredPrimitiveType) const
 
bool getPrimitiveNumber (ExecState *, double &number, JSValue &) const
 
bool toBoolean (ExecState *) const
 
TriState pureToBoolean () const
 
JS_EXPORT_PRIVATE double toNumber (ExecState *) const
 
JSObjecttoObject (ExecState *, JSGlobalObject *) const
 
void dump (PrintStream &) const
 
size_t estimatedSizeInBytes () const
 
const ClassInfoclassInfo (VM &) const
 
const MethodTablemethodTable () const
 
const MethodTablemethodTable (VM &) const
 
JSValue fastGetOwnProperty (VM &, Structure &, PropertyName)
 
CellState cellState () const
 
void setCellState (CellState data) const
 
bool atomicCompareExchangeCellStateWeakRelaxed (CellState oldState, CellState newState)
 
CellState atomicCompareExchangeCellStateStrong (CellState oldState, CellState newState)
 
void callDestructor (VM &)
 
 JSCell (CreatingEarlyCellTag)
 
bool isString () const
 
bool isSymbol () const
 
bool isObject () const
 
bool isAnyWasmCallee (VM &) const
 
bool isGetterSetter () const
 
bool isCustomGetterSetter () const
 
bool isProxy () const
 
bool inherits (VM &, const ClassInfo *) const
 
bool isAPIValueWrapper () const
 
void lock ()
 
bool tryLock ()
 
void unlock ()
 
bool isLocked () const
 
JSType type () const
 
IndexingType indexingTypeAndMisc () const
 
IndexingType indexingType () const
 
StructureID structureID () const
 
Structurestructure () const
 
Structurestructure (VM &) const
 
void setStructure (VM &, Structure *)
 
void setStructureIDDirectly (StructureID id)
 
void clearStructure ()
 
TypeInfo::InlineTypeFlags inlineTypeFlags () const
 
const char * className (VM &) const
 
JS_EXPORT_PRIVATE bool getString (ExecState *, String &) const
 
JS_EXPORT_PRIVATE String getString (ExecState *) const
 
JS_EXPORT_PRIVATE JSObjectgetObject ()
 
const JSObjectgetObject () const
 
JS_EXPORT_PRIVATE JSValue toPrimitive (ExecState *, PreferredPrimitiveType) const
 
bool getPrimitiveNumber (ExecState *, double &number, JSValue &) const
 
bool toBoolean (ExecState *) const
 
TriState pureToBoolean () const
 
JS_EXPORT_PRIVATE double toNumber (ExecState *) const
 
JSObjecttoObject (ExecState *, JSGlobalObject *) const
 
void dump (PrintStream &) const
 
size_t estimatedSizeInBytes () const
 
const ClassInfoclassInfo (VM &) const
 
const MethodTablemethodTable () const
 
const MethodTablemethodTable (VM &) const
 
JSValue fastGetOwnProperty (VM &, Structure &, PropertyName)
 
CellState cellState () const
 
void setCellState (CellState data) const
 
bool atomicCompareExchangeCellStateWeakRelaxed (CellState oldState, CellState newState)
 
CellState atomicCompareExchangeCellStateStrong (CellState oldState, CellState newState)
 
void callDestructor (VM &)
 
- Public Member Functions inherited from JSC::HeapCell
 HeapCell ()
 
void zap ()
 
bool isZapped () const
 
bool isLargeAllocation () const
 
CellContainer cellContainer () const
 
MarkedBlockmarkedBlock () const
 
LargeAllocationlargeAllocation () const
 
Heapheap () const
 
VMvm () const
 
size_t cellSize () const
 
AllocatorAttributes allocatorAttributes () const
 
DestructionMode destructionMode () const
 
Kind cellKind () const
 
 HeapCell ()
 
void zap ()
 
bool isZapped () const
 
bool isLargeAllocation () const
 
CellContainer cellContainer () const
 
MarkedBlockmarkedBlock () const
 
LargeAllocationlargeAllocation () const
 
Heapheap () const
 
VMvm () const
 
size_t cellSize () const
 
AllocatorAttributes allocatorAttributes () const
 
DestructionMode destructionMode () const
 
Kind cellKind () const
 

Static Public Member Functions

static Structurecreate (VM &, JSGlobalObject *, JSValue prototype, const TypeInfo &, const ClassInfo *, IndexingType=NonArray, unsigned inlineCapacity=0)
 
static void dumpStatistics ()
 
static JS_EXPORT_PRIVATE StructureaddPropertyTransition (VM &, Structure *, PropertyName, unsigned attributes, PropertyOffset &)
 
static JS_EXPORT_PRIVATE StructureaddNewPropertyTransition (VM &, Structure *, PropertyName, unsigned attributes, PropertyOffset &, PutPropertySlot::Context=PutPropertySlot::UnknownContext, DeferredStructureTransitionWatchpointFire *=nullptr)
 
static StructureaddPropertyTransitionToExistingStructureConcurrently (Structure *, UniquedStringImpl *uid, unsigned attributes, PropertyOffset &)
 
static JS_EXPORT_PRIVATE StructureaddPropertyTransitionToExistingStructure (Structure *, PropertyName, unsigned attributes, PropertyOffset &)
 
static StructureremovePropertyTransition (VM &, Structure *, PropertyName, PropertyOffset &)
 
static JS_EXPORT_PRIVATE StructurechangePrototypeTransition (VM &, Structure *, JSValue prototype)
 
static JS_EXPORT_PRIVATE StructureattributeChangeTransition (VM &, Structure *, PropertyName, unsigned attributes)
 
static JS_EXPORT_PRIVATE StructuretoCacheableDictionaryTransition (VM &, Structure *, DeferredStructureTransitionWatchpointFire *=nullptr)
 
static StructuretoUncacheableDictionaryTransition (VM &, Structure *)
 
static JS_EXPORT_PRIVATE StructuresealTransition (VM &, Structure *)
 
static JS_EXPORT_PRIVATE StructurefreezeTransition (VM &, Structure *)
 
static StructurepreventExtensionsTransition (VM &, Structure *)
 
static JS_EXPORT_PRIVATE StructurenonPropertyTransition (VM &, Structure *, NonPropertyTransition)
 
static void destroy (JSCell *)
 
static void visitChildren (JSCell *, SlotVisitor &)
 
static unsigned outOfLineCapacity (PropertyOffset lastOffset)
 
static unsigned outOfLineSize (PropertyOffset lastOffset)
 
static ptrdiff_t structureIDOffset ()
 
static ptrdiff_t prototypeOffset ()
 
static ptrdiff_t globalObjectOffset ()
 
static ptrdiff_t classInfoOffset ()
 
static ptrdiff_t indexingTypeIncludingHistoryOffset ()
 
static ptrdiff_t propertyTableUnsafeOffset ()
 
static ptrdiff_t inlineCapacityOffset ()
 
static StructurecreateStructure (VM &)
 
static void dumpContextHeader (PrintStream &)
 
static Structurecreate (VM &, JSGlobalObject *, JSValue prototype, const TypeInfo &, const ClassInfo *, IndexingType=NonArray, unsigned inlineCapacity=0)
 
static void dumpStatistics ()
 
static JS_EXPORT_PRIVATE StructureaddPropertyTransition (VM &, Structure *, PropertyName, unsigned attributes, PropertyOffset &)
 
static JS_EXPORT_PRIVATE StructureaddNewPropertyTransition (VM &, Structure *, PropertyName, unsigned attributes, PropertyOffset &, PutPropertySlot::Context=PutPropertySlot::UnknownContext, DeferredStructureTransitionWatchpointFire *=nullptr)
 
static StructureaddPropertyTransitionToExistingStructureConcurrently (Structure *, UniquedStringImpl *uid, unsigned attributes, PropertyOffset &)
 
static JS_EXPORT_PRIVATE StructureaddPropertyTransitionToExistingStructure (Structure *, PropertyName, unsigned attributes, PropertyOffset &)
 
static StructureremovePropertyTransition (VM &, Structure *, PropertyName, PropertyOffset &)
 
static JS_EXPORT_PRIVATE StructurechangePrototypeTransition (VM &, Structure *, JSValue prototype)
 
static JS_EXPORT_PRIVATE StructureattributeChangeTransition (VM &, Structure *, PropertyName, unsigned attributes)
 
static JS_EXPORT_PRIVATE StructuretoCacheableDictionaryTransition (VM &, Structure *, DeferredStructureTransitionWatchpointFire *=nullptr)
 
static StructuretoUncacheableDictionaryTransition (VM &, Structure *)
 
static JS_EXPORT_PRIVATE StructuresealTransition (VM &, Structure *)
 
static JS_EXPORT_PRIVATE StructurefreezeTransition (VM &, Structure *)
 
static StructurepreventExtensionsTransition (VM &, Structure *)
 
static JS_EXPORT_PRIVATE StructurenonPropertyTransition (VM &, Structure *, NonPropertyTransition)
 
static void destroy (JSCell *)
 
static void visitChildren (JSCell *, SlotVisitor &)
 
static unsigned outOfLineCapacity (PropertyOffset lastOffset)
 
static unsigned outOfLineSize (PropertyOffset lastOffset)
 
static ptrdiff_t structureIDOffset ()
 
static ptrdiff_t prototypeOffset ()
 
static ptrdiff_t globalObjectOffset ()
 
static ptrdiff_t classInfoOffset ()
 
static ptrdiff_t indexingTypeIncludingHistoryOffset ()
 
static ptrdiff_t propertyTableUnsafeOffset ()
 
static ptrdiff_t inlineCapacityOffset ()
 
static StructurecreateStructure (VM &)
 
static void dumpContextHeader (PrintStream &)
 
- Static Public Member Functions inherited from JSC::JSCell
template<typename CellType >
static SubspacesubspaceFor (VM &)
 
static JSCellseenMultipleCalleeObjects ()
 
static JS_EXPORT_PRIVATE CallType getCallData (JSCell *, CallData &)
 
static JS_EXPORT_PRIVATE ConstructType getConstructData (JSCell *, ConstructData &)
 
static JS_EXPORT_PRIVATE void dumpToStream (const JSCell *, PrintStream &)
 
static JS_EXPORT_PRIVATE size_t estimatedSize (JSCell *)
 
static void visitChildren (JSCell *, SlotVisitor &)
 
static void visitOutputConstraints (JSCell *, SlotVisitor &)
 
static JS_EXPORT_PRIVATE void heapSnapshot (JSCell *, HeapSnapshotBuilder &)
 
static bool put (JSCell *, ExecState *, PropertyName, JSValue, PutPropertySlot &)
 
static bool putByIndex (JSCell *, ExecState *, unsigned propertyName, JSValue, bool shouldThrow)
 
static bool deleteProperty (JSCell *, ExecState *, PropertyName)
 
static bool deletePropertyByIndex (JSCell *, ExecState *, unsigned propertyName)
 
static JSValue toThis (JSCell *, ExecState *, ECMAMode)
 
static bool canUseFastGetOwnProperty (const Structure &)
 
static ptrdiff_t structureIDOffset ()
 
static ptrdiff_t typeInfoFlagsOffset ()
 
static ptrdiff_t typeInfoTypeOffset ()
 
static ptrdiff_t indexingTypeAndMiscOffset ()
 
static ptrdiff_t cellStateOffset ()
 
template<typename CellType >
static SubspacesubspaceFor (VM &)
 
static JSCellseenMultipleCalleeObjects ()
 
static JS_EXPORT_PRIVATE CallType getCallData (JSCell *, CallData &)
 
static JS_EXPORT_PRIVATE ConstructType getConstructData (JSCell *, ConstructData &)
 
static JS_EXPORT_PRIVATE void dumpToStream (const JSCell *, PrintStream &)
 
static JS_EXPORT_PRIVATE size_t estimatedSize (JSCell *)
 
static void visitChildren (JSCell *, SlotVisitor &)
 
static void visitOutputConstraints (JSCell *, SlotVisitor &)
 
static JS_EXPORT_PRIVATE void heapSnapshot (JSCell *, HeapSnapshotBuilder &)
 
static bool put (JSCell *, ExecState *, PropertyName, JSValue, PutPropertySlot &)
 
static bool putByIndex (JSCell *, ExecState *, unsigned propertyName, JSValue, bool shouldThrow)
 
static bool deleteProperty (JSCell *, ExecState *, PropertyName)
 
static bool deletePropertyByIndex (JSCell *, ExecState *, unsigned propertyName)
 
static JSValue toThis (JSCell *, ExecState *, ECMAMode)
 
static bool canUseFastGetOwnProperty (const Structure &)
 
static ptrdiff_t structureIDOffset ()
 
static ptrdiff_t typeInfoFlagsOffset ()
 
static ptrdiff_t typeInfoTypeOffset ()
 
static ptrdiff_t indexingTypeAndMiscOffset ()
 
static ptrdiff_t cellStateOffset ()
 

Public Attributes

 DECLARE_EXPORT_INFO
 

Static Public Attributes

static const unsigned StructureFlags = Base::StructureFlags | StructureIsImmortal
 
static const bool needsDestruction = true
 
- Static Public Attributes inherited from JSC::JSCell
static const unsigned StructureFlags = 0
 
static const bool needsDestruction = false
 
static const TypedArrayType TypedArrayStorageType = NotTypedArray
 

Protected Member Functions

void finishCreation (VM &vm)
 
void finishCreation (VM &vm, CreatingEarlyCellTag)
 
void finishCreation (VM &vm)
 
void finishCreation (VM &vm, CreatingEarlyCellTag)
 
- Protected Member Functions inherited from JSC::JSCell
 JSCell (VM &, Structure *)
 
void finishCreation (VM &)
 
void finishCreation (VM &, Structure *, CreatingEarlyCellTag)
 
 JSCell (VM &, Structure *)
 
void finishCreation (VM &)
 
void finishCreation (VM &, Structure *, CreatingEarlyCellTag)
 

Friends

class StructureTransitionTable
 
class LLIntOffsetsExtractor
 

Additional Inherited Members

- Static Protected Member Functions inherited from JSC::JSCell
static JS_EXPORT_PRIVATE void destroy (JSCell *)
 
static JSValue defaultValue (const JSObject *, ExecState *, PreferredPrimitiveType)
 
static NO_RETURN_DUE_TO_CRASH void getOwnPropertyNames (JSObject *, ExecState *, PropertyNameArray &, EnumerationMode)
 
static NO_RETURN_DUE_TO_CRASH void getOwnNonIndexPropertyNames (JSObject *, ExecState *, PropertyNameArray &, EnumerationMode)
 
static NO_RETURN_DUE_TO_CRASH void getPropertyNames (JSObject *, ExecState *, PropertyNameArray &, EnumerationMode)
 
static uint32_t getEnumerableLength (ExecState *, JSObject *)
 
static NO_RETURN_DUE_TO_CRASH void getStructurePropertyNames (JSObject *, ExecState *, PropertyNameArray &, EnumerationMode)
 
static NO_RETURN_DUE_TO_CRASH void getGenericPropertyNames (JSObject *, ExecState *, PropertyNameArray &, EnumerationMode)
 
static NO_RETURN_DUE_TO_CRASH bool preventExtensions (JSObject *, ExecState *)
 
static NO_RETURN_DUE_TO_CRASH bool isExtensible (JSObject *, ExecState *)
 
static NO_RETURN_DUE_TO_CRASH bool setPrototype (JSObject *, ExecState *, JSValue, bool)
 
static NO_RETURN_DUE_TO_CRASH JSValue getPrototype (JSObject *, ExecState *)
 
static String className (const JSObject *)
 
static String toStringName (const JSObject *, ExecState *)
 
static JS_EXPORT_PRIVATE bool customHasInstance (JSObject *, ExecState *, JSValue)
 
static bool defineOwnProperty (JSObject *, ExecState *, PropertyName, const PropertyDescriptor &, bool shouldThrow)
 
static bool getOwnPropertySlot (JSObject *, ExecState *, PropertyName, PropertySlot &)
 
static bool getOwnPropertySlotByIndex (JSObject *, ExecState *, unsigned propertyName, PropertySlot &)
 
static JS_EXPORT_PRIVATE ArrayBufferslowDownAndWasteMemory (JSArrayBufferView *)
 
static JS_EXPORT_PRIVATE RefPtr< ArrayBufferViewgetTypedArrayImpl (JSArrayBufferView *)
 
static JS_EXPORT_PRIVATE void destroy (JSCell *)
 
static JSValue defaultValue (const JSObject *, ExecState *, PreferredPrimitiveType)
 
static NO_RETURN_DUE_TO_CRASH void getOwnPropertyNames (JSObject *, ExecState *, PropertyNameArray &, EnumerationMode)
 
static NO_RETURN_DUE_TO_CRASH void getOwnNonIndexPropertyNames (JSObject *, ExecState *, PropertyNameArray &, EnumerationMode)
 
static NO_RETURN_DUE_TO_CRASH void getPropertyNames (JSObject *, ExecState *, PropertyNameArray &, EnumerationMode)
 
static uint32_t getEnumerableLength (ExecState *, JSObject *)
 
static NO_RETURN_DUE_TO_CRASH void getStructurePropertyNames (JSObject *, ExecState *, PropertyNameArray &, EnumerationMode)
 
static NO_RETURN_DUE_TO_CRASH void getGenericPropertyNames (JSObject *, ExecState *, PropertyNameArray &, EnumerationMode)
 
static NO_RETURN_DUE_TO_CRASH bool preventExtensions (JSObject *, ExecState *)
 
static NO_RETURN_DUE_TO_CRASH bool isExtensible (JSObject *, ExecState *)
 
static NO_RETURN_DUE_TO_CRASH bool setPrototype (JSObject *, ExecState *, JSValue, bool)
 
static NO_RETURN_DUE_TO_CRASH JSValue getPrototype (JSObject *, ExecState *)
 
static String className (const JSObject *)
 
static String toStringName (const JSObject *, ExecState *)
 
static JS_EXPORT_PRIVATE bool customHasInstance (JSObject *, ExecState *, JSValue)
 
static bool defineOwnProperty (JSObject *, ExecState *, PropertyName, const PropertyDescriptor &, bool shouldThrow)
 
static bool getOwnPropertySlot (JSObject *, ExecState *, PropertyName, PropertySlot &)
 
static bool getOwnPropertySlotByIndex (JSObject *, ExecState *, unsigned propertyName, PropertySlot &)
 
static JS_EXPORT_PRIVATE ArrayBufferslowDownAndWasteMemory (JSArrayBufferView *)
 
static JS_EXPORT_PRIVATE RefPtr< ArrayBufferViewgetTypedArrayImpl (JSArrayBufferView *)
 

Member Typedef Documentation

◆ Base [1/2]

◆ Base [2/2]

Constructor & Destructor Documentation

◆ ~Structure() [1/2]

JSC::Structure::~Structure ( )

◆ ~Structure() [2/2]

JSC::Structure::~Structure ( )

Member Function Documentation

◆ addNewPropertyTransition() [1/2]

Structure * JSC::Structure::addNewPropertyTransition ( VM vm,
Structure structure,
PropertyName  propertyName,
unsigned  attributes,
PropertyOffset offset,
PutPropertySlot::Context  context = PutPropertySlot::UnknownContext,
DeferredStructureTransitionWatchpointFire deferred = nullptr 
)
static

◆ addNewPropertyTransition() [2/2]

static JS_EXPORT_PRIVATE Structure* JSC::Structure::addNewPropertyTransition ( VM ,
Structure ,
PropertyName  ,
unsigned  attributes,
PropertyOffset ,
PutPropertySlot::Context  = PutPropertySlot::UnknownContext,
DeferredStructureTransitionWatchpointFire = nullptr 
)
static

◆ addPropertyTransition() [1/2]

Structure * JSC::Structure::addPropertyTransition ( VM vm,
Structure structure,
PropertyName  propertyName,
unsigned  attributes,
PropertyOffset offset 
)
static

◆ addPropertyTransition() [2/2]

static JS_EXPORT_PRIVATE Structure* JSC::Structure::addPropertyTransition ( VM ,
Structure ,
PropertyName  ,
unsigned  attributes,
PropertyOffset  
)
static

◆ addPropertyTransitionToExistingStructure() [1/2]

static JS_EXPORT_PRIVATE Structure* JSC::Structure::addPropertyTransitionToExistingStructure ( Structure ,
PropertyName  ,
unsigned  attributes,
PropertyOffset  
)
static

◆ addPropertyTransitionToExistingStructure() [2/2]

Structure * JSC::Structure::addPropertyTransitionToExistingStructure ( Structure structure,
PropertyName  propertyName,
unsigned  attributes,
PropertyOffset offset 
)
static

◆ addPropertyTransitionToExistingStructureConcurrently() [1/2]

static Structure* JSC::Structure::addPropertyTransitionToExistingStructureConcurrently ( Structure ,
UniquedStringImpl *  uid,
unsigned  attributes,
PropertyOffset  
)
static

◆ addPropertyTransitionToExistingStructureConcurrently() [2/2]

static Structure* JSC::Structure::addPropertyTransitionToExistingStructureConcurrently ( Structure ,
UniquedStringImpl *  uid,
unsigned  attributes,
PropertyOffset  
)
static

◆ addPropertyWithoutTransition() [1/2]

template<typename Func >
PropertyOffset JSC::Structure::addPropertyWithoutTransition ( VM ,
PropertyName  ,
unsigned  attributes,
const Func &   
)

◆ addPropertyWithoutTransition() [2/2]

template<typename Func >
PropertyOffset JSC::Structure::addPropertyWithoutTransition ( VM vm,
PropertyName  propertyName,
unsigned  attributes,
const Func &  func 
)
inline

◆ addTransitionWatchpoint() [1/2]

void JSC::Structure::addTransitionWatchpoint ( Watchpoint watchpoint) const
inline

◆ addTransitionWatchpoint() [2/2]

void JSC::Structure::addTransitionWatchpoint ( Watchpoint watchpoint) const
inline

◆ anyObjectInChainMayInterceptIndexedAccesses() [1/2]

bool JSC::Structure::anyObjectInChainMayInterceptIndexedAccesses ( ) const

◆ anyObjectInChainMayInterceptIndexedAccesses() [2/2]

JS_EXPORT_PRIVATE bool JSC::Structure::anyObjectInChainMayInterceptIndexedAccesses ( ) const

◆ attributeChangeTransition() [1/2]

static JS_EXPORT_PRIVATE Structure* JSC::Structure::attributeChangeTransition ( VM ,
Structure ,
PropertyName  ,
unsigned  attributes 
)
static

◆ attributeChangeTransition() [2/2]

Structure * JSC::Structure::attributeChangeTransition ( VM vm,
Structure structure,
PropertyName  propertyName,
unsigned  attributes 
)
static

◆ cachedPropertyNameEnumerator() [1/2]

JSPropertyNameEnumerator * JSC::Structure::cachedPropertyNameEnumerator ( ) const

◆ cachedPropertyNameEnumerator() [2/2]

JSPropertyNameEnumerator* JSC::Structure::cachedPropertyNameEnumerator ( ) const

◆ canAccessPropertiesQuicklyForEnumeration() [1/2]

bool JSC::Structure::canAccessPropertiesQuicklyForEnumeration ( ) const

◆ canAccessPropertiesQuicklyForEnumeration() [2/2]

bool JSC::Structure::canAccessPropertiesQuicklyForEnumeration ( ) const

◆ canCachePropertyNameEnumerator() [1/2]

bool JSC::Structure::canCachePropertyNameEnumerator ( ) const

◆ canCachePropertyNameEnumerator() [2/2]

bool JSC::Structure::canCachePropertyNameEnumerator ( ) const

◆ canUseForAllocationsOf() [1/2]

bool JSC::Structure::canUseForAllocationsOf ( Structure )

◆ canUseForAllocationsOf() [2/2]

bool JSC::Structure::canUseForAllocationsOf ( Structure other)

◆ changePrototypeTransition() [1/2]

static JS_EXPORT_PRIVATE Structure* JSC::Structure::changePrototypeTransition ( VM ,
Structure ,
JSValue  prototype 
)
static

◆ changePrototypeTransition() [2/2]

Structure * JSC::Structure::changePrototypeTransition ( VM vm,
Structure structure,
JSValue  prototype 
)
static

◆ checkOffsetConsistency()

template<typename DetailsFunc >
ALWAYS_INLINE bool JSC::Structure::checkOffsetConsistency ( PropertyTable propertyTable,
const DetailsFunc &  detailsFunc 
) const

◆ classInfo() [1/2]

const ClassInfo* JSC::Structure::classInfo ( ) const
inline

◆ classInfo() [2/2]

const ClassInfo* JSC::Structure::classInfo ( ) const
inline

◆ classInfoOffset() [1/2]

static ptrdiff_t JSC::Structure::classInfoOffset ( )
inlinestatic

◆ classInfoOffset() [2/2]

static ptrdiff_t JSC::Structure::classInfoOffset ( )
inlinestatic

◆ couldHaveIndexingHeader() [1/2]

bool JSC::Structure::couldHaveIndexingHeader ( ) const
inline

◆ couldHaveIndexingHeader() [2/2]

bool JSC::Structure::couldHaveIndexingHeader ( ) const
inline

◆ create() [1/2]

static Structure* JSC::Structure::create ( VM ,
JSGlobalObject ,
JSValue  prototype,
const TypeInfo ,
const ClassInfo ,
IndexingType  = NonArray,
unsigned  inlineCapacity = 0 
)
static

◆ create() [2/2]

Structure * JSC::Structure::create ( VM vm,
JSGlobalObject globalObject,
JSValue  prototype,
const TypeInfo typeInfo,
const ClassInfo classInfo,
IndexingType  indexingType = NonArray,
unsigned  inlineCapacity = 0 
)
inlinestatic

◆ createStructure() [1/2]

Structure * JSC::Structure::createStructure ( VM vm)
inlinestatic

◆ createStructure() [2/2]

static Structure* JSC::Structure::createStructure ( VM )
static

◆ DEFINE_BITFIELD() [1/30]

JSC::Structure::DEFINE_BITFIELD ( DictionaryKind  ,
dictionaryKind  ,
DictionaryKind  ,
,
 
)

◆ DEFINE_BITFIELD() [2/30]

JSC::Structure::DEFINE_BITFIELD ( DictionaryKind  ,
dictionaryKind  ,
DictionaryKind  ,
,
 
)

◆ DEFINE_BITFIELD() [3/30]

JSC::Structure::DEFINE_BITFIELD ( bool  ,
isPinnedPropertyTable  ,
IsPinnedPropertyTable  ,
,
 
)

◆ DEFINE_BITFIELD() [4/30]

JSC::Structure::DEFINE_BITFIELD ( bool  ,
isPinnedPropertyTable  ,
IsPinnedPropertyTable  ,
,
 
)

◆ DEFINE_BITFIELD() [5/30]

JSC::Structure::DEFINE_BITFIELD ( bool  ,
hasGetterSetterProperties  ,
HasGetterSetterProperties  ,
,
 
)

◆ DEFINE_BITFIELD() [6/30]

JSC::Structure::DEFINE_BITFIELD ( bool  ,
hasGetterSetterProperties  ,
HasGetterSetterProperties  ,
,
 
)

◆ DEFINE_BITFIELD() [7/30]

JSC::Structure::DEFINE_BITFIELD ( bool  ,
hasReadOnlyOrGetterSetterPropertiesExcludingProto  ,
HasReadOnlyOrGetterSetterPropertiesExcludingProto  ,
,
 
)

◆ DEFINE_BITFIELD() [8/30]

JSC::Structure::DEFINE_BITFIELD ( bool  ,
hasReadOnlyOrGetterSetterPropertiesExcludingProto  ,
HasReadOnlyOrGetterSetterPropertiesExcludingProto  ,
,
 
)

◆ DEFINE_BITFIELD() [9/30]

JSC::Structure::DEFINE_BITFIELD ( bool  ,
isQuickPropertyAccessAllowedForEnumeration  ,
IsQuickPropertyAccessAllowedForEnumeration  ,
,
 
)

◆ DEFINE_BITFIELD() [10/30]

JSC::Structure::DEFINE_BITFIELD ( bool  ,
isQuickPropertyAccessAllowedForEnumeration  ,
IsQuickPropertyAccessAllowedForEnumeration  ,
,
 
)

◆ DEFINE_BITFIELD() [11/30]

JSC::Structure::DEFINE_BITFIELD ( unsigned  ,
attributesInPrevious  ,
AttributesInPrevious  ,
14  ,
 
)

◆ DEFINE_BITFIELD() [12/30]

JSC::Structure::DEFINE_BITFIELD ( unsigned  ,
attributesInPrevious  ,
AttributesInPrevious  ,
14  ,
 
)

◆ DEFINE_BITFIELD() [13/30]

JSC::Structure::DEFINE_BITFIELD ( bool  ,
didPreventExtensions  ,
DidPreventExtensions  ,
,
20   
)

◆ DEFINE_BITFIELD() [14/30]

JSC::Structure::DEFINE_BITFIELD ( bool  ,
didPreventExtensions  ,
DidPreventExtensions  ,
,
20   
)

◆ DEFINE_BITFIELD() [15/30]

JSC::Structure::DEFINE_BITFIELD ( bool  ,
didTransition  ,
DidTransition  ,
,
21   
)

◆ DEFINE_BITFIELD() [16/30]

JSC::Structure::DEFINE_BITFIELD ( bool  ,
didTransition  ,
DidTransition  ,
,
21   
)

◆ DEFINE_BITFIELD() [17/30]

JSC::Structure::DEFINE_BITFIELD ( bool  ,
staticPropertiesReified  ,
StaticPropertiesReified  ,
,
22   
)

◆ DEFINE_BITFIELD() [18/30]

JSC::Structure::DEFINE_BITFIELD ( bool  ,
staticPropertiesReified  ,
StaticPropertiesReified  ,
,
22   
)

◆ DEFINE_BITFIELD() [19/30]

JSC::Structure::DEFINE_BITFIELD ( bool  ,
hasBeenFlattenedBefore  ,
HasBeenFlattenedBefore  ,
,
23   
)

◆ DEFINE_BITFIELD() [20/30]

JSC::Structure::DEFINE_BITFIELD ( bool  ,
hasBeenFlattenedBefore  ,
HasBeenFlattenedBefore  ,
,
23   
)

◆ DEFINE_BITFIELD() [21/30]

JSC::Structure::DEFINE_BITFIELD ( bool  ,
hasCustomGetterSetterProperties  ,
HasCustomGetterSetterProperties  ,
,
24   
)

◆ DEFINE_BITFIELD() [22/30]

JSC::Structure::DEFINE_BITFIELD ( bool  ,
hasCustomGetterSetterProperties  ,
HasCustomGetterSetterProperties  ,
,
24   
)

◆ DEFINE_BITFIELD() [23/30]

JSC::Structure::DEFINE_BITFIELD ( bool  ,
didWatchInternalProperties  ,
DidWatchInternalProperties  ,
,
25   
)

◆ DEFINE_BITFIELD() [24/30]

JSC::Structure::DEFINE_BITFIELD ( bool  ,
didWatchInternalProperties  ,
DidWatchInternalProperties  ,
,
25   
)

◆ DEFINE_BITFIELD() [25/30]

JSC::Structure::DEFINE_BITFIELD ( bool  ,
transitionWatchpointIsLikelyToBeFired  ,
TransitionWatchpointIsLikelyToBeFired  ,
,
26   
)

◆ DEFINE_BITFIELD() [26/30]

JSC::Structure::DEFINE_BITFIELD ( bool  ,
transitionWatchpointIsLikelyToBeFired  ,
TransitionWatchpointIsLikelyToBeFired  ,
,
26   
)

◆ DEFINE_BITFIELD() [27/30]

JSC::Structure::DEFINE_BITFIELD ( bool  ,
hasBeenDictionary  ,
HasBeenDictionary  ,
,
27   
)

◆ DEFINE_BITFIELD() [28/30]

JSC::Structure::DEFINE_BITFIELD ( bool  ,
hasBeenDictionary  ,
HasBeenDictionary  ,
,
27   
)

◆ DEFINE_BITFIELD() [29/30]

JSC::Structure::DEFINE_BITFIELD ( bool  ,
isAddingPropertyForTransition  ,
IsAddingPropertyForTransition  ,
,
28   
)

◆ DEFINE_BITFIELD() [30/30]

JSC::Structure::DEFINE_BITFIELD ( bool  ,
isAddingPropertyForTransition  ,
IsAddingPropertyForTransition  ,
,
28   
)

◆ destroy() [1/2]

static void JSC::Structure::destroy ( JSCell )
static

◆ destroy() [2/2]

void JSC::Structure::destroy ( JSCell cell)
static

◆ dfgShouldWatch() [1/2]

bool JSC::Structure::dfgShouldWatch ( ) const
inline

◆ dfgShouldWatch() [2/2]

bool JSC::Structure::dfgShouldWatch ( ) const
inline

◆ dfgShouldWatchIfPossible() [1/2]

bool JSC::Structure::dfgShouldWatchIfPossible ( ) const
inline

◆ dfgShouldWatchIfPossible() [2/2]

bool JSC::Structure::dfgShouldWatchIfPossible ( ) const
inline

◆ didCachePropertyReplacement() [1/2]

void JSC::Structure::didCachePropertyReplacement ( VM ,
PropertyOffset   
)

◆ didCachePropertyReplacement() [2/2]

void JSC::Structure::didCachePropertyReplacement ( VM vm,
PropertyOffset  offset 
)

◆ didReplaceProperty() [1/2]

void JSC::Structure::didReplaceProperty ( PropertyOffset  )

◆ didReplaceProperty() [2/2]

void JSC::Structure::didReplaceProperty ( PropertyOffset  offset)
inline

◆ didTransitionFromThisStructure() [1/2]

void JSC::Structure::didTransitionFromThisStructure ( DeferredStructureTransitionWatchpointFire = nullptr) const

◆ didTransitionFromThisStructure() [2/2]

void JSC::Structure::didTransitionFromThisStructure ( DeferredStructureTransitionWatchpointFire deferred = nullptr) const

◆ dump() [1/2]

void JSC::Structure::dump ( PrintStream &  ) const

◆ dump() [2/2]

void JSC::Structure::dump ( PrintStream &  ) const

◆ dumpBrief() [1/2]

void JSC::Structure::dumpBrief ( PrintStream &  ,
const CString &   
) const

◆ dumpBrief() [2/2]

void JSC::Structure::dumpBrief ( PrintStream &  ,
const CString &   
) const

◆ dumpContextHeader() [1/2]

static void JSC::Structure::dumpContextHeader ( PrintStream &  )
static

◆ dumpContextHeader() [2/2]

static void JSC::Structure::dumpContextHeader ( PrintStream &  )
static

◆ dumpInContext() [1/2]

void JSC::Structure::dumpInContext ( PrintStream &  ,
DumpContext  
) const

◆ dumpInContext() [2/2]

void JSC::Structure::dumpInContext ( PrintStream &  ,
DumpContext  
) const

◆ dumpStatistics() [1/2]

static void JSC::Structure::dumpStatistics ( )
static

◆ dumpStatistics() [2/2]

void JSC::Structure::dumpStatistics ( )
static

◆ ensurePropertyReplacementWatchpointSet() [1/2]

WatchpointSet* JSC::Structure::ensurePropertyReplacementWatchpointSet ( VM ,
PropertyOffset   
)

◆ ensurePropertyReplacementWatchpointSet() [2/2]

WatchpointSet * JSC::Structure::ensurePropertyReplacementWatchpointSet ( VM vm,
PropertyOffset  offset 
)

◆ finishCreation() [1/4]

void JSC::Structure::finishCreation ( VM vm)
inlineprotected

◆ finishCreation() [2/4]

void JSC::Structure::finishCreation ( VM vm)
inlineprotected

◆ finishCreation() [3/4]

void JSC::Structure::finishCreation ( VM vm,
CreatingEarlyCellTag   
)
inlineprotected

◆ finishCreation() [4/4]

void JSC::Structure::finishCreation ( VM vm,
CreatingEarlyCellTag   
)
inlineprotected

◆ flattenDictionaryStructure() [1/2]

JS_EXPORT_PRIVATE Structure* JSC::Structure::flattenDictionaryStructure ( VM ,
JSObject  
)

◆ flattenDictionaryStructure() [2/2]

Structure * JSC::Structure::flattenDictionaryStructure ( VM vm,
JSObject object 
)

◆ forEachPropertyConcurrently() [1/2]

template<typename Functor >
void JSC::Structure::forEachPropertyConcurrently ( const Functor &  functor)

◆ forEachPropertyConcurrently() [2/2]

template<typename Functor >
void JSC::Structure::forEachPropertyConcurrently ( const Functor &  )

◆ freezeTransition() [1/2]

Structure * JSC::Structure::freezeTransition ( VM vm,
Structure structure 
)
static

◆ freezeTransition() [2/2]

static JS_EXPORT_PRIVATE Structure* JSC::Structure::freezeTransition ( VM ,
Structure  
)
static

◆ get() [1/6]

ALWAYS_INLINE PropertyOffset JSC::Structure::get ( VM vm,
PropertyName  propertyName 
)

◆ get() [2/6]

PropertyOffset JSC::Structure::get ( VM ,
PropertyName   
)

◆ get() [3/6]

ALWAYS_INLINE PropertyOffset JSC::Structure::get ( VM vm,
PropertyName  propertyName,
unsigned &  attributes 
)

◆ get() [4/6]

PropertyOffset JSC::Structure::get ( VM ,
PropertyName  ,
unsigned &  attributes 
)

◆ get() [5/6]

ALWAYS_INLINE PropertyOffset JSC::Structure::get ( VM vm,
PropertyName  propertyName,
unsigned &  attributes,
bool &  hasInferredType 
)

◆ get() [6/6]

PropertyOffset JSC::Structure::get ( VM ,
PropertyName  ,
unsigned &  attributes,
bool &  hasInferredType 
)

◆ getConcurrently() [1/4]

PropertyOffset JSC::Structure::getConcurrently ( UniquedStringImpl *  uid)
inline

◆ getConcurrently() [2/4]

PropertyOffset JSC::Structure::getConcurrently ( UniquedStringImpl *  uid)

◆ getConcurrently() [3/4]

PropertyOffset JSC::Structure::getConcurrently ( UniquedStringImpl *  uid,
unsigned &  attributes 
)

◆ getConcurrently() [4/4]

PropertyOffset JSC::Structure::getConcurrently ( UniquedStringImpl *  uid,
unsigned &  attributes 
)

◆ getPropertiesConcurrently() [1/2]

Vector< PropertyMapEntry > JSC::Structure::getPropertiesConcurrently ( )

◆ getPropertiesConcurrently() [2/2]

Vector<PropertyMapEntry> JSC::Structure::getPropertiesConcurrently ( )

◆ getPropertyNamesFromStructure() [1/2]

void JSC::Structure::getPropertyNamesFromStructure ( VM vm,
PropertyNameArray propertyNames,
EnumerationMode  mode 
)

◆ getPropertyNamesFromStructure() [2/2]

void JSC::Structure::getPropertyNamesFromStructure ( VM ,
PropertyNameArray ,
EnumerationMode   
)

◆ globalObject() [1/2]

JSGlobalObject* JSC::Structure::globalObject ( ) const
inline

◆ globalObject() [2/2]

JSGlobalObject* JSC::Structure::globalObject ( ) const
inline

◆ globalObjectOffset() [1/2]

static ptrdiff_t JSC::Structure::globalObjectOffset ( )
inlinestatic

◆ globalObjectOffset() [2/2]

static ptrdiff_t JSC::Structure::globalObjectOffset ( )
inlinestatic

◆ hasIndexingHeader() [1/2]

bool JSC::Structure::hasIndexingHeader ( const JSCell cell) const
inline

◆ hasIndexingHeader() [2/2]

bool JSC::Structure::hasIndexingHeader ( const JSCell ) const

◆ hasInferredTypes() [1/2]

bool JSC::Structure::hasInferredTypes ( ) const
inline

◆ hasInferredTypes() [2/2]

bool JSC::Structure::hasInferredTypes ( ) const
inline

◆ hasInlineStorage() [1/2]

bool JSC::Structure::hasInlineStorage ( ) const
inline

◆ hasInlineStorage() [2/2]

bool JSC::Structure::hasInlineStorage ( ) const
inline

◆ hasRareData() [1/2]

bool JSC::Structure::hasRareData ( ) const
inline

◆ hasRareData() [2/2]

bool JSC::Structure::hasRareData ( ) const
inline

◆ hijacksIndexingHeader() [1/2]

bool JSC::Structure::hijacksIndexingHeader ( ) const
inline

◆ hijacksIndexingHeader() [2/2]

bool JSC::Structure::hijacksIndexingHeader ( ) const
inline

◆ holesMustForwardToPrototype() [1/2]

bool JSC::Structure::holesMustForwardToPrototype ( VM vm) const

◆ holesMustForwardToPrototype() [2/2]

bool JSC::Structure::holesMustForwardToPrototype ( VM ) const

◆ id() [1/2]

StructureID JSC::Structure::id ( ) const
inline

◆ id() [2/2]

StructureID JSC::Structure::id ( ) const
inline

◆ idBlob() [1/2]

int64_t JSC::Structure::idBlob ( ) const
inline

◆ idBlob() [2/2]

int64_t JSC::Structure::idBlob ( ) const
inline

◆ indexingType() [1/2]

IndexingType JSC::Structure::indexingType ( ) const
inline

◆ indexingType() [2/2]

IndexingType JSC::Structure::indexingType ( ) const
inline

◆ indexingTypeIncludingHistory() [1/2]

IndexingType JSC::Structure::indexingTypeIncludingHistory ( ) const
inline

◆ indexingTypeIncludingHistory() [2/2]

IndexingType JSC::Structure::indexingTypeIncludingHistory ( ) const
inline

◆ indexingTypeIncludingHistoryOffset() [1/2]

static ptrdiff_t JSC::Structure::indexingTypeIncludingHistoryOffset ( )
inlinestatic

◆ indexingTypeIncludingHistoryOffset() [2/2]

static ptrdiff_t JSC::Structure::indexingTypeIncludingHistoryOffset ( )
inlinestatic

◆ inferredTypeDescriptorFor() [1/2]

InferredType::Descriptor JSC::Structure::inferredTypeDescriptorFor ( UniquedStringImpl *  uid)
inline

◆ inferredTypeDescriptorFor() [2/2]

InferredType::Descriptor JSC::Structure::inferredTypeDescriptorFor ( UniquedStringImpl *  uid)
inline

◆ inferredTypeFor() [1/2]

InferredType* JSC::Structure::inferredTypeFor ( UniquedStringImpl *  uid)
inline

◆ inferredTypeFor() [2/2]

InferredType* JSC::Structure::inferredTypeFor ( UniquedStringImpl *  uid)
inline

◆ inlineCapacity() [1/2]

unsigned JSC::Structure::inlineCapacity ( ) const
inline

◆ inlineCapacity() [2/2]

unsigned JSC::Structure::inlineCapacity ( ) const
inline

◆ inlineCapacityOffset() [1/2]

static ptrdiff_t JSC::Structure::inlineCapacityOffset ( )
inlinestatic

◆ inlineCapacityOffset() [2/2]

static ptrdiff_t JSC::Structure::inlineCapacityOffset ( )
inlinestatic

◆ inlineSize() [1/2]

unsigned JSC::Structure::inlineSize ( ) const
inline

◆ inlineSize() [2/2]

unsigned JSC::Structure::inlineSize ( ) const
inline

◆ isCheapDuringGC() [1/2]

bool JSC::Structure::isCheapDuringGC ( )

◆ isCheapDuringGC() [2/2]

bool JSC::Structure::isCheapDuringGC ( )

◆ isDictionary() [1/2]

bool JSC::Structure::isDictionary ( ) const
inline

◆ isDictionary() [2/2]

bool JSC::Structure::isDictionary ( ) const
inline

◆ isEmpty() [1/2]

bool JSC::Structure::isEmpty ( ) const
inline

◆ isEmpty() [2/2]

bool JSC::Structure::isEmpty ( void  ) const
inline

◆ isFrozen() [1/2]

JS_EXPORT_PRIVATE bool JSC::Structure::isFrozen ( VM )

◆ isFrozen() [2/2]

bool JSC::Structure::isFrozen ( VM vm)

◆ isImmutablePrototypeExoticObject() [1/2]

bool JSC::Structure::isImmutablePrototypeExoticObject ( )
inline

◆ isImmutablePrototypeExoticObject() [2/2]

bool JSC::Structure::isImmutablePrototypeExoticObject ( )
inline

◆ isObject() [1/2]

bool JSC::Structure::isObject ( ) const
inline

◆ isObject() [2/2]

bool JSC::Structure::isObject ( ) const
inline

◆ isProxy() [1/2]

bool JSC::Structure::isProxy ( ) const
inline

◆ isProxy() [2/2]

bool JSC::Structure::isProxy ( ) const
inline

◆ isSealed() [1/2]

JS_EXPORT_PRIVATE bool JSC::Structure::isSealed ( VM )

◆ isSealed() [2/2]

bool JSC::Structure::isSealed ( VM vm)

◆ isStructureExtensible() [1/2]

bool JSC::Structure::isStructureExtensible ( ) const
inline

◆ isStructureExtensible() [2/2]

bool JSC::Structure::isStructureExtensible ( ) const
inline

◆ isUncacheableDictionary() [1/2]

bool JSC::Structure::isUncacheableDictionary ( ) const
inline

◆ isUncacheableDictionary() [2/2]

bool JSC::Structure::isUncacheableDictionary ( ) const
inline

◆ isValidOffset() [1/2]

bool JSC::Structure::isValidOffset ( PropertyOffset  offset) const
inline

◆ isValidOffset() [2/2]

bool JSC::Structure::isValidOffset ( PropertyOffset  offset) const
inline

◆ lastOffset() [1/2]

PropertyOffset JSC::Structure::lastOffset ( ) const
inline

◆ lastOffset() [2/2]

PropertyOffset JSC::Structure::lastOffset ( ) const
inline

◆ lock() [1/2]

ConcurrentJSLock& JSC::Structure::lock ( )
inline

◆ lock() [2/2]

ConcurrentJSLock& JSC::Structure::lock ( )
inline

◆ markIfCheap() [1/2]

bool JSC::Structure::markIfCheap ( SlotVisitor visitor)

◆ markIfCheap() [2/2]

bool JSC::Structure::markIfCheap ( SlotVisitor )

◆ masqueradesAsUndefined() [1/2]

bool JSC::Structure::masqueradesAsUndefined ( JSGlobalObject lexicalGlobalObject)

◆ masqueradesAsUndefined() [2/2]

bool JSC::Structure::masqueradesAsUndefined ( JSGlobalObject lexicalGlobalObject)
inline

◆ mayInterceptIndexedAccesses() [1/2]

bool JSC::Structure::mayInterceptIndexedAccesses ( ) const
inline

◆ mayInterceptIndexedAccesses() [2/2]

bool JSC::Structure::mayInterceptIndexedAccesses ( ) const
inline

◆ needImpurePropertyWatchpoint() [1/2]

bool JSC::Structure::needImpurePropertyWatchpoint ( )
inline

◆ needImpurePropertyWatchpoint() [2/2]

bool JSC::Structure::needImpurePropertyWatchpoint ( )
inline

◆ needsSlowPutIndexing() [1/2]

bool JSC::Structure::needsSlowPutIndexing ( ) const

◆ needsSlowPutIndexing() [2/2]

bool JSC::Structure::needsSlowPutIndexing ( ) const

◆ nonPropertyTransition() [1/2]

Structure * JSC::Structure::nonPropertyTransition ( VM vm,
Structure structure,
NonPropertyTransition  transitionKind 
)
static

◆ nonPropertyTransition() [2/2]

static JS_EXPORT_PRIVATE Structure* JSC::Structure::nonPropertyTransition ( VM ,
Structure ,
NonPropertyTransition   
)
static

◆ objectInitializationBlob() [1/2]

int32_t JSC::Structure::objectInitializationBlob ( ) const
inline

◆ objectInitializationBlob() [2/2]

int32_t JSC::Structure::objectInitializationBlob ( ) const
inline

◆ objectToStringValue() [1/2]

JSString* JSC::Structure::objectToStringValue ( )
inline

◆ objectToStringValue() [2/2]

JSString* JSC::Structure::objectToStringValue ( )
inline

◆ outOfLineCapacity() [1/4]

static unsigned JSC::Structure::outOfLineCapacity ( PropertyOffset  lastOffset)
inlinestatic

◆ outOfLineCapacity() [2/4]

static unsigned JSC::Structure::outOfLineCapacity ( PropertyOffset  lastOffset)
inlinestatic

◆ outOfLineCapacity() [3/4]

unsigned JSC::Structure::outOfLineCapacity ( ) const
inline

◆ outOfLineCapacity() [4/4]

unsigned JSC::Structure::outOfLineCapacity ( ) const
inline

◆ outOfLineSize() [1/4]

static unsigned JSC::Structure::outOfLineSize ( PropertyOffset  lastOffset)
inlinestatic

◆ outOfLineSize() [2/4]

static unsigned JSC::Structure::outOfLineSize ( PropertyOffset  lastOffset)
inlinestatic

◆ outOfLineSize() [3/4]

unsigned JSC::Structure::outOfLineSize ( ) const
inline

◆ outOfLineSize() [4/4]

unsigned JSC::Structure::outOfLineSize ( ) const
inline

◆ preventExtensionsTransition() [1/2]

static Structure* JSC::Structure::preventExtensionsTransition ( VM ,
Structure  
)
static

◆ preventExtensionsTransition() [2/2]

Structure * JSC::Structure::preventExtensionsTransition ( VM vm,
Structure structure 
)
static

◆ previousID() [1/2]

Structure* JSC::Structure::previousID ( ) const
inline

◆ previousID() [2/2]

Structure* JSC::Structure::previousID ( ) const
inline

◆ propertyAccessesAreCacheable() [1/2]

bool JSC::Structure::propertyAccessesAreCacheable ( )
inline

◆ propertyAccessesAreCacheable() [2/2]

bool JSC::Structure::propertyAccessesAreCacheable ( )
inline

◆ propertyAccessesAreCacheableForAbsence() [1/2]

bool JSC::Structure::propertyAccessesAreCacheableForAbsence ( )
inline

◆ propertyAccessesAreCacheableForAbsence() [2/2]

bool JSC::Structure::propertyAccessesAreCacheableForAbsence ( )
inline

◆ propertyReplacementWatchpointSet() [1/2]

WatchpointSet* JSC::Structure::propertyReplacementWatchpointSet ( PropertyOffset  )

◆ propertyReplacementWatchpointSet() [2/2]

WatchpointSet * JSC::Structure::propertyReplacementWatchpointSet ( PropertyOffset  offset)
inline

◆ propertyTableUnsafeOffset() [1/2]

static ptrdiff_t JSC::Structure::propertyTableUnsafeOffset ( )
inlinestatic

◆ propertyTableUnsafeOffset() [2/2]

static ptrdiff_t JSC::Structure::propertyTableUnsafeOffset ( )
inlinestatic

◆ prototypeChain() [1/4]

StructureChain* JSC::Structure::prototypeChain ( VM ,
JSGlobalObject  
) const

◆ prototypeChain() [2/4]

StructureChain * JSC::Structure::prototypeChain ( VM vm,
JSGlobalObject globalObject 
) const
inline

◆ prototypeChain() [3/4]

StructureChain* JSC::Structure::prototypeChain ( ExecState ) const

◆ prototypeChain() [4/4]

StructureChain * JSC::Structure::prototypeChain ( ExecState exec) const
inline

◆ prototypeChainMayInterceptStoreTo() [1/2]

bool JSC::Structure::prototypeChainMayInterceptStoreTo ( VM vm,
PropertyName  propertyName 
)

◆ prototypeChainMayInterceptStoreTo() [2/2]

JS_EXPORT_PRIVATE bool JSC::Structure::prototypeChainMayInterceptStoreTo ( VM ,
PropertyName   
)

◆ prototypeForLookup() [1/6]

JSValue JSC::Structure::prototypeForLookup ( ExecState exec) const
inline

◆ prototypeForLookup() [2/6]

JSValue JSC::Structure::prototypeForLookup ( ExecState ) const

◆ prototypeForLookup() [3/6]

JSValue JSC::Structure::prototypeForLookup ( JSGlobalObject globalObject) const
inline

◆ prototypeForLookup() [4/6]

JSValue JSC::Structure::prototypeForLookup ( JSGlobalObject ) const

◆ prototypeForLookup() [5/6]

JSValue JSC::Structure::prototypeForLookup ( CodeBlock codeBlock) const

◆ prototypeForLookup() [6/6]

JSValue JSC::Structure::prototypeForLookup ( CodeBlock ) const

◆ prototypeOffset() [1/2]

static ptrdiff_t JSC::Structure::prototypeOffset ( )
inlinestatic

◆ prototypeOffset() [2/2]

static ptrdiff_t JSC::Structure::prototypeOffset ( )
inlinestatic

◆ removePropertyTransition() [1/2]

static Structure* JSC::Structure::removePropertyTransition ( VM ,
Structure ,
PropertyName  ,
PropertyOffset  
)
static

◆ removePropertyTransition() [2/2]

Structure * JSC::Structure::removePropertyTransition ( VM vm,
Structure structure,
PropertyName  propertyName,
PropertyOffset offset 
)
static

◆ removePropertyWithoutTransition() [1/2]

template<typename Func >
PropertyOffset JSC::Structure::removePropertyWithoutTransition ( VM ,
PropertyName  propertyName,
const Func &  func 
)
inline

◆ removePropertyWithoutTransition() [2/2]

template<typename Func >
PropertyOffset JSC::Structure::removePropertyWithoutTransition ( VM ,
PropertyName  ,
const Func &   
)

◆ sealTransition() [1/2]

static JS_EXPORT_PRIVATE Structure* JSC::Structure::sealTransition ( VM ,
Structure  
)
static

◆ sealTransition() [2/2]

Structure * JSC::Structure::sealTransition ( VM vm,
Structure structure 
)
static

◆ setCachedPropertyNameEnumerator() [1/2]

void JSC::Structure::setCachedPropertyNameEnumerator ( VM ,
JSPropertyNameEnumerator  
)

◆ setCachedPropertyNameEnumerator() [2/2]

void JSC::Structure::setCachedPropertyNameEnumerator ( VM vm,
JSPropertyNameEnumerator enumerator 
)

◆ setContainsReadOnlyProperties() [1/2]

void JSC::Structure::setContainsReadOnlyProperties ( )
inline

◆ setContainsReadOnlyProperties() [2/2]

void JSC::Structure::setContainsReadOnlyProperties ( )
inline

◆ setGlobalObject() [1/2]

void JSC::Structure::setGlobalObject ( VM vm,
JSGlobalObject globalObject 
)
inline

◆ setGlobalObject() [2/2]

void JSC::Structure::setGlobalObject ( VM vm,
JSGlobalObject globalObject 
)
inline

◆ setHasCustomGetterSetterPropertiesWithProtoCheck() [1/2]

void JSC::Structure::setHasCustomGetterSetterPropertiesWithProtoCheck ( bool  is__proto__)
inline

◆ setHasCustomGetterSetterPropertiesWithProtoCheck() [2/2]

void JSC::Structure::setHasCustomGetterSetterPropertiesWithProtoCheck ( bool  is__proto__)
inline

◆ setHasGetterSetterPropertiesWithProtoCheck() [1/2]

void JSC::Structure::setHasGetterSetterPropertiesWithProtoCheck ( bool  is__proto__)
inline

◆ setHasGetterSetterPropertiesWithProtoCheck() [2/2]

void JSC::Structure::setHasGetterSetterPropertiesWithProtoCheck ( bool  is__proto__)
inline

◆ setLastOffset() [1/2]

void JSC::Structure::setLastOffset ( PropertyOffset  offset)
inline

◆ setLastOffset() [2/2]

void JSC::Structure::setLastOffset ( PropertyOffset  offset)
inline

◆ setObjectToStringValue() [1/2]

void JSC::Structure::setObjectToStringValue ( ExecState ,
VM ,
JSString value,
PropertySlot  toStringTagSymbolSlot 
)

◆ setObjectToStringValue() [2/2]

void JSC::Structure::setObjectToStringValue ( ExecState exec,
VM vm,
JSString value,
PropertySlot  toStringTagSymbolSlot 
)
inline

◆ setPrototypeWithoutTransition() [1/2]

void JSC::Structure::setPrototypeWithoutTransition ( VM vm,
JSValue  prototype 
)
inline

◆ setPrototypeWithoutTransition() [2/2]

void JSC::Structure::setPrototypeWithoutTransition ( VM vm,
JSValue  prototype 
)
inline

◆ startWatchingInternalPropertiesIfNecessary() [1/2]

void JSC::Structure::startWatchingInternalPropertiesIfNecessary ( VM vm)
inline

◆ startWatchingInternalPropertiesIfNecessary() [2/2]

void JSC::Structure::startWatchingInternalPropertiesIfNecessary ( VM vm)
inline

◆ startWatchingInternalPropertiesIfNecessaryForEntireChain() [1/2]

void JSC::Structure::startWatchingInternalPropertiesIfNecessaryForEntireChain ( VM vm)
inline

◆ startWatchingInternalPropertiesIfNecessaryForEntireChain() [2/2]

void JSC::Structure::startWatchingInternalPropertiesIfNecessaryForEntireChain ( VM vm)
inline

◆ startWatchingPropertyForReplacements() [1/4]

void JSC::Structure::startWatchingPropertyForReplacements ( VM vm,
PropertyOffset  offset 
)
inline

◆ startWatchingPropertyForReplacements() [2/4]

void JSC::Structure::startWatchingPropertyForReplacements ( VM vm,
PropertyOffset  offset 
)
inline

◆ startWatchingPropertyForReplacements() [3/4]

void JSC::Structure::startWatchingPropertyForReplacements ( VM vm,
PropertyName  propertyName 
)

◆ startWatchingPropertyForReplacements() [4/4]

void JSC::Structure::startWatchingPropertyForReplacements ( VM ,
PropertyName   
)

◆ storedPrototype() [1/2]

JSValue JSC::Structure::storedPrototype ( ) const
inline

◆ storedPrototype() [2/2]

JSValue JSC::Structure::storedPrototype ( ) const
inline

◆ storedPrototypeObject() [1/2]

JSObject * JSC::Structure::storedPrototypeObject ( ) const
inline

◆ storedPrototypeObject() [2/2]

JSObject* JSC::Structure::storedPrototypeObject ( ) const

◆ storedPrototypeStructure() [1/2]

Structure* JSC::Structure::storedPrototypeStructure ( ) const

◆ storedPrototypeStructure() [2/2]

Structure * JSC::Structure::storedPrototypeStructure ( ) const
inline

◆ structureIDOffset() [1/2]

static ptrdiff_t JSC::Structure::structureIDOffset ( )
inlinestatic

◆ structureIDOffset() [2/2]

static ptrdiff_t JSC::Structure::structureIDOffset ( )
inlinestatic

◆ suggestedArrayStorageTransition() [1/2]

NonPropertyTransition JSC::Structure::suggestedArrayStorageTransition ( ) const

◆ suggestedArrayStorageTransition() [2/2]

NonPropertyTransition JSC::Structure::suggestedArrayStorageTransition ( ) const

◆ takesSlowPathInDFGForImpureProperty() [1/2]

bool JSC::Structure::takesSlowPathInDFGForImpureProperty ( )
inline

◆ takesSlowPathInDFGForImpureProperty() [2/2]

bool JSC::Structure::takesSlowPathInDFGForImpureProperty ( )
inline

◆ toCacheableDictionaryTransition() [1/2]

Structure * JSC::Structure::toCacheableDictionaryTransition ( VM vm,
Structure structure,
DeferredStructureTransitionWatchpointFire deferred = nullptr 
)
static

◆ toCacheableDictionaryTransition() [2/2]

static JS_EXPORT_PRIVATE Structure* JSC::Structure::toCacheableDictionaryTransition ( VM ,
Structure ,
DeferredStructureTransitionWatchpointFire = nullptr 
)
static

◆ toStructureShape() [1/2]

Ref< StructureShape > JSC::Structure::toStructureShape ( JSValue  value)

◆ toStructureShape() [2/2]

Ref<StructureShape> JSC::Structure::toStructureShape ( JSValue  )

◆ totalStorageCapacity() [1/2]

unsigned JSC::Structure::totalStorageCapacity ( ) const
inline

◆ totalStorageCapacity() [2/2]

unsigned JSC::Structure::totalStorageCapacity ( ) const
inline

◆ totalStorageSize() [1/2]

unsigned JSC::Structure::totalStorageSize ( ) const
inline

◆ totalStorageSize() [2/2]

unsigned JSC::Structure::totalStorageSize ( ) const
inline

◆ toUncacheableDictionaryTransition() [1/2]

static Structure* JSC::Structure::toUncacheableDictionaryTransition ( VM ,
Structure  
)
static

◆ toUncacheableDictionaryTransition() [2/2]

Structure * JSC::Structure::toUncacheableDictionaryTransition ( VM vm,
Structure structure 
)
static

◆ transitionWatchpointSet() [1/2]

InlineWatchpointSet& JSC::Structure::transitionWatchpointSet ( ) const
inline

◆ transitionWatchpointSet() [2/2]

InlineWatchpointSet& JSC::Structure::transitionWatchpointSet ( ) const
inline

◆ transitionWatchpointSetHasBeenInvalidated() [1/2]

bool JSC::Structure::transitionWatchpointSetHasBeenInvalidated ( ) const
inline

◆ transitionWatchpointSetHasBeenInvalidated() [2/2]

bool JSC::Structure::transitionWatchpointSetHasBeenInvalidated ( ) const
inline

◆ transitionWatchpointSetIsStillValid() [1/2]

bool JSC::Structure::transitionWatchpointSetIsStillValid ( ) const
inline

◆ transitionWatchpointSetIsStillValid() [2/2]

bool JSC::Structure::transitionWatchpointSetIsStillValid ( ) const
inline

◆ transitivelyTransitionedFrom() [1/2]

bool JSC::Structure::transitivelyTransitionedFrom ( Structure structureToFind)
inline

◆ transitivelyTransitionedFrom() [2/2]

bool JSC::Structure::transitivelyTransitionedFrom ( Structure structureToFind)

◆ typeInfo() [1/2]

TypeInfo JSC::Structure::typeInfo ( ) const
inline

◆ typeInfo() [2/2]

TypeInfo JSC::Structure::typeInfo ( ) const
inline

◆ visitChildren() [1/2]

static void JSC::Structure::visitChildren ( JSCell ,
SlotVisitor  
)
static

◆ visitChildren() [2/2]

void JSC::Structure::visitChildren ( JSCell cell,
SlotVisitor visitor 
)
static

◆ willStoreValueForExistingTransition() [1/2]

ALWAYS_INLINE void JSC::Structure::willStoreValueForExistingTransition ( VM vm,
PropertyName  propertyName,
JSValue  value,
bool  shouldOptimize 
)
inline

◆ willStoreValueForExistingTransition() [2/2]

ALWAYS_INLINE void JSC::Structure::willStoreValueForExistingTransition ( VM vm,
PropertyName  propertyName,
JSValue  value,
bool  shouldOptimize 
)
inline

◆ willStoreValueForNewTransition() [1/2]

ALWAYS_INLINE void JSC::Structure::willStoreValueForNewTransition ( VM vm,
PropertyName  propertyName,
JSValue  value,
bool  shouldOptimize 
)
inline

◆ willStoreValueForNewTransition() [2/2]

ALWAYS_INLINE void JSC::Structure::willStoreValueForNewTransition ( VM vm,
PropertyName  propertyName,
JSValue  value,
bool  shouldOptimize 
)
inline

◆ willStoreValueForReplace() [1/2]

ALWAYS_INLINE void JSC::Structure::willStoreValueForReplace ( VM vm,
PropertyName  propertyName,
JSValue  value,
bool  shouldOptimize 
)
inline

◆ willStoreValueForReplace() [2/2]

ALWAYS_INLINE void JSC::Structure::willStoreValueForReplace ( VM vm,
PropertyName  propertyName,
JSValue  value,
bool  shouldOptimize 
)
inline

Friends And Related Function Documentation

◆ LLIntOffsetsExtractor

◆ StructureTransitionTable

Member Data Documentation

◆ DECLARE_EXPORT_INFO

JSC::Structure::DECLARE_EXPORT_INFO

◆ needsDestruction

static const bool JSC::Structure::needsDestruction = true
static

◆ StructureFlags

static const unsigned JSC::Structure::StructureFlags = Base::StructureFlags | StructureIsImmortal
static

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