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::JSString Class Reference

#include <JSString.h>

Inheritance diagram for JSC::JSString:
JSC::JSCell JSC::JSCell JSC::HeapCell JSC::HeapCell JSC::HeapCell JSC::HeapCell JSC::JSRopeString JSC::JSRopeString

Public Types

enum  { Is8Bit = 1u }
 
enum  { Is8Bit = 1u }
 
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

Identifier toIdentifier (ExecState *) const
 
AtomicString toAtomicString (ExecState *) const
 
RefPtr< AtomicStringImpl > toExistingAtomicString (ExecState *) const
 
StringViewWithUnderlyingString viewWithUnderlyingString (ExecState &) const
 
bool equal (ExecState *, JSString *other) const
 
const String & value (ExecState *) const
 
const String & tryGetValue () const
 
const StringImpl * tryGetValueImpl () const
 
ALWAYS_INLINE unsigned length () const
 
JSValue toPrimitive (ExecState *, PreferredPrimitiveType) const
 
bool toBoolean () const
 
bool getPrimitiveNumber (ExecState *, double &number, JSValue &) const
 
JSObject * toObject (ExecState *, JSGlobalObject *) const
 
double toNumber (ExecState *) const
 
bool getStringPropertySlot (ExecState *, PropertyName, PropertySlot &)
 
bool getStringPropertySlot (ExecState *, unsigned propertyName, PropertySlot &)
 
bool getStringPropertyDescriptor (ExecState *, PropertyName, PropertyDescriptor &)
 
bool canGetIndex (unsigned i)
 
JSString * getIndex (ExecState *, unsigned)
 
Identifier toIdentifier (ExecState *) const
 
AtomicString toAtomicString (ExecState *) const
 
RefPtr< AtomicStringImpl > toExistingAtomicString (ExecState *) const
 
StringViewWithUnderlyingString viewWithUnderlyingString (ExecState &) const
 
bool equal (ExecState *, JSString *other) const
 
const String & value (ExecState *) const
 
const String & tryGetValue () const
 
const StringImpl * tryGetValueImpl () const
 
ALWAYS_INLINE unsigned length () const
 
JSValue toPrimitive (ExecState *, PreferredPrimitiveType) const
 
bool toBoolean () const
 
bool getPrimitiveNumber (ExecState *, double &number, JSValue &) const
 
JSObject * toObject (ExecState *, JSGlobalObject *) const
 
double toNumber (ExecState *) const
 
bool getStringPropertySlot (ExecState *, PropertyName, PropertySlot &)
 
bool getStringPropertySlot (ExecState *, unsigned propertyName, PropertySlot &)
 
bool getStringPropertyDescriptor (ExecState *, PropertyName, PropertyDescriptor &)
 
bool canGetIndex (unsigned i)
 
JSString * getIndex (ExecState *, unsigned)
 
- 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
 
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

static void destroy (JSCell *)
 
template<typename >
static Subspace * subspaceFor (VM &vm)
 
static JSString * create (VM &vm, Ref< StringImpl > &&value)
 
static JSString * createHasOtherOwner (VM &vm, Ref< StringImpl > &&value)
 
static ALWAYS_INLINE bool isValidLength (size_t length)
 
static Structure * createStructure (VM &, JSGlobalObject *, JSValue)
 
static size_t offsetOfLength ()
 
static size_t offsetOfFlags ()
 
static size_t offsetOfValue ()
 
static void dumpToStream (const JSCell *, PrintStream &)
 
static size_t estimatedSize (JSCell *)
 
static void visitChildren (JSCell *, SlotVisitor &)
 
static void destroy (JSCell *)
 
template<typename >
static Subspace * subspaceFor (VM &vm)
 
static JSString * create (VM &vm, Ref< StringImpl > &&value)
 
static JSString * createHasOtherOwner (VM &vm, Ref< StringImpl > &&value)
 
static ALWAYS_INLINE bool isValidLength (size_t length)
 
static Structure * createStructure (VM &, JSGlobalObject *, JSValue)
 
static size_t offsetOfLength ()
 
static size_t offsetOfFlags ()
 
static size_t offsetOfValue ()
 
static void dumpToStream (const JSCell *, PrintStream &)
 
static size_t estimatedSize (JSCell *)
 
static void visitChildren (JSCell *, SlotVisitor &)
 
- Static Public Member Functions inherited from JSC::JSCell
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 ()
 

Public Attributes

 DECLARE_EXPORT_INFO
 

Static Public Attributes

static const unsigned StructureFlags = Base::StructureFlags | OverridesGetOwnPropertySlot | InterceptsGetOwnPropertySlotByIndexEvenWhenLengthIsNotZero | StructureIsImmortal | OverridesToThis
 
static const bool needsDestruction = true
 
static const unsigned MaxLength = std::numeric_limits<int32_t>::max()
 
- 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)
 
JS_EXPORT_PRIVATE bool equalSlowCase (ExecState *, JSString *other) const
 
bool isRope () const
 
bool isSubstring () const
 
bool is8Bit () const
 
void setIs8Bit (bool flag) const
 
ALWAYS_INLINE void setLength (unsigned length)
 
void finishCreation (VM &vm)
 
JS_EXPORT_PRIVATE bool equalSlowCase (ExecState *, JSString *other) const
 
bool isRope () const
 
bool isSubstring () const
 
bool is8Bit () const
 
void setIs8Bit (bool flag) const
 
ALWAYS_INLINE void setLength (unsigned length)
 
- 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 JIT
 
class VM
 
class SpecializedThunkJIT
 
class JSRopeString
 
class MarkStack
 
class SlotVisitor
 
struct ThunkHelpers
 
class JSValue
 
class LLIntOffsetsExtractor
 
JSString * jsString (ExecState *, JSString *, JSString *)
 
JSString * jsSubstring (ExecState *, JSString *, unsigned offset, unsigned length)
 
JSString * jsString (ExecState *, JSString *, JSString *)
 
JSString * jsSubstring (ExecState *, JSString *, unsigned offset, unsigned length)
 

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 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 *)
 

Member Typedef Documentation

◆ Base [1/2]

◆ Base [2/2]

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
Is8Bit 

◆ anonymous enum

anonymous enum
Enumerator
Is8Bit 

Member Function Documentation

◆ canGetIndex() [1/2]

bool JSC::JSString::canGetIndex ( unsigned  i)
inline

◆ canGetIndex() [2/2]

bool JSC::JSString::canGetIndex ( unsigned  i)
inline

◆ create() [1/2]

static JSString* JSC::JSString::create ( VM &  vm,
Ref< StringImpl > &&  value 
)
inlinestatic

◆ create() [2/2]

static JSString* JSC::JSString::create ( VM &  vm,
Ref< StringImpl > &&  value 
)
inlinestatic

◆ createHasOtherOwner() [1/2]

static JSString* JSC::JSString::createHasOtherOwner ( VM &  vm,
Ref< StringImpl > &&  value 
)
inlinestatic

◆ createHasOtherOwner() [2/2]

static JSString* JSC::JSString::createHasOtherOwner ( VM &  vm,
Ref< StringImpl > &&  value 
)
inlinestatic

◆ createStructure() [1/2]

static Structure* JSC::JSString::createStructure ( VM &  ,
JSGlobalObject *  ,
JSValue   
)
static

◆ createStructure() [2/2]

Structure * JSC::JSString::createStructure ( VM &  vm,
JSGlobalObject *  globalObject,
JSValue  proto 
)
static

◆ destroy() [1/2]

static void JSC::JSString::destroy ( JSCell *  )
static

◆ destroy() [2/2]

void JSC::JSString::destroy ( JSCell *  cell)
static

◆ dumpToStream() [1/2]

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

◆ dumpToStream() [2/2]

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

◆ equal() [1/2]

bool JSC::JSString::equal ( ExecState *  exec,
JSString *  other 
) const
inline

◆ equal() [2/2]

bool JSC::JSString::equal ( ExecState *  ,
JSString *  other 
) const
inline

◆ equalSlowCase() [1/2]

JS_EXPORT_PRIVATE bool JSC::JSString::equalSlowCase ( ExecState *  ,
JSString *  other 
) const
protected

◆ equalSlowCase() [2/2]

bool JSC::JSString::equalSlowCase ( ExecState *  exec,
JSString *  other 
) const
protected

◆ estimatedSize() [1/2]

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

◆ estimatedSize() [2/2]

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

◆ finishCreation() [1/2]

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

◆ finishCreation() [2/2]

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

◆ getIndex() [1/2]

JSString * JSC::JSString::getIndex ( ExecState *  exec,
unsigned  i 
)
inline

◆ getIndex() [2/2]

JSString* JSC::JSString::getIndex ( ExecState *  ,
unsigned   
)

◆ getPrimitiveNumber() [1/2]

bool JSC::JSString::getPrimitiveNumber ( ExecState *  exec,
double &  number,
JSValue &  result 
) const

◆ getPrimitiveNumber() [2/2]

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

◆ getStringPropertyDescriptor() [1/2]

bool JSC::JSString::getStringPropertyDescriptor ( ExecState *  exec,
PropertyName  propertyName,
PropertyDescriptor &  descriptor 
)

◆ getStringPropertyDescriptor() [2/2]

bool JSC::JSString::getStringPropertyDescriptor ( ExecState *  ,
PropertyName  ,
PropertyDescriptor &   
)

◆ getStringPropertySlot() [1/4]

ALWAYS_INLINE bool JSC::JSString::getStringPropertySlot ( ExecState *  exec,
PropertyName  propertyName,
PropertySlot &  slot 
)

◆ getStringPropertySlot() [2/4]

bool JSC::JSString::getStringPropertySlot ( ExecState *  ,
PropertyName  ,
PropertySlot &   
)

◆ getStringPropertySlot() [3/4]

ALWAYS_INLINE bool JSC::JSString::getStringPropertySlot ( ExecState *  exec,
unsigned  propertyName,
PropertySlot &  slot 
)

◆ getStringPropertySlot() [4/4]

bool JSC::JSString::getStringPropertySlot ( ExecState *  ,
unsigned  propertyName,
PropertySlot &   
)

◆ is8Bit() [1/2]

bool JSC::JSString::is8Bit ( ) const
inlineprotected

◆ is8Bit() [2/2]

bool JSC::JSString::is8Bit ( ) const
inlineprotected

◆ isRope() [1/2]

bool JSC::JSString::isRope ( ) const
inlineprotected

◆ isRope() [2/2]

bool JSC::JSString::isRope ( ) const
inlineprotected

◆ isSubstring() [1/2]

bool JSC::JSString::isSubstring ( ) const
inlineprotected

◆ isSubstring() [2/2]

bool JSC::JSString::isSubstring ( ) const
protected

◆ isValidLength() [1/2]

static ALWAYS_INLINE bool JSC::JSString::isValidLength ( size_t  length)
inlinestatic

◆ isValidLength() [2/2]

static ALWAYS_INLINE bool JSC::JSString::isValidLength ( size_t  length)
inlinestatic

◆ length() [1/2]

ALWAYS_INLINE unsigned JSC::JSString::length ( ) const
inline

◆ length() [2/2]

ALWAYS_INLINE unsigned JSC::JSString::length ( void  ) const
inline

◆ offsetOfFlags() [1/2]

static size_t JSC::JSString::offsetOfFlags ( )
inlinestatic

◆ offsetOfFlags() [2/2]

static size_t JSC::JSString::offsetOfFlags ( )
inlinestatic

◆ offsetOfLength() [1/2]

static size_t JSC::JSString::offsetOfLength ( )
inlinestatic

◆ offsetOfLength() [2/2]

static size_t JSC::JSString::offsetOfLength ( )
inlinestatic

◆ offsetOfValue() [1/2]

static size_t JSC::JSString::offsetOfValue ( )
inlinestatic

◆ offsetOfValue() [2/2]

static size_t JSC::JSString::offsetOfValue ( )
inlinestatic

◆ setIs8Bit() [1/2]

void JSC::JSString::setIs8Bit ( bool  flag) const
inlineprotected

◆ setIs8Bit() [2/2]

void JSC::JSString::setIs8Bit ( bool  flag) const
inlineprotected

◆ setLength() [1/2]

ALWAYS_INLINE void JSC::JSString::setLength ( unsigned  length)
inlineprotected

◆ setLength() [2/2]

ALWAYS_INLINE void JSC::JSString::setLength ( unsigned  length)
inlineprotected

◆ subspaceFor() [1/2]

template<typename >
static Subspace* JSC::JSString::subspaceFor ( VM &  vm)
inlinestatic

◆ subspaceFor() [2/2]

template<typename >
static Subspace* JSC::JSString::subspaceFor ( VM &  vm)
inlinestatic

◆ toAtomicString() [1/2]

AtomicString JSC::JSString::toAtomicString ( ExecState *  ) const

◆ toAtomicString() [2/2]

ALWAYS_INLINE AtomicString JSC::JSString::toAtomicString ( ExecState *  exec) const

◆ toBoolean() [1/2]

bool JSC::JSString::toBoolean ( ) const
inline

◆ toBoolean() [2/2]

bool JSC::JSString::toBoolean ( ) const
inline

◆ toExistingAtomicString() [1/2]

ALWAYS_INLINE RefPtr< AtomicStringImpl > JSC::JSString::toExistingAtomicString ( ExecState *  exec) const

◆ toExistingAtomicString() [2/2]

RefPtr<AtomicStringImpl> JSC::JSString::toExistingAtomicString ( ExecState *  ) const

◆ toIdentifier() [1/2]

Identifier JSC::JSString::toIdentifier ( ExecState *  ) const

◆ toIdentifier() [2/2]

ALWAYS_INLINE Identifier JSC::JSString::toIdentifier ( ExecState *  exec) const

◆ toNumber() [1/2]

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

◆ toNumber() [2/2]

double JSC::JSString::toNumber ( ExecState *  ) const

◆ toObject() [1/2]

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

◆ toObject() [2/2]

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

◆ toPrimitive() [1/2]

JSValue JSC::JSString::toPrimitive ( ExecState *  ,
PreferredPrimitiveType   
) const

◆ toPrimitive() [2/2]

JSValue JSC::JSString::toPrimitive ( ExecState *  ,
PreferredPrimitiveType   
) const

◆ tryGetValue() [1/2]

const String & JSC::JSString::tryGetValue ( ) const
inline

◆ tryGetValue() [2/2]

const String& JSC::JSString::tryGetValue ( ) const

◆ tryGetValueImpl() [1/2]

const StringImpl * JSC::JSString::tryGetValueImpl ( ) const
inline

◆ tryGetValueImpl() [2/2]

const StringImpl* JSC::JSString::tryGetValueImpl ( ) const

◆ value() [1/2]

const String & JSC::JSString::value ( ExecState *  exec) const
inline

◆ value() [2/2]

const String& JSC::JSString::value ( ExecState *  ) const

◆ viewWithUnderlyingString() [1/2]

StringViewWithUnderlyingString JSC::JSString::viewWithUnderlyingString ( ExecState &  ) const

◆ viewWithUnderlyingString() [2/2]

ALWAYS_INLINE StringViewWithUnderlyingString JSC::JSString::viewWithUnderlyingString ( ExecState &  state) const

◆ visitChildren() [1/2]

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

◆ visitChildren() [2/2]

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

Friends And Related Function Documentation

◆ JIT

JIT
friend

◆ JSRopeString

JSRopeString
friend

◆ jsString [1/2]

JSString* jsString ( ExecState *  exec,
JSString *  s1,
JSString *  s2 
)
friend

◆ jsString [2/2]

JSString* jsString ( ExecState *  exec,
JSString *  s1,
JSString *  s2 
)
friend

◆ jsSubstring [1/2]

JSString* jsSubstring ( ExecState *  exec,
JSString *  s,
unsigned  offset,
unsigned  length 
)
friend

◆ jsSubstring [2/2]

JSString* jsSubstring ( ExecState *  exec,
JSString *  s,
unsigned  offset,
unsigned  length 
)
friend

◆ JSValue

JSValue
friend

◆ LLIntOffsetsExtractor

◆ MarkStack

MarkStack
friend

◆ SlotVisitor

SlotVisitor
friend

◆ SpecializedThunkJIT

SpecializedThunkJIT
friend

◆ ThunkHelpers

ThunkHelpers
friend

◆ VM

VM
friend

Member Data Documentation

◆ DECLARE_EXPORT_INFO

JSC::JSString::DECLARE_EXPORT_INFO

◆ MaxLength

static const unsigned JSC::JSString::MaxLength = std::numeric_limits<int32_t>::max()
static

◆ needsDestruction

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

◆ StructureFlags

static const unsigned JSC::JSString::StructureFlags = Base::StructureFlags | OverridesGetOwnPropertySlot | InterceptsGetOwnPropertySlotByIndexEvenWhenLengthIsNotZero | StructureIsImmortal | OverridesToThis
static

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