webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Friends | List of all members
JSC::JSValue Class Reference

#include <JSCJSValue.h>

Public Types

enum  JSNullTag { JSNull, JSNull }
 
enum  JSUndefinedTag { JSUndefined, JSUndefined }
 
enum  JSTrueTag { JSTrue, JSTrue }
 
enum  JSFalseTag { JSFalse, JSFalse }
 
enum  EncodeAsDoubleTag { EncodeAsDouble, EncodeAsDouble }
 
enum  JSNullTag { JSNull, JSNull }
 
enum  JSUndefinedTag { JSUndefined, JSUndefined }
 
enum  JSTrueTag { JSTrue, JSTrue }
 
enum  JSFalseTag { JSFalse, JSFalse }
 
enum  EncodeAsDoubleTag { EncodeAsDouble, EncodeAsDouble }
 

Public Member Functions

 JSValue ()
 
 JSValue (JSNullTag)
 
 JSValue (JSUndefinedTag)
 
 JSValue (JSTrueTag)
 
 JSValue (JSFalseTag)
 
 JSValue (JSCell *ptr)
 
 JSValue (const JSCell *ptr)
 
 JSValue (EncodeAsDoubleTag, double)
 
 JSValue (double)
 
 JSValue (char)
 
 JSValue (unsigned char)
 
 JSValue (short)
 
 JSValue (unsigned short)
 
 JSValue (int)
 
 JSValue (unsigned)
 
 JSValue (long)
 
 JSValue (unsigned long)
 
 JSValue (long long)
 
 JSValue (unsigned long long)
 
 operator bool () const
 
bool operator== (const JSValue &other) const
 
bool operator!= (const JSValue &other) const
 
bool isInt32 () const
 
bool isUInt32 () const
 
bool isDouble () const
 
bool isTrue () const
 
bool isFalse () const
 
int32_t asInt32 () const
 
uint32_t asUInt32 () const
 
int64_t asAnyInt () const
 
double asDouble () const
 
bool asBoolean () const
 
double asNumber () const
 
int32_t asInt32ForArithmetic () const
 
bool isEmpty () const
 
bool isFunction () const
 
bool isFunction (CallType &, CallData &) const
 
bool isCallable (CallType &, CallData &) const
 
bool isConstructor () const
 
bool isConstructor (ConstructType &, ConstructData &) const
 
bool isUndefined () const
 
bool isNull () const
 
bool isUndefinedOrNull () const
 
bool isBoolean () const
 
bool isAnyInt () const
 
bool isNumber () const
 
bool isString () const
 
bool isSymbol () const
 
bool isPrimitive () const
 
bool isGetterSetter () const
 
bool isCustomGetterSetter () const
 
bool isObject () const
 
bool inherits (VM &, const ClassInfo *) const
 
const ClassInfoclassInfoOrNull (VM &) const
 
bool getString (ExecState *, WTF::String &) const
 
WTF::String getString (ExecState *) const
 
JSObjectgetObject () const
 
bool getUInt32 (uint32_t &) const
 
JSValue toPrimitive (ExecState *, PreferredPrimitiveType=NoPreference) const
 
bool getPrimitiveNumber (ExecState *, double &number, JSValue &)
 
bool toBoolean (ExecState *) const
 
TriState pureToBoolean () const
 
double toNumber (ExecState *) const
 
std::optional< double > toNumberFromPrimitive () const
 
JSStringtoString (ExecState *) const
 
JSStringtoStringOrNull (ExecState *) const
 
Identifier toPropertyKey (ExecState *) const
 
WTF::String toWTFString (ExecState *) const
 
JSObjecttoObject (ExecState *) const
 
JSObjecttoObject (ExecState *, JSGlobalObject *) const
 
JS_EXPORT_PRIVATE double toInteger (ExecState *) const
 
JS_EXPORT_PRIVATE double toIntegerPreserveNaN (ExecState *) const
 
int32_t toInt32 (ExecState *) const
 
uint32_t toUInt32 (ExecState *) const
 
uint32_t toIndex (ExecState *, const char *errorName) const
 
double toLength (ExecState *) const
 
float toFloat (ExecState *exec) const
 
JSValue get (ExecState *, PropertyName) const
 
JSValue get (ExecState *, PropertyName, PropertySlot &) const
 
JSValue get (ExecState *, unsigned propertyName) const
 
JSValue get (ExecState *, unsigned propertyName, PropertySlot &) const
 
JSValue get (ExecState *, uint64_t propertyName) const
 
bool getPropertySlot (ExecState *, PropertyName, PropertySlot &) const
 
template<typename CallbackWhenNoException >
std::result_of< CallbackWhenNoException(bool, PropertySlot &)>::type getPropertySlot (ExecState *, PropertyName, CallbackWhenNoException) const
 
template<typename CallbackWhenNoException >
std::result_of< CallbackWhenNoException(bool, PropertySlot &)>::type getPropertySlot (ExecState *, PropertyName, PropertySlot &, CallbackWhenNoException) const
 
bool put (ExecState *, PropertyName, JSValue, PutPropertySlot &)
 
bool putInline (ExecState *, PropertyName, JSValue, PutPropertySlot &)
 
JS_EXPORT_PRIVATE bool putToPrimitive (ExecState *, PropertyName, JSValue, PutPropertySlot &)
 
JS_EXPORT_PRIVATE bool putToPrimitiveByIndex (ExecState *, unsigned propertyName, JSValue, bool shouldThrow)
 
bool putByIndex (ExecState *, unsigned propertyName, JSValue, bool shouldThrow)
 
JSValue toThis (ExecState *, ECMAMode) const
 
bool isCell () const
 
JSCellasCell () const
 
JS_EXPORT_PRIVATE bool isValidCallee ()
 
StructurestructureOrNull () const
 
JSValue structureOrUndefined () const
 
JS_EXPORT_PRIVATE void dump (PrintStream &) const
 
void dumpInContext (PrintStream &, DumpContext *) const
 
void dumpInContextAssumingStructure (PrintStream &, DumpContext *, Structure *) const
 
void dumpForBacktrace (PrintStream &) const
 
JS_EXPORT_PRIVATE JSObjectsynthesizePrototype (ExecState *) const
 
bool requireObjectCoercible (ExecState *) const
 
 JSValue ()
 
 JSValue (JSNullTag)
 
 JSValue (JSUndefinedTag)
 
 JSValue (JSTrueTag)
 
 JSValue (JSFalseTag)
 
 JSValue (JSCell *ptr)
 
 JSValue (const JSCell *ptr)
 
 JSValue (EncodeAsDoubleTag, double)
 
 JSValue (double)
 
 JSValue (char)
 
 JSValue (unsigned char)
 
 JSValue (short)
 
 JSValue (unsigned short)
 
 JSValue (int)
 
 JSValue (unsigned)
 
 JSValue (long)
 
 JSValue (unsigned long)
 
 JSValue (long long)
 
 JSValue (unsigned long long)
 
 operator bool () const
 
bool operator== (const JSValue &other) const
 
bool operator!= (const JSValue &other) const
 
bool isInt32 () const
 
bool isUInt32 () const
 
bool isDouble () const
 
bool isTrue () const
 
bool isFalse () const
 
int32_t asInt32 () const
 
uint32_t asUInt32 () const
 
int64_t asAnyInt () const
 
double asDouble () const
 
bool asBoolean () const
 
double asNumber () const
 
int32_t asInt32ForArithmetic () const
 
bool isEmpty () const
 
bool isFunction () const
 
bool isFunction (CallType &, CallData &) const
 
bool isCallable (CallType &, CallData &) const
 
bool isConstructor () const
 
bool isConstructor (ConstructType &, ConstructData &) const
 
bool isUndefined () const
 
bool isNull () const
 
bool isUndefinedOrNull () const
 
bool isBoolean () const
 
bool isAnyInt () const
 
bool isNumber () const
 
bool isString () const
 
bool isSymbol () const
 
bool isPrimitive () const
 
bool isGetterSetter () const
 
bool isCustomGetterSetter () const
 
bool isObject () const
 
bool inherits (VM &, const ClassInfo *) const
 
const ClassInfoclassInfoOrNull (VM &) const
 
bool getString (ExecState *, WTF::String &) const
 
WTF::String getString (ExecState *) const
 
JSObjectgetObject () const
 
bool getUInt32 (uint32_t &) const
 
JSValue toPrimitive (ExecState *, PreferredPrimitiveType=NoPreference) const
 
bool getPrimitiveNumber (ExecState *, double &number, JSValue &)
 
bool toBoolean (ExecState *) const
 
TriState pureToBoolean () const
 
double toNumber (ExecState *) const
 
std::optional< double > toNumberFromPrimitive () const
 
JSStringtoString (ExecState *) const
 
JSStringtoStringOrNull (ExecState *) const
 
Identifier toPropertyKey (ExecState *) const
 
WTF::String toWTFString (ExecState *) const
 
JSObjecttoObject (ExecState *) const
 
JSObjecttoObject (ExecState *, JSGlobalObject *) const
 
JS_EXPORT_PRIVATE double toInteger (ExecState *) const
 
JS_EXPORT_PRIVATE double toIntegerPreserveNaN (ExecState *) const
 
int32_t toInt32 (ExecState *) const
 
uint32_t toUInt32 (ExecState *) const
 
uint32_t toIndex (ExecState *, const char *errorName) const
 
double toLength (ExecState *) const
 
float toFloat (ExecState *exec) const
 
JSValue get (ExecState *, PropertyName) const
 
JSValue get (ExecState *, PropertyName, PropertySlot &) const
 
JSValue get (ExecState *, unsigned propertyName) const
 
JSValue get (ExecState *, unsigned propertyName, PropertySlot &) const
 
JSValue get (ExecState *, uint64_t propertyName) const
 
bool getPropertySlot (ExecState *, PropertyName, PropertySlot &) const
 
template<typename CallbackWhenNoException >
std::result_of< CallbackWhenNoException(bool, PropertySlot &)>::type getPropertySlot (ExecState *, PropertyName, CallbackWhenNoException) const
 
template<typename CallbackWhenNoException >
std::result_of< CallbackWhenNoException(bool, PropertySlot &)>::type getPropertySlot (ExecState *, PropertyName, PropertySlot &, CallbackWhenNoException) const
 
bool put (ExecState *, PropertyName, JSValue, PutPropertySlot &)
 
bool putInline (ExecState *, PropertyName, JSValue, PutPropertySlot &)
 
JS_EXPORT_PRIVATE bool putToPrimitive (ExecState *, PropertyName, JSValue, PutPropertySlot &)
 
JS_EXPORT_PRIVATE bool putToPrimitiveByIndex (ExecState *, unsigned propertyName, JSValue, bool shouldThrow)
 
bool putByIndex (ExecState *, unsigned propertyName, JSValue, bool shouldThrow)
 
JSValue toThis (ExecState *, ECMAMode) const
 
bool isCell () const
 
JSCellasCell () const
 
JS_EXPORT_PRIVATE bool isValidCallee ()
 
StructurestructureOrNull () const
 
JSValue structureOrUndefined () const
 
JS_EXPORT_PRIVATE void dump (PrintStream &) const
 
void dumpInContext (PrintStream &, DumpContext *) const
 
void dumpInContextAssumingStructure (PrintStream &, DumpContext *, Structure *) const
 
void dumpForBacktrace (PrintStream &) const
 
JS_EXPORT_PRIVATE JSObjectsynthesizePrototype (ExecState *) const
 
bool requireObjectCoercible (ExecState *) const
 
template<typename CallbackWhenNoException >
ALWAYS_INLINE std::result_of< CallbackWhenNoException(bool, PropertySlot &)>::type getPropertySlot (ExecState *exec, PropertyName propertyName, CallbackWhenNoException callback) const
 
template<typename CallbackWhenNoException >
ALWAYS_INLINE std::result_of< CallbackWhenNoException(bool, PropertySlot &)>::type getPropertySlot (ExecState *exec, PropertyName propertyName, PropertySlot &slot, CallbackWhenNoException callback) const
 

Static Public Member Functions

static EncodedJSValue encode (JSValue)
 
static JSValue decode (EncodedJSValue)
 
static bool equal (ExecState *, JSValue v1, JSValue v2)
 
static bool equalSlowCase (ExecState *, JSValue v1, JSValue v2)
 
static bool equalSlowCaseInline (ExecState *, JSValue v1, JSValue v2)
 
static bool strictEqual (ExecState *, JSValue v1, JSValue v2)
 
static bool strictEqualSlowCase (ExecState *, JSValue v1, JSValue v2)
 
static bool strictEqualSlowCaseInline (ExecState *, JSValue v1, JSValue v2)
 
static TriState pureStrictEqual (JSValue v1, JSValue v2)
 
static ptrdiff_t offsetOfPayload ()
 
static ptrdiff_t offsetOfTag ()
 
static EncodedJSValue encode (JSValue)
 
static JSValue decode (EncodedJSValue)
 
static bool equal (ExecState *, JSValue v1, JSValue v2)
 
static bool equalSlowCase (ExecState *, JSValue v1, JSValue v2)
 
static bool equalSlowCaseInline (ExecState *, JSValue v1, JSValue v2)
 
static bool strictEqual (ExecState *, JSValue v1, JSValue v2)
 
static bool strictEqualSlowCase (ExecState *, JSValue v1, JSValue v2)
 
static bool strictEqualSlowCaseInline (ExecState *, JSValue v1, JSValue v2)
 
static TriState pureStrictEqual (JSValue v1, JSValue v2)
 
static ptrdiff_t offsetOfPayload ()
 
static ptrdiff_t offsetOfTag ()
 

Static Public Attributes

static constexpr const unsigned numberOfInt52Bits = 52
 
static constexpr const int64_t notInt52 = static_cast<int64_t>(1) << numberOfInt52Bits
 
static constexpr const unsigned int52ShiftAmount = 12
 

Friends

struct EncodedJSValueHashTraits
 
struct EncodedJSValueWithRepresentationHashTraits
 
class AssemblyHelpers
 
class JIT
 
class JITSlowPathCall
 
class JITStubs
 
class JITStubCall
 
class JSInterfaceJIT
 
class JSValueSource
 
class SpecializedThunkJIT
 
class LLInt::CLoop
 

Member Enumeration Documentation

◆ EncodeAsDoubleTag [1/2]

Enumerator
EncodeAsDouble 
EncodeAsDouble 

◆ EncodeAsDoubleTag [2/2]

Enumerator
EncodeAsDouble 
EncodeAsDouble 

◆ JSFalseTag [1/2]

Enumerator
JSFalse 
JSFalse 

◆ JSFalseTag [2/2]

Enumerator
JSFalse 
JSFalse 

◆ JSNullTag [1/2]

Enumerator
JSNull 
JSNull 

◆ JSNullTag [2/2]

Enumerator
JSNull 
JSNull 

◆ JSTrueTag [1/2]

Enumerator
JSTrue 
JSTrue 

◆ JSTrueTag [2/2]

Enumerator
JSTrue 
JSTrue 

◆ JSUndefinedTag [1/2]

Enumerator
JSUndefined 
JSUndefined 

◆ JSUndefinedTag [2/2]

Enumerator
JSUndefined 
JSUndefined 

Constructor & Destructor Documentation

◆ JSValue() [1/38]

JSC::JSValue::JSValue ( )
inline

◆ JSValue() [2/38]

JSC::JSValue::JSValue ( JSNullTag  )
inline

◆ JSValue() [3/38]

JSC::JSValue::JSValue ( JSUndefinedTag  )
inline

◆ JSValue() [4/38]

JSC::JSValue::JSValue ( JSTrueTag  )
inline

◆ JSValue() [5/38]

JSC::JSValue::JSValue ( JSFalseTag  )
inline

◆ JSValue() [6/38]

JSC::JSValue::JSValue ( JSCell ptr)
inline

◆ JSValue() [7/38]

JSC::JSValue::JSValue ( const JSCell ptr)
inline

◆ JSValue() [8/38]

ALWAYS_INLINE JSC::JSValue::JSValue ( EncodeAsDoubleTag  ,
double  d 
)

◆ JSValue() [9/38]

JSC::JSValue::JSValue ( double  d)
inlineexplicit

◆ JSValue() [10/38]

JSC::JSValue::JSValue ( char  i)
inlineexplicit

◆ JSValue() [11/38]

JSC::JSValue::JSValue ( unsigned char  i)
inlineexplicit

◆ JSValue() [12/38]

JSC::JSValue::JSValue ( short  i)
inlineexplicit

◆ JSValue() [13/38]

JSC::JSValue::JSValue ( unsigned short  i)
inlineexplicit

◆ JSValue() [14/38]

JSC::JSValue::JSValue ( int  i)
inlineexplicit

◆ JSValue() [15/38]

JSC::JSValue::JSValue ( unsigned  i)
inlineexplicit

◆ JSValue() [16/38]

JSC::JSValue::JSValue ( long  i)
inlineexplicit

◆ JSValue() [17/38]

JSC::JSValue::JSValue ( unsigned long  i)
inlineexplicit

◆ JSValue() [18/38]

JSC::JSValue::JSValue ( long long  i)
inlineexplicit

◆ JSValue() [19/38]

JSC::JSValue::JSValue ( unsigned long long  i)
inlineexplicit

◆ JSValue() [20/38]

JSC::JSValue::JSValue ( )

◆ JSValue() [21/38]

JSC::JSValue::JSValue ( JSNullTag  )

◆ JSValue() [22/38]

JSC::JSValue::JSValue ( JSUndefinedTag  )

◆ JSValue() [23/38]

JSC::JSValue::JSValue ( JSTrueTag  )

◆ JSValue() [24/38]

JSC::JSValue::JSValue ( JSFalseTag  )

◆ JSValue() [25/38]

JSC::JSValue::JSValue ( JSCell ptr)

◆ JSValue() [26/38]

JSC::JSValue::JSValue ( const JSCell ptr)

◆ JSValue() [27/38]

JSC::JSValue::JSValue ( EncodeAsDoubleTag  ,
double   
)

◆ JSValue() [28/38]

JSC::JSValue::JSValue ( double  )
explicit

◆ JSValue() [29/38]

JSC::JSValue::JSValue ( char  )
explicit

◆ JSValue() [30/38]

JSC::JSValue::JSValue ( unsigned  char)
explicit

◆ JSValue() [31/38]

JSC::JSValue::JSValue ( short  )
explicit

◆ JSValue() [32/38]

JSC::JSValue::JSValue ( unsigned  short)
explicit

◆ JSValue() [33/38]

JSC::JSValue::JSValue ( int  )
explicit

◆ JSValue() [34/38]

JSC::JSValue::JSValue ( unsigned  )
explicit

◆ JSValue() [35/38]

JSC::JSValue::JSValue ( long  )
explicit

◆ JSValue() [36/38]

JSC::JSValue::JSValue ( unsigned  long)
explicit

◆ JSValue() [37/38]

JSC::JSValue::JSValue ( long  long)
explicit

◆ JSValue() [38/38]

JSC::JSValue::JSValue ( unsigned long  long)
explicit

Member Function Documentation

◆ asAnyInt() [1/2]

int64_t JSC::JSValue::asAnyInt ( ) const
inline

◆ asAnyInt() [2/2]

int64_t JSC::JSValue::asAnyInt ( ) const

◆ asBoolean() [1/2]

bool JSC::JSValue::asBoolean ( ) const
inline

◆ asBoolean() [2/2]

bool JSC::JSValue::asBoolean ( ) const

◆ asCell() [1/2]

ALWAYS_INLINE JSCell * JSC::JSValue::asCell ( ) const

◆ asCell() [2/2]

JSCell* JSC::JSValue::asCell ( ) const

◆ asDouble() [1/2]

double JSC::JSValue::asDouble ( ) const

◆ asDouble() [2/2]

double JSC::JSValue::asDouble ( ) const
inline

◆ asInt32() [1/2]

int32_t JSC::JSValue::asInt32 ( ) const

◆ asInt32() [2/2]

int32_t JSC::JSValue::asInt32 ( ) const
inline

◆ asInt32ForArithmetic() [1/2]

int32_t JSC::JSValue::asInt32ForArithmetic ( ) const
inline

◆ asInt32ForArithmetic() [2/2]

int32_t JSC::JSValue::asInt32ForArithmetic ( ) const

◆ asNumber() [1/2]

double JSC::JSValue::asNumber ( ) const
inline

◆ asNumber() [2/2]

double JSC::JSValue::asNumber ( ) const

◆ asUInt32() [1/2]

uint32_t JSC::JSValue::asUInt32 ( ) const
inline

◆ asUInt32() [2/2]

uint32_t JSC::JSValue::asUInt32 ( ) const

◆ classInfoOrNull() [1/2]

const ClassInfo* JSC::JSValue::classInfoOrNull ( VM ) const

◆ classInfoOrNull() [2/2]

const ClassInfo * JSC::JSValue::classInfoOrNull ( VM vm) const
inline

◆ decode() [1/2]

JSValue JSC::JSValue::decode ( EncodedJSValue  encodedJSValue)
inlinestatic

◆ decode() [2/2]

static JSValue JSC::JSValue::decode ( EncodedJSValue  )
static

◆ dump() [1/2]

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

◆ dump() [2/2]

JS_EXPORT_PRIVATE void JSC::JSValue::dump ( PrintStream &  ) const

◆ dumpForBacktrace() [1/2]

void JSC::JSValue::dumpForBacktrace ( PrintStream &  out) const

◆ dumpForBacktrace() [2/2]

void JSC::JSValue::dumpForBacktrace ( PrintStream &  ) const

◆ dumpInContext() [1/2]

void JSC::JSValue::dumpInContext ( PrintStream &  out,
DumpContext context 
) const

◆ dumpInContext() [2/2]

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

◆ dumpInContextAssumingStructure() [1/2]

void JSC::JSValue::dumpInContextAssumingStructure ( PrintStream &  out,
DumpContext context,
Structure structure 
) const

◆ dumpInContextAssumingStructure() [2/2]

void JSC::JSValue::dumpInContextAssumingStructure ( PrintStream &  ,
DumpContext ,
Structure  
) const

◆ encode() [1/2]

EncodedJSValue JSC::JSValue::encode ( JSValue  value)
inlinestatic

◆ encode() [2/2]

static EncodedJSValue JSC::JSValue::encode ( JSValue  )
static

◆ equal() [1/2]

bool JSC::JSValue::equal ( ExecState exec,
JSValue  v1,
JSValue  v2 
)
inlinestatic

◆ equal() [2/2]

static bool JSC::JSValue::equal ( ExecState ,
JSValue  v1,
JSValue  v2 
)
static

◆ equalSlowCase() [1/2]

bool JSC::JSValue::equalSlowCase ( ExecState exec,
JSValue  v1,
JSValue  v2 
)
static

◆ equalSlowCase() [2/2]

static bool JSC::JSValue::equalSlowCase ( ExecState ,
JSValue  v1,
JSValue  v2 
)
static

◆ equalSlowCaseInline() [1/2]

ALWAYS_INLINE bool JSC::JSValue::equalSlowCaseInline ( ExecState exec,
JSValue  v1,
JSValue  v2 
)
static

◆ equalSlowCaseInline() [2/2]

static bool JSC::JSValue::equalSlowCaseInline ( ExecState ,
JSValue  v1,
JSValue  v2 
)
static

◆ get() [1/10]

JSValue JSC::JSValue::get ( ExecState ,
PropertyName   
) const

◆ get() [2/10]

ALWAYS_INLINE JSValue JSC::JSValue::get ( ExecState exec,
PropertyName  propertyName 
) const

◆ get() [3/10]

JSValue JSC::JSValue::get ( ExecState ,
PropertyName  ,
PropertySlot  
) const

◆ get() [4/10]

ALWAYS_INLINE JSValue JSC::JSValue::get ( ExecState exec,
PropertyName  propertyName,
PropertySlot slot 
) const

◆ get() [5/10]

JSValue JSC::JSValue::get ( ExecState ,
unsigned  propertyName 
) const

◆ get() [6/10]

ALWAYS_INLINE JSValue JSC::JSValue::get ( ExecState exec,
unsigned  propertyName 
) const

◆ get() [7/10]

ALWAYS_INLINE JSValue JSC::JSValue::get ( ExecState exec,
unsigned  propertyName,
PropertySlot slot 
) const

◆ get() [8/10]

JSValue JSC::JSValue::get ( ExecState ,
unsigned  propertyName,
PropertySlot  
) const

◆ get() [9/10]

ALWAYS_INLINE JSValue JSC::JSValue::get ( ExecState exec,
uint64_t  propertyName 
) const

◆ get() [10/10]

JSValue JSC::JSValue::get ( ExecState ,
uint64_t  propertyName 
) const

◆ getObject() [1/2]

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

◆ getObject() [2/2]

JSObject * JSC::JSValue::getObject ( ) const
inline

◆ getPrimitiveNumber() [1/2]

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

◆ getPrimitiveNumber() [2/2]

bool JSC::JSValue::getPrimitiveNumber ( ExecState exec,
double &  number,
JSValue value 
)
inline

◆ getPropertySlot() [1/8]

ALWAYS_INLINE bool JSC::JSValue::getPropertySlot ( ExecState exec,
PropertyName  propertyName,
PropertySlot slot 
) const

◆ getPropertySlot() [2/8]

bool JSC::JSValue::getPropertySlot ( ExecState ,
PropertyName  ,
PropertySlot  
) const

◆ getPropertySlot() [3/8]

template<typename CallbackWhenNoException >
std::result_of<CallbackWhenNoException(bool, PropertySlot&)>::type JSC::JSValue::getPropertySlot ( ExecState ,
PropertyName  ,
CallbackWhenNoException   
) const

◆ getPropertySlot() [4/8]

template<typename CallbackWhenNoException >
std::result_of<CallbackWhenNoException(bool, PropertySlot&)>::type JSC::JSValue::getPropertySlot ( ExecState ,
PropertyName  ,
CallbackWhenNoException   
) const

◆ getPropertySlot() [5/8]

template<typename CallbackWhenNoException >
std::result_of<CallbackWhenNoException(bool, PropertySlot&)>::type JSC::JSValue::getPropertySlot ( ExecState ,
PropertyName  ,
PropertySlot ,
CallbackWhenNoException   
) const

◆ getPropertySlot() [6/8]

template<typename CallbackWhenNoException >
std::result_of<CallbackWhenNoException(bool, PropertySlot&)>::type JSC::JSValue::getPropertySlot ( ExecState ,
PropertyName  ,
PropertySlot ,
CallbackWhenNoException   
) const

◆ getPropertySlot() [7/8]

template<typename CallbackWhenNoException >
ALWAYS_INLINE std::result_of< CallbackWhenNoException(bool, PropertySlot &)>::type JSC::JSValue::getPropertySlot ( ExecState exec,
PropertyName  propertyName,
CallbackWhenNoException  callback 
) const

◆ getPropertySlot() [8/8]

template<typename CallbackWhenNoException >
ALWAYS_INLINE std::result_of< CallbackWhenNoException(bool, PropertySlot &)>::type JSC::JSValue::getPropertySlot ( ExecState exec,
PropertyName  propertyName,
PropertySlot slot,
CallbackWhenNoException  callback 
) const

◆ getString() [1/4]

bool JSC::JSValue::getString ( ExecState ,
WTF::String  
) const

◆ getString() [2/4]

bool JSC::JSValue::getString ( ExecState ,
WTF::String  
) const

◆ getString() [3/4]

WTF::String JSC::JSValue::getString ( ExecState ) const

◆ getString() [4/4]

String JSC::JSValue::getString ( ExecState exec) const
inline

◆ getUInt32() [1/2]

bool JSC::JSValue::getUInt32 ( uint32_t ) const

◆ getUInt32() [2/2]

ALWAYS_INLINE bool JSC::JSValue::getUInt32 ( uint32_t v) const

◆ inherits() [1/2]

bool JSC::JSValue::inherits ( VM ,
const ClassInfo  
) const

◆ inherits() [2/2]

bool JSC::JSValue::inherits ( VM vm,
const ClassInfo classInfo 
) const
inline

◆ isAnyInt() [1/2]

bool JSC::JSValue::isAnyInt ( ) const
inline

◆ isAnyInt() [2/2]

bool JSC::JSValue::isAnyInt ( ) const

◆ isBoolean() [1/2]

bool JSC::JSValue::isBoolean ( ) const
inline

◆ isBoolean() [2/2]

bool JSC::JSValue::isBoolean ( ) const

◆ isCallable() [1/2]

bool JSC::JSValue::isCallable ( CallType callType,
CallData callData 
) const
inline

◆ isCallable() [2/2]

bool JSC::JSValue::isCallable ( CallType ,
CallData  
) const

◆ isCell() [1/2]

bool JSC::JSValue::isCell ( ) const
inline

◆ isCell() [2/2]

bool JSC::JSValue::isCell ( ) const

◆ isConstructor() [1/4]

bool JSC::JSValue::isConstructor ( ) const
inline

◆ isConstructor() [2/4]

bool JSC::JSValue::isConstructor ( ) const

◆ isConstructor() [3/4]

bool JSC::JSValue::isConstructor ( ConstructType constructType,
ConstructData constructData 
) const
inline

◆ isConstructor() [4/4]

bool JSC::JSValue::isConstructor ( ConstructType ,
ConstructData  
) const

◆ isCustomGetterSetter() [1/2]

bool JSC::JSValue::isCustomGetterSetter ( ) const

◆ isCustomGetterSetter() [2/2]

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

◆ isDouble() [1/2]

bool JSC::JSValue::isDouble ( ) const
inline

◆ isDouble() [2/2]

bool JSC::JSValue::isDouble ( ) const

◆ isEmpty() [1/2]

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

◆ isEmpty() [2/2]

bool JSC::JSValue::isEmpty ( ) const

◆ isFalse() [1/2]

bool JSC::JSValue::isFalse ( ) const
inline

◆ isFalse() [2/2]

bool JSC::JSValue::isFalse ( ) const

◆ isFunction() [1/4]

bool JSC::JSValue::isFunction ( ) const
inline

◆ isFunction() [2/4]

bool JSC::JSValue::isFunction ( ) const

◆ isFunction() [3/4]

bool JSC::JSValue::isFunction ( CallType callType,
CallData callData 
) const
inline

◆ isFunction() [4/4]

bool JSC::JSValue::isFunction ( CallType ,
CallData  
) const

◆ isGetterSetter() [1/2]

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

◆ isGetterSetter() [2/2]

bool JSC::JSValue::isGetterSetter ( ) const

◆ isInt32() [1/2]

bool JSC::JSValue::isInt32 ( ) const

◆ isInt32() [2/2]

bool JSC::JSValue::isInt32 ( ) const
inline

◆ isNull() [1/2]

bool JSC::JSValue::isNull ( ) const
inline

◆ isNull() [2/2]

bool JSC::JSValue::isNull ( ) const

◆ isNumber() [1/2]

bool JSC::JSValue::isNumber ( ) const
inline

◆ isNumber() [2/2]

bool JSC::JSValue::isNumber ( ) const

◆ isObject() [1/2]

bool JSC::JSValue::isObject ( ) const

◆ isObject() [2/2]

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

◆ isPrimitive() [1/2]

bool JSC::JSValue::isPrimitive ( ) const
inline

◆ isPrimitive() [2/2]

bool JSC::JSValue::isPrimitive ( ) const

◆ isString() [1/2]

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

◆ isString() [2/2]

bool JSC::JSValue::isString ( ) const

◆ isSymbol() [1/2]

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

◆ isSymbol() [2/2]

bool JSC::JSValue::isSymbol ( ) const

◆ isTrue() [1/2]

bool JSC::JSValue::isTrue ( ) const
inline

◆ isTrue() [2/2]

bool JSC::JSValue::isTrue ( ) const

◆ isUInt32() [1/2]

bool JSC::JSValue::isUInt32 ( ) const

◆ isUInt32() [2/2]

bool JSC::JSValue::isUInt32 ( ) const
inline

◆ isUndefined() [1/2]

bool JSC::JSValue::isUndefined ( ) const
inline

◆ isUndefined() [2/2]

bool JSC::JSValue::isUndefined ( ) const

◆ isUndefinedOrNull() [1/2]

bool JSC::JSValue::isUndefinedOrNull ( ) const
inline

◆ isUndefinedOrNull() [2/2]

bool JSC::JSValue::isUndefinedOrNull ( ) const

◆ isValidCallee() [1/2]

bool JSC::JSValue::isValidCallee ( )

◆ isValidCallee() [2/2]

JS_EXPORT_PRIVATE bool JSC::JSValue::isValidCallee ( )

◆ offsetOfPayload() [1/2]

static ptrdiff_t JSC::JSValue::offsetOfPayload ( )
inlinestatic

◆ offsetOfPayload() [2/2]

static ptrdiff_t JSC::JSValue::offsetOfPayload ( )
inlinestatic

◆ offsetOfTag() [1/2]

static ptrdiff_t JSC::JSValue::offsetOfTag ( )
inlinestatic

◆ offsetOfTag() [2/2]

static ptrdiff_t JSC::JSValue::offsetOfTag ( )
inlinestatic

◆ operator bool() [1/2]

JSC::JSValue::operator bool ( ) const
inlineexplicit

◆ operator bool() [2/2]

JSC::JSValue::operator bool ( ) const
explicit

◆ operator!=() [1/2]

bool JSC::JSValue::operator!= ( const JSValue other) const
inline

◆ operator!=() [2/2]

bool JSC::JSValue::operator!= ( const JSValue other) const

◆ operator==() [1/2]

bool JSC::JSValue::operator== ( const JSValue other) const
inline

◆ operator==() [2/2]

bool JSC::JSValue::operator== ( const JSValue other) const

◆ pureStrictEqual() [1/2]

static TriState JSC::JSValue::pureStrictEqual ( JSValue  v1,
JSValue  v2 
)
static

◆ pureStrictEqual() [2/2]

TriState JSC::JSValue::pureStrictEqual ( JSValue  v1,
JSValue  v2 
)
inlinestatic

◆ pureToBoolean() [1/2]

TriState JSC::JSValue::pureToBoolean ( ) const

◆ pureToBoolean() [2/2]

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

◆ put() [1/2]

bool JSC::JSValue::put ( ExecState exec,
PropertyName  propertyName,
JSValue  value,
PutPropertySlot slot 
)
inline

◆ put() [2/2]

bool JSC::JSValue::put ( ExecState ,
PropertyName  ,
JSValue  ,
PutPropertySlot  
)

◆ putByIndex() [1/2]

bool JSC::JSValue::putByIndex ( ExecState exec,
unsigned  propertyName,
JSValue  value,
bool  shouldThrow 
)
inline

◆ putByIndex() [2/2]

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

◆ putInline() [1/2]

ALWAYS_INLINE bool JSC::JSValue::putInline ( ExecState exec,
PropertyName  propertyName,
JSValue  value,
PutPropertySlot slot 
)

◆ putInline() [2/2]

bool JSC::JSValue::putInline ( ExecState ,
PropertyName  ,
JSValue  ,
PutPropertySlot  
)

◆ putToPrimitive() [1/2]

JS_EXPORT_PRIVATE bool JSC::JSValue::putToPrimitive ( ExecState ,
PropertyName  ,
JSValue  ,
PutPropertySlot  
)

◆ putToPrimitive() [2/2]

bool JSC::JSValue::putToPrimitive ( ExecState exec,
PropertyName  propertyName,
JSValue  value,
PutPropertySlot slot 
)

◆ putToPrimitiveByIndex() [1/2]

bool JSC::JSValue::putToPrimitiveByIndex ( ExecState exec,
unsigned  propertyName,
JSValue  value,
bool  shouldThrow 
)

◆ putToPrimitiveByIndex() [2/2]

JS_EXPORT_PRIVATE bool JSC::JSValue::putToPrimitiveByIndex ( ExecState ,
unsigned  propertyName,
JSValue  ,
bool  shouldThrow 
)

◆ requireObjectCoercible() [1/2]

ALWAYS_INLINE bool JSC::JSValue::requireObjectCoercible ( ExecState exec) const

◆ requireObjectCoercible() [2/2]

bool JSC::JSValue::requireObjectCoercible ( ExecState ) const

◆ strictEqual() [1/2]

bool JSC::JSValue::strictEqual ( ExecState exec,
JSValue  v1,
JSValue  v2 
)
inlinestatic

◆ strictEqual() [2/2]

static bool JSC::JSValue::strictEqual ( ExecState ,
JSValue  v1,
JSValue  v2 
)
static

◆ strictEqualSlowCase() [1/2]

bool JSC::JSValue::strictEqualSlowCase ( ExecState exec,
JSValue  v1,
JSValue  v2 
)
static

◆ strictEqualSlowCase() [2/2]

static bool JSC::JSValue::strictEqualSlowCase ( ExecState ,
JSValue  v1,
JSValue  v2 
)
static

◆ strictEqualSlowCaseInline() [1/2]

static bool JSC::JSValue::strictEqualSlowCaseInline ( ExecState ,
JSValue  v1,
JSValue  v2 
)
static

◆ strictEqualSlowCaseInline() [2/2]

ALWAYS_INLINE bool JSC::JSValue::strictEqualSlowCaseInline ( ExecState exec,
JSValue  v1,
JSValue  v2 
)
static

◆ structureOrNull() [1/2]

Structure* JSC::JSValue::structureOrNull ( ) const

◆ structureOrNull() [2/2]

Structure * JSC::JSValue::structureOrNull ( ) const
inline

◆ structureOrUndefined() [1/2]

JSValue JSC::JSValue::structureOrUndefined ( ) const
inline

◆ structureOrUndefined() [2/2]

JSValue JSC::JSValue::structureOrUndefined ( ) const

◆ synthesizePrototype() [1/2]

JS_EXPORT_PRIVATE JSObject* JSC::JSValue::synthesizePrototype ( ExecState ) const

◆ synthesizePrototype() [2/2]

JSObject * JSC::JSValue::synthesizePrototype ( ExecState exec) const

◆ toBoolean() [1/2]

bool JSC::JSValue::toBoolean ( ExecState exec) const
inline

◆ toBoolean() [2/2]

bool JSC::JSValue::toBoolean ( ExecState ) const

◆ toFloat() [1/2]

float JSC::JSValue::toFloat ( ExecState exec) const
inline

◆ toFloat() [2/2]

float JSC::JSValue::toFloat ( ExecState exec) const
inline

◆ toIndex() [1/2]

uint32_t JSC::JSValue::toIndex ( ExecState ,
const char *  errorName 
) const

◆ toIndex() [2/2]

uint32_t JSC::JSValue::toIndex ( ExecState exec,
const char *  errorName 
) const
inline

◆ toInt32() [1/2]

int32_t JSC::JSValue::toInt32 ( ExecState ) const

◆ toInt32() [2/2]

ALWAYS_INLINE int32_t JSC::JSValue::toInt32 ( ExecState exec) const

◆ toInteger() [1/2]

JS_EXPORT_PRIVATE double JSC::JSValue::toInteger ( ExecState ) const

◆ toInteger() [2/2]

double JSC::JSValue::toInteger ( ExecState exec) const

◆ toIntegerPreserveNaN() [1/2]

JS_EXPORT_PRIVATE double JSC::JSValue::toIntegerPreserveNaN ( ExecState ) const

◆ toIntegerPreserveNaN() [2/2]

double JSC::JSValue::toIntegerPreserveNaN ( ExecState exec) const

◆ toLength() [1/2]

double JSC::JSValue::toLength ( ExecState ) const

◆ toLength() [2/2]

double JSC::JSValue::toLength ( ExecState exec) const

◆ toNumber() [1/2]

double JSC::JSValue::toNumber ( ExecState ) const

◆ toNumber() [2/2]

ALWAYS_INLINE double JSC::JSValue::toNumber ( ExecState exec) const

◆ toNumberFromPrimitive() [1/2]

std::optional< double > JSC::JSValue::toNumberFromPrimitive ( ) const

◆ toNumberFromPrimitive() [2/2]

std::optional<double> JSC::JSValue::toNumberFromPrimitive ( ) const

◆ toObject() [1/4]

JSObject * JSC::JSValue::toObject ( ExecState exec) const
inline

◆ toObject() [2/4]

JSObject* JSC::JSValue::toObject ( ExecState ) const

◆ toObject() [3/4]

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

◆ toObject() [4/4]

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

◆ toPrimitive() [1/2]

JSValue JSC::JSValue::toPrimitive ( ExecState exec,
PreferredPrimitiveType  preferredType = NoPreference 
) const
inline

◆ toPrimitive() [2/2]

JSValue JSC::JSValue::toPrimitive ( ExecState ,
PreferredPrimitiveType  = NoPreference 
) const

◆ toPropertyKey() [1/2]

Identifier JSC::JSValue::toPropertyKey ( ExecState ) const

◆ toPropertyKey() [2/2]

ALWAYS_INLINE Identifier JSC::JSValue::toPropertyKey ( ExecState exec) const

◆ toString() [1/2]

JSString* JSC::JSValue::toString ( ExecState ) const

◆ toString() [2/2]

JSString * JSC::JSValue::toString ( ExecState exec) const
inline

◆ toStringOrNull() [1/2]

JSString * JSC::JSValue::toStringOrNull ( ExecState exec) const
inline

◆ toStringOrNull() [2/2]

JSString* JSC::JSValue::toStringOrNull ( ExecState ) const

◆ toThis() [1/2]

JSValue JSC::JSValue::toThis ( ExecState ,
ECMAMode   
) const

◆ toThis() [2/2]

JSValue JSC::JSValue::toThis ( ExecState exec,
ECMAMode  ecmaMode 
) const
inline

◆ toUInt32() [1/2]

uint32_t JSC::JSValue::toUInt32 ( ExecState exec) const
inline

◆ toUInt32() [2/2]

uint32_t JSC::JSValue::toUInt32 ( ExecState ) const

◆ toWTFString() [1/2]

WTF::String JSC::JSValue::toWTFString ( ExecState ) const

◆ toWTFString() [2/2]

String JSC::JSValue::toWTFString ( ExecState exec) const
inline

Friends And Related Function Documentation

◆ AssemblyHelpers

AssemblyHelpers
friend

◆ EncodedJSValueHashTraits

◆ EncodedJSValueWithRepresentationHashTraits

◆ JIT

JIT
friend

◆ JITSlowPathCall

JITSlowPathCall
friend

◆ JITStubCall

JITStubCall
friend

◆ JITStubs

JITStubs
friend

◆ JSInterfaceJIT

JSInterfaceJIT
friend

◆ JSValueSource

JSValueSource
friend

◆ LLInt::CLoop

LLInt::CLoop
friend

◆ SpecializedThunkJIT

SpecializedThunkJIT
friend

Member Data Documentation

◆ int52ShiftAmount

static constexpr const unsigned JSC::JSValue::int52ShiftAmount = 12
static

◆ notInt52

static constexpr const int64_t JSC::JSValue::notInt52 = static_cast<int64_t>(1) << numberOfInt52Bits
static

◆ numberOfInt52Bits

static constexpr const unsigned JSC::JSValue::numberOfInt52Bits = 52
static

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