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

#include <JSCell.h>

Inheritance diagram for JSC::JSCell:
JSC::HeapCell JSC::HeapCell JSC::ArrayBufferNeuteringWatchpoint JSC::ArrayBufferNeuteringWatchpoint JSC::CodeBlock JSC::CodeBlock JSC::CustomGetterSetter JSC::CustomGetterSetter JSC::ExecutableBase JSC::ExecutableBase JSC::FunctionRareData JSC::FunctionRareData JSC::HashMapBucket< Data > JSC::HashMapBucket< Data > JSC::HashMapImpl< HashMapBucketType > JSC::HashMapImpl< HashMapBucketType > JSC::InferredType JSC::InferredType JSC::InferredTypeTable JSC::InferredTypeTable JSC::InferredValue JSC::InferredValue JSC::JSAPIValueWrapper JSC::JSAPIValueWrapper JSC::JSFixedArray JSC::JSFixedArray JSC::JSObject JSC::JSObject JSC::JSPromiseDeferred JSC::JSPromiseDeferred JSC::JSPropertyNameEnumerator JSC::JSScriptFetcher JSC::JSScriptFetcher JSC::JSSourceCode JSC::JSSourceCode JSC::JSString JSC::JSString JSC::NativeStdFunctionCell JSC::NativeStdFunctionCell JSC::PropertyTable JSC::PropertyTable JSC::RegExp JSC::RegExp JSC::ScopedArgumentsTable JSC::ScopedArgumentsTable JSC::SparseArrayValueMap JSC::SparseArrayValueMap JSC::Structure JSC::Structure JSC::StructureChain JSC::StructureChain JSC::StructureRareData JSC::StructureRareData JSC::Symbol JSC::Symbol JSC::SymbolTable JSC::SymbolTable JSC::UnlinkedCodeBlock JSC::UnlinkedCodeBlock JSC::UnlinkedFunctionExecutable JSC::UnlinkedFunctionExecutable JSC::WeakMapData

Public Types

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

 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
 
Structure * structure () const
 
Structure * structure (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 JSObject * getObject ()
 
const JSObject * getObject () 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
 
JSObject * toObject (ExecState *, JSGlobalObject *) const
 
void dump (PrintStream &) const
 
size_t estimatedSizeInBytes () const
 
const ClassInfo * classInfo (VM &) const
 
const MethodTable * methodTable () const
 
const MethodTable * methodTable (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
 
Structure * structure () const
 
Structure * structure (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 JSObject * getObject ()
 
const JSObject * getObject () 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
 
JSObject * toObject (ExecState *, JSGlobalObject *) const
 
void dump (PrintStream &) const
 
size_t estimatedSizeInBytes () const
 
const ClassInfo * classInfo (VM &) const
 
const MethodTable * methodTable () const
 
const MethodTable * methodTable (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
 
MarkedBlock & markedBlock () const
 
LargeAllocation & largeAllocation () const
 
Heap * heap () const
 
VM * vm () 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
 
MarkedBlock & markedBlock () const
 
LargeAllocation & largeAllocation () const
 
Heap * heap () const
 
VM * vm () const
 
size_t cellSize () const
 
AllocatorAttributes allocatorAttributes () const
 
DestructionMode destructionMode () const
 
Kind cellKind () const
 

Static Public Member Functions

template<typename CellType >
static Subspace * subspaceFor (VM &)
 
static JSCell * seenMultipleCalleeObjects ()
 
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 Subspace * subspaceFor (VM &)
 
static JSCell * seenMultipleCalleeObjects ()
 
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 ()
 

Static Public Attributes

static const unsigned StructureFlags = 0
 
static const bool needsDestruction = false
 
static const TypedArrayType TypedArrayStorageType = NotTypedArray
 

Protected Member Functions

 JSCell (VM &, Structure *)
 
void finishCreation (VM &)
 
void finishCreation (VM &, Structure *, CreatingEarlyCellTag)
 
 JSCell (VM &, Structure *)
 
void finishCreation (VM &)
 
void finishCreation (VM &, Structure *, CreatingEarlyCellTag)
 

Static Protected Member Functions

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 ArrayBuffer * slowDownAndWasteMemory (JSArrayBufferView *)
 
static JS_EXPORT_PRIVATE RefPtr< ArrayBufferView > getTypedArrayImpl (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 ArrayBuffer * slowDownAndWasteMemory (JSArrayBufferView *)
 
static JS_EXPORT_PRIVATE RefPtr< ArrayBufferView > getTypedArrayImpl (JSArrayBufferView *)
 

Friends

class JSValue
 
class MarkedBlock
 
class LLIntOffsetsExtractor
 
template<typename T >
void * allocateCell (Heap &)
 
template<typename T >
void * allocateCell (Heap &, size_t)
 
template<typename T >
void * allocateCell (Heap &, GCDeferralContext *)
 
template<typename T >
void * allocateCell (Heap &, GCDeferralContext *, size_t)
 
template<typename T >
void * allocateCell (Heap &)
 
template<typename T >
void * allocateCell (Heap &, size_t)
 
template<typename T >
void * allocateCell (Heap &, GCDeferralContext *)
 
template<typename T >
void * allocateCell (Heap &, GCDeferralContext *, size_t)
 

Member Enumeration Documentation

◆ CreatingEarlyCellTag [1/2]

Enumerator
CreatingEarlyCell 
CreatingEarlyCell 

◆ CreatingEarlyCellTag [2/2]

Enumerator
CreatingEarlyCell 
CreatingEarlyCell 

Constructor & Destructor Documentation

◆ JSCell() [1/4]

JSC::JSCell::JSCell ( CreatingEarlyCellTag  )
inline

◆ JSCell() [2/4]

JSC::JSCell::JSCell ( VM &  ,
Structure *  structure 
)
inlineprotected

◆ JSCell() [3/4]

JSC::JSCell::JSCell ( CreatingEarlyCellTag  )

◆ JSCell() [4/4]

JSC::JSCell::JSCell ( VM &  ,
Structure *   
)
protected

Member Function Documentation

◆ atomicCompareExchangeCellStateStrong() [1/2]

CellState JSC::JSCell::atomicCompareExchangeCellStateStrong ( CellState  oldState,
CellState  newState 
)
inline

◆ atomicCompareExchangeCellStateStrong() [2/2]

CellState JSC::JSCell::atomicCompareExchangeCellStateStrong ( CellState  oldState,
CellState  newState 
)
inline

◆ atomicCompareExchangeCellStateWeakRelaxed() [1/2]

bool JSC::JSCell::atomicCompareExchangeCellStateWeakRelaxed ( CellState  oldState,
CellState  newState 
)
inline

◆ atomicCompareExchangeCellStateWeakRelaxed() [2/2]

bool JSC::JSCell::atomicCompareExchangeCellStateWeakRelaxed ( CellState  oldState,
CellState  newState 
)
inline

◆ callDestructor() [1/2]

void JSC::JSCell::callDestructor ( VM &  vm)
inline

◆ callDestructor() [2/2]

void JSC::JSCell::callDestructor ( VM &  )

◆ canUseFastGetOwnProperty() [1/2]

static bool JSC::JSCell::canUseFastGetOwnProperty ( const Structure &  )
static

◆ canUseFastGetOwnProperty() [2/2]

bool JSC::JSCell::canUseFastGetOwnProperty ( const Structure &  structure)
inlinestatic

◆ cellState() [1/2]

CellState JSC::JSCell::cellState ( ) const
inline

◆ cellState() [2/2]

CellState JSC::JSCell::cellState ( ) const
inline

◆ cellStateOffset() [1/2]

static ptrdiff_t JSC::JSCell::cellStateOffset ( )
inlinestatic

◆ cellStateOffset() [2/2]

static ptrdiff_t JSC::JSCell::cellStateOffset ( )
inlinestatic

◆ classInfo() [1/2]

const ClassInfo* JSC::JSCell::classInfo ( VM &  ) const

◆ classInfo() [2/2]

ALWAYS_INLINE const ClassInfo * JSC::JSCell::classInfo ( VM &  vm) const

◆ className() [1/4]

const char * JSC::JSCell::className ( VM &  vm) const

◆ className() [2/4]

const char* JSC::JSCell::className ( VM &  ) const

◆ className() [3/4]

String JSC::JSCell::className ( const JSObject *  )
staticprotected

◆ className() [4/4]

static String JSC::JSCell::className ( const JSObject *  )
staticprotected

◆ clearStructure() [1/2]

void JSC::JSCell::clearStructure ( )
inline

◆ clearStructure() [2/2]

void JSC::JSCell::clearStructure ( )
inline

◆ customHasInstance() [1/2]

bool JSC::JSCell::customHasInstance ( JSObject *  ,
ExecState *  ,
JSValue   
)
staticprotected

◆ customHasInstance() [2/2]

static JS_EXPORT_PRIVATE bool JSC::JSCell::customHasInstance ( JSObject *  ,
ExecState *  ,
JSValue   
)
staticprotected

◆ defaultValue() [1/2]

JSValue JSC::JSCell::defaultValue ( const JSObject *  ,
ExecState *  ,
PreferredPrimitiveType   
)
staticprotected

◆ defaultValue() [2/2]

static JSValue JSC::JSCell::defaultValue ( const JSObject *  ,
ExecState *  ,
PreferredPrimitiveType   
)
staticprotected

◆ defineOwnProperty() [1/2]

bool JSC::JSCell::defineOwnProperty ( JSObject *  ,
ExecState *  ,
PropertyName  ,
const PropertyDescriptor &  ,
bool  shouldThrow 
)
staticprotected

◆ defineOwnProperty() [2/2]

static bool JSC::JSCell::defineOwnProperty ( JSObject *  ,
ExecState *  ,
PropertyName  ,
const PropertyDescriptor &  ,
bool  shouldThrow 
)
staticprotected

◆ deleteProperty() [1/2]

static bool JSC::JSCell::deleteProperty ( JSCell *  ,
ExecState *  ,
PropertyName   
)
static

◆ deleteProperty() [2/2]

bool JSC::JSCell::deleteProperty ( JSCell *  cell,
ExecState *  exec,
PropertyName  identifier 
)
static

◆ deletePropertyByIndex() [1/2]

static bool JSC::JSCell::deletePropertyByIndex ( JSCell *  ,
ExecState *  ,
unsigned  propertyName 
)
static

◆ deletePropertyByIndex() [2/2]

bool JSC::JSCell::deletePropertyByIndex ( JSCell *  cell,
ExecState *  exec,
unsigned  propertyName 
)
static

◆ destroy() [1/2]

static JS_EXPORT_PRIVATE void JSC::JSCell::destroy ( JSCell *  )
staticprotected

◆ destroy() [2/2]

void JSC::JSCell::destroy ( JSCell *  cell)
staticprotected

◆ dump() [1/2]

void JSC::JSCell::dump ( PrintStream &  out) const

◆ dump() [2/2]

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

◆ dumpToStream() [1/2]

static JS_EXPORT_PRIVATE void JSC::JSCell::dumpToStream ( const JSCell *  ,
PrintStream &   
)
static

◆ dumpToStream() [2/2]

void JSC::JSCell::dumpToStream ( const JSCell *  cell,
PrintStream &  out 
)
static

◆ estimatedSize() [1/2]

static JS_EXPORT_PRIVATE size_t JSC::JSCell::estimatedSize ( JSCell *  )
static

◆ estimatedSize() [2/2]

size_t JSC::JSCell::estimatedSize ( JSCell *  cell)
static

◆ estimatedSizeInBytes() [1/2]

size_t JSC::JSCell::estimatedSizeInBytes ( ) const

◆ estimatedSizeInBytes() [2/2]

size_t JSC::JSCell::estimatedSizeInBytes ( ) const

◆ fastGetOwnProperty() [1/2]

JSValue JSC::JSCell::fastGetOwnProperty ( VM &  ,
Structure &  ,
PropertyName   
)

◆ fastGetOwnProperty() [2/2]

ALWAYS_INLINE JSValue JSC::JSCell::fastGetOwnProperty ( VM &  vm,
Structure &  structure,
PropertyName  name 
)

◆ finishCreation() [1/4]

void JSC::JSCell::finishCreation ( VM &  vm)
inlineprotected

◆ finishCreation() [2/4]

void JSC::JSCell::finishCreation ( VM &  )
protected

◆ finishCreation() [3/4]

void JSC::JSCell::finishCreation ( VM &  vm,
Structure *  structure,
CreatingEarlyCellTag   
)
inlineprotected

◆ finishCreation() [4/4]

void JSC::JSCell::finishCreation ( VM &  ,
Structure *  ,
CreatingEarlyCellTag   
)
protected

◆ getCallData() [1/2]

CallType JSC::JSCell::getCallData ( JSCell *  ,
CallData &  callData 
)
static

◆ getCallData() [2/2]

static JS_EXPORT_PRIVATE CallType JSC::JSCell::getCallData ( JSCell *  ,
CallData &   
)
static

◆ getConstructData() [1/2]

ConstructType JSC::JSCell::getConstructData ( JSCell *  ,
ConstructData &  constructData 
)
static

◆ getConstructData() [2/2]

static JS_EXPORT_PRIVATE ConstructType JSC::JSCell::getConstructData ( JSCell *  ,
ConstructData &   
)
static

◆ getEnumerableLength() [1/2]

uint32_t JSC::JSCell::getEnumerableLength ( ExecState *  ,
JSObject *   
)
staticprotected

◆ getEnumerableLength() [2/2]

static uint32_t JSC::JSCell::getEnumerableLength ( ExecState *  ,
JSObject *   
)
staticprotected

◆ getGenericPropertyNames() [1/2]

void JSC::JSCell::getGenericPropertyNames ( JSObject *  ,
ExecState *  ,
PropertyNameArray &  ,
EnumerationMode   
)
staticprotected

◆ getGenericPropertyNames() [2/2]

static NO_RETURN_DUE_TO_CRASH void JSC::JSCell::getGenericPropertyNames ( JSObject *  ,
ExecState *  ,
PropertyNameArray &  ,
EnumerationMode   
)
staticprotected

◆ getObject() [1/4]

JSObject * JSC::JSCell::getObject ( )

◆ getObject() [2/4]

JS_EXPORT_PRIVATE JSObject* JSC::JSCell::getObject ( )

◆ getObject() [3/4]

const JSObject* JSC::JSCell::getObject ( ) const

◆ getObject() [4/4]

const JSObject * JSC::JSCell::getObject ( ) const

◆ getOwnNonIndexPropertyNames() [1/2]

void JSC::JSCell::getOwnNonIndexPropertyNames ( JSObject *  ,
ExecState *  ,
PropertyNameArray &  ,
EnumerationMode   
)
staticprotected

◆ getOwnNonIndexPropertyNames() [2/2]

static NO_RETURN_DUE_TO_CRASH void JSC::JSCell::getOwnNonIndexPropertyNames ( JSObject *  ,
ExecState *  ,
PropertyNameArray &  ,
EnumerationMode   
)
staticprotected

◆ getOwnPropertyNames() [1/2]

void JSC::JSCell::getOwnPropertyNames ( JSObject *  ,
ExecState *  ,
PropertyNameArray &  ,
EnumerationMode   
)
staticprotected

◆ getOwnPropertyNames() [2/2]

static NO_RETURN_DUE_TO_CRASH void JSC::JSCell::getOwnPropertyNames ( JSObject *  ,
ExecState *  ,
PropertyNameArray &  ,
EnumerationMode   
)
staticprotected

◆ getOwnPropertySlot() [1/2]

static bool JSC::JSCell::getOwnPropertySlot ( JSObject *  ,
ExecState *  ,
PropertyName  ,
PropertySlot &   
)
staticprotected

◆ getOwnPropertySlot() [2/2]

bool JSC::JSCell::getOwnPropertySlot ( JSObject *  ,
ExecState *  ,
PropertyName  ,
PropertySlot &   
)
staticprotected

◆ getOwnPropertySlotByIndex() [1/2]

bool JSC::JSCell::getOwnPropertySlotByIndex ( JSObject *  ,
ExecState *  ,
unsigned  propertyName,
PropertySlot &   
)
staticprotected

◆ getOwnPropertySlotByIndex() [2/2]

static bool JSC::JSCell::getOwnPropertySlotByIndex ( JSObject *  ,
ExecState *  ,
unsigned  propertyName,
PropertySlot &   
)
staticprotected

◆ getPrimitiveNumber() [1/2]

bool JSC::JSCell::getPrimitiveNumber ( ExecState *  exec,
double &  number,
JSValue &  value 
) const

◆ getPrimitiveNumber() [2/2]

bool JSC::JSCell::getPrimitiveNumber ( ExecState *  ,
double &  number,
JSValue &   
) const

◆ getPropertyNames() [1/2]

void JSC::JSCell::getPropertyNames ( JSObject *  ,
ExecState *  ,
PropertyNameArray &  ,
EnumerationMode   
)
staticprotected

◆ getPropertyNames() [2/2]

static NO_RETURN_DUE_TO_CRASH void JSC::JSCell::getPropertyNames ( JSObject *  ,
ExecState *  ,
PropertyNameArray &  ,
EnumerationMode   
)
staticprotected

◆ getPrototype() [1/2]

JSValue JSC::JSCell::getPrototype ( JSObject *  ,
ExecState *   
)
staticprotected

◆ getPrototype() [2/2]

static NO_RETURN_DUE_TO_CRASH JSValue JSC::JSCell::getPrototype ( JSObject *  ,
ExecState *   
)
staticprotected

◆ getString() [1/4]

JS_EXPORT_PRIVATE bool JSC::JSCell::getString ( ExecState *  ,
String &   
) const

◆ getString() [2/4]

bool JSC::JSCell::getString ( ExecState *  exec,
String &  stringValue 
) const

◆ getString() [3/4]

String JSC::JSCell::getString ( ExecState *  exec) const

◆ getString() [4/4]

JS_EXPORT_PRIVATE String JSC::JSCell::getString ( ExecState *  ) const

◆ getStructurePropertyNames() [1/2]

void JSC::JSCell::getStructurePropertyNames ( JSObject *  ,
ExecState *  ,
PropertyNameArray &  ,
EnumerationMode   
)
staticprotected

◆ getStructurePropertyNames() [2/2]

static NO_RETURN_DUE_TO_CRASH void JSC::JSCell::getStructurePropertyNames ( JSObject *  ,
ExecState *  ,
PropertyNameArray &  ,
EnumerationMode   
)
staticprotected

◆ getTypedArrayImpl() [1/2]

static JS_EXPORT_PRIVATE RefPtr<ArrayBufferView> JSC::JSCell::getTypedArrayImpl ( JSArrayBufferView *  )
staticprotected

◆ getTypedArrayImpl() [2/2]

RefPtr< ArrayBufferView > JSC::JSCell::getTypedArrayImpl ( JSArrayBufferView *  )
staticprotected

◆ heapSnapshot() [1/2]

static JS_EXPORT_PRIVATE void JSC::JSCell::heapSnapshot ( JSCell *  ,
HeapSnapshotBuilder &   
)
static

◆ heapSnapshot() [2/2]

void JSC::JSCell::heapSnapshot ( JSCell *  ,
HeapSnapshotBuilder &   
)
static

◆ indexingType() [1/2]

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

◆ indexingType() [2/2]

IndexingType JSC::JSCell::indexingType ( ) const

◆ indexingTypeAndMisc() [1/2]

IndexingType JSC::JSCell::indexingTypeAndMisc ( ) const
inline

◆ indexingTypeAndMisc() [2/2]

IndexingType JSC::JSCell::indexingTypeAndMisc ( ) const

◆ indexingTypeAndMiscOffset() [1/2]

static ptrdiff_t JSC::JSCell::indexingTypeAndMiscOffset ( )
inlinestatic

◆ indexingTypeAndMiscOffset() [2/2]

static ptrdiff_t JSC::JSCell::indexingTypeAndMiscOffset ( )
inlinestatic

◆ inherits() [1/2]

bool JSC::JSCell::inherits ( VM &  vm,
const ClassInfo *  info 
) const
inline

◆ inherits() [2/2]

bool JSC::JSCell::inherits ( VM &  ,
const ClassInfo *   
) const

◆ inlineTypeFlags() [1/2]

TypeInfo::InlineTypeFlags JSC::JSCell::inlineTypeFlags ( ) const
inline

◆ inlineTypeFlags() [2/2]

TypeInfo::InlineTypeFlags JSC::JSCell::inlineTypeFlags ( ) const
inline

◆ isAnyWasmCallee() [1/2]

bool JSC::JSCell::isAnyWasmCallee ( VM &  ) const

◆ isAnyWasmCallee() [2/2]

bool JSC::JSCell::isAnyWasmCallee ( VM &  vm) const

◆ isAPIValueWrapper() [1/2]

bool JSC::JSCell::isAPIValueWrapper ( ) const
inline

◆ isAPIValueWrapper() [2/2]

bool JSC::JSCell::isAPIValueWrapper ( ) const

◆ isCustomGetterSetter() [1/2]

bool JSC::JSCell::isCustomGetterSetter ( ) const
inline

◆ isCustomGetterSetter() [2/2]

bool JSC::JSCell::isCustomGetterSetter ( ) const

◆ isExtensible() [1/2]

static NO_RETURN_DUE_TO_CRASH bool JSC::JSCell::isExtensible ( JSObject *  ,
ExecState *   
)
staticprotected

◆ isExtensible() [2/2]

bool JSC::JSCell::isExtensible ( JSObject *  ,
ExecState *   
)
staticprotected

◆ isGetterSetter() [1/2]

bool JSC::JSCell::isGetterSetter ( ) const
inline

◆ isGetterSetter() [2/2]

bool JSC::JSCell::isGetterSetter ( ) const

◆ isLocked() [1/2]

bool JSC::JSCell::isLocked ( ) const
inline

◆ isLocked() [2/2]

bool JSC::JSCell::isLocked ( ) const

◆ isObject() [1/2]

bool JSC::JSCell::isObject ( ) const

◆ isObject() [2/2]

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

◆ isProxy() [1/2]

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

◆ isProxy() [2/2]

bool JSC::JSCell::isProxy ( ) const

◆ isString() [1/2]

bool JSC::JSCell::isString ( ) const

◆ isString() [2/2]

bool JSC::JSCell::isString ( ) const
inline

◆ isSymbol() [1/2]

bool JSC::JSCell::isSymbol ( ) const

◆ isSymbol() [2/2]

bool JSC::JSCell::isSymbol ( ) const
inline

◆ lock() [1/2]

void JSC::JSCell::lock ( )

◆ lock() [2/2]

void JSC::JSCell::lock ( )
inline

◆ methodTable() [1/4]

const MethodTable* JSC::JSCell::methodTable ( ) const

◆ methodTable() [2/4]

const MethodTable * JSC::JSCell::methodTable ( ) const
inline

◆ methodTable() [3/4]

const MethodTable* JSC::JSCell::methodTable ( VM &  ) const

◆ methodTable() [4/4]

const MethodTable * JSC::JSCell::methodTable ( VM &  vm) const
inline

◆ preventExtensions() [1/2]

bool JSC::JSCell::preventExtensions ( JSObject *  ,
ExecState *   
)
staticprotected

◆ preventExtensions() [2/2]

static NO_RETURN_DUE_TO_CRASH bool JSC::JSCell::preventExtensions ( JSObject *  ,
ExecState *   
)
staticprotected

◆ pureToBoolean() [1/2]

TriState JSC::JSCell::pureToBoolean ( ) const
inline

◆ pureToBoolean() [2/2]

TriState JSC::JSCell::pureToBoolean ( ) const

◆ put() [1/2]

static bool JSC::JSCell::put ( JSCell *  ,
ExecState *  ,
PropertyName  ,
JSValue  ,
PutPropertySlot &   
)
static

◆ put() [2/2]

bool JSC::JSCell::put ( JSCell *  cell,
ExecState *  exec,
PropertyName  identifier,
JSValue  value,
PutPropertySlot &  slot 
)
static

◆ putByIndex() [1/2]

static bool JSC::JSCell::putByIndex ( JSCell *  ,
ExecState *  ,
unsigned  propertyName,
JSValue  ,
bool  shouldThrow 
)
static

◆ putByIndex() [2/2]

bool JSC::JSCell::putByIndex ( JSCell *  cell,
ExecState *  exec,
unsigned  propertyName,
JSValue  value,
bool  shouldThrow 
)
static

◆ seenMultipleCalleeObjects() [1/2]

static JSCell* JSC::JSCell::seenMultipleCalleeObjects ( )
inlinestatic

◆ seenMultipleCalleeObjects() [2/2]

static JSCell* JSC::JSCell::seenMultipleCalleeObjects ( )
inlinestatic

◆ setCellState() [1/2]

void JSC::JSCell::setCellState ( CellState  data) const
inline

◆ setCellState() [2/2]

void JSC::JSCell::setCellState ( CellState  data) const
inline

◆ setPrototype() [1/2]

bool JSC::JSCell::setPrototype ( JSObject *  ,
ExecState *  ,
JSValue  ,
bool   
)
staticprotected

◆ setPrototype() [2/2]

static NO_RETURN_DUE_TO_CRASH bool JSC::JSCell::setPrototype ( JSObject *  ,
ExecState *  ,
JSValue  ,
bool   
)
staticprotected

◆ setStructure() [1/2]

ALWAYS_INLINE void JSC::JSCell::setStructure ( VM &  vm,
Structure *  structure 
)

◆ setStructure() [2/2]

void JSC::JSCell::setStructure ( VM &  ,
Structure *   
)

◆ setStructureIDDirectly() [1/2]

void JSC::JSCell::setStructureIDDirectly ( StructureID  id)
inline

◆ setStructureIDDirectly() [2/2]

void JSC::JSCell::setStructureIDDirectly ( StructureID  id)
inline

◆ slowDownAndWasteMemory() [1/2]

static JS_EXPORT_PRIVATE ArrayBuffer* JSC::JSCell::slowDownAndWasteMemory ( JSArrayBufferView *  )
staticprotected

◆ slowDownAndWasteMemory() [2/2]

ArrayBuffer * JSC::JSCell::slowDownAndWasteMemory ( JSArrayBufferView *  )
staticprotected

◆ structure() [1/4]

ALWAYS_INLINE Structure * JSC::JSCell::structure ( ) const

◆ structure() [2/4]

Structure* JSC::JSCell::structure ( ) const

◆ structure() [3/4]

Structure* JSC::JSCell::structure ( VM &  ) const

◆ structure() [4/4]

ALWAYS_INLINE Structure * JSC::JSCell::structure ( VM &  vm) const

◆ structureID() [1/2]

StructureID JSC::JSCell::structureID ( ) const
inline

◆ structureID() [2/2]

StructureID JSC::JSCell::structureID ( ) const
inline

◆ structureIDOffset() [1/2]

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

◆ structureIDOffset() [2/2]

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

◆ subspaceFor() [1/2]

template<typename CellType >
Subspace * JSC::JSCell::subspaceFor ( VM &  vm)
static

◆ subspaceFor() [2/2]

template<typename CellType >
static Subspace* JSC::JSCell::subspaceFor ( VM &  )
static

◆ toBoolean() [1/2]

bool JSC::JSCell::toBoolean ( ExecState *  exec) const
inline

◆ toBoolean() [2/2]

bool JSC::JSCell::toBoolean ( ExecState *  ) const

◆ toNumber() [1/2]

double JSC::JSCell::toNumber ( ExecState *  exec) const

◆ toNumber() [2/2]

JS_EXPORT_PRIVATE double JSC::JSCell::toNumber ( ExecState *  ) const

◆ toObject() [1/2]

JSObject * JSC::JSCell::toObject ( ExecState *  exec,
JSGlobalObject *  globalObject 
) const
inline

◆ toObject() [2/2]

JSObject* JSC::JSCell::toObject ( ExecState *  ,
JSGlobalObject *   
) const

◆ toPrimitive() [1/2]

JS_EXPORT_PRIVATE JSValue JSC::JSCell::toPrimitive ( ExecState *  ,
PreferredPrimitiveType   
) const

◆ toPrimitive() [2/2]

JSValue JSC::JSCell::toPrimitive ( ExecState *  exec,
PreferredPrimitiveType  preferredType 
) const

◆ toStringName() [1/2]

static String JSC::JSCell::toStringName ( const JSObject *  ,
ExecState *   
)
staticprotected

◆ toStringName() [2/2]

String JSC::JSCell::toStringName ( const JSObject *  ,
ExecState *   
)
staticprotected

◆ toThis() [1/2]

JSValue JSC::JSCell::toThis ( JSCell *  cell,
ExecState *  exec,
ECMAMode  ecmaMode 
)
static

◆ toThis() [2/2]

static JSValue JSC::JSCell::toThis ( JSCell *  ,
ExecState *  ,
ECMAMode   
)
static

◆ tryLock() [1/2]

bool JSC::JSCell::tryLock ( )

◆ tryLock() [2/2]

bool JSC::JSCell::tryLock ( )
inline

◆ type() [1/2]

JSType JSC::JSCell::type ( ) const
inline

◆ type() [2/2]

JSType JSC::JSCell::type ( ) const

◆ typeInfoFlagsOffset() [1/2]

static ptrdiff_t JSC::JSCell::typeInfoFlagsOffset ( )
inlinestatic

◆ typeInfoFlagsOffset() [2/2]

static ptrdiff_t JSC::JSCell::typeInfoFlagsOffset ( )
inlinestatic

◆ typeInfoTypeOffset() [1/2]

static ptrdiff_t JSC::JSCell::typeInfoTypeOffset ( )
inlinestatic

◆ typeInfoTypeOffset() [2/2]

static ptrdiff_t JSC::JSCell::typeInfoTypeOffset ( )
inlinestatic

◆ unlock() [1/2]

void JSC::JSCell::unlock ( )

◆ unlock() [2/2]

void JSC::JSCell::unlock ( )
inline

◆ visitChildren() [1/2]

static void JSC::JSCell::visitChildren ( JSCell *  ,
SlotVisitor &   
)
static

◆ visitChildren() [2/2]

void JSC::JSCell::visitChildren ( JSCell *  cell,
SlotVisitor &  visitor 
)
inlinestatic

◆ visitOutputConstraints() [1/2]

static void JSC::JSCell::visitOutputConstraints ( JSCell *  ,
SlotVisitor &   
)
static

◆ visitOutputConstraints() [2/2]

void JSC::JSCell::visitOutputConstraints ( JSCell *  ,
SlotVisitor &   
)
inlinestatic

Friends And Related Function Documentation

◆ allocateCell [1/8]

template<typename T >
void* allocateCell ( Heap &  heap)
friend

◆ allocateCell [2/8]

template<typename T >
void* allocateCell ( Heap &  heap)
friend

◆ allocateCell [3/8]

template<typename T >
void* allocateCell ( Heap &  heap,
size_t  size 
)
friend

◆ allocateCell [4/8]

template<typename T >
void* allocateCell ( Heap &  heap,
size_t  size 
)
friend

◆ allocateCell [5/8]

template<typename T >
void* allocateCell ( Heap &  heap,
GCDeferralContext *  deferralContext 
)
friend

◆ allocateCell [6/8]

template<typename T >
void* allocateCell ( Heap &  heap,
GCDeferralContext *  deferralContext 
)
friend

◆ allocateCell [7/8]

template<typename T >
void* allocateCell ( Heap &  heap,
GCDeferralContext *  deferralContext,
size_t  size 
)
friend

◆ allocateCell [8/8]

template<typename T >
void* allocateCell ( Heap &  heap,
GCDeferralContext *  deferralContext,
size_t  size 
)
friend

◆ JSValue

JSValue
friend

◆ LLIntOffsetsExtractor

◆ MarkedBlock

MarkedBlock
friend

Member Data Documentation

◆ needsDestruction

static const bool JSC::JSCell::needsDestruction = false
static

◆ StructureFlags

static const unsigned JSC::JSCell::StructureFlags = 0
static

◆ TypedArrayStorageType

static const TypedArrayType JSC::JSCell::TypedArrayStorageType = NotTypedArray
static

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