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

#include <PropertyCondition.h>

Public Types

enum  Kind {
  Presence, Absence, AbsenceOfSetter, Equivalence,
  Presence, Absence, AbsenceOfSetter, Equivalence
}
 
enum  WatchabilityEffort { MakeNoChanges, EnsureWatchability, MakeNoChanges, EnsureWatchability }
 
enum  Kind {
  Presence, Absence, AbsenceOfSetter, Equivalence,
  Presence, Absence, AbsenceOfSetter, Equivalence
}
 
enum  WatchabilityEffort { MakeNoChanges, EnsureWatchability, MakeNoChanges, EnsureWatchability }
 

Public Member Functions

 PropertyCondition ()
 
 PropertyCondition (WTF::HashTableDeletedValueType)
 
 operator bool () const
 
Kind kind () const
 
UniquedStringImpl * uid () const
 
bool hasOffset () const
 
PropertyOffset offset () const
 
bool hasAttributes () const
 
unsigned attributes () const
 
bool hasPrototype () const
 
JSObjectprototype () const
 
bool hasRequiredValue () const
 
JSValue requiredValue () const
 
void dumpInContext (PrintStream &, DumpContext *) const
 
void dump (PrintStream &) const
 
unsigned hash () const
 
bool operator== (const PropertyCondition &other) const
 
bool isHashTableDeletedValue () const
 
bool isCompatibleWith (const PropertyCondition &other) const
 
bool isStillValidAssumingImpurePropertyWatchpoint (Structure *, JSObject *base=nullptr) const
 
bool validityRequiresImpurePropertyWatchpoint (Structure *) const
 
bool isStillValid (Structure *, JSObject *base=nullptr) const
 
bool isWatchableAssumingImpurePropertyWatchpoint (Structure *, JSObject *base=nullptr, WatchabilityEffort=MakeNoChanges) const
 
bool isWatchable (Structure *, JSObject *base=nullptr, WatchabilityEffort=MakeNoChanges) const
 
bool watchingRequiresStructureTransitionWatchpoint () const
 
bool watchingRequiresReplacementWatchpoint () const
 
bool isStillLive () const
 
void validateReferences (const TrackedReferences &) const
 
bool isValidValueForPresence (VM &, JSValue) const
 
PropertyCondition attemptToMakeEquivalenceWithoutBarrier (VM &, JSObject *base) const
 
 PropertyCondition ()
 
 PropertyCondition (WTF::HashTableDeletedValueType)
 
 operator bool () const
 
Kind kind () const
 
UniquedStringImpl * uid () const
 
bool hasOffset () const
 
PropertyOffset offset () const
 
bool hasAttributes () const
 
unsigned attributes () const
 
bool hasPrototype () const
 
JSObjectprototype () const
 
bool hasRequiredValue () const
 
JSValue requiredValue () const
 
void dumpInContext (PrintStream &, DumpContext *) const
 
void dump (PrintStream &) const
 
unsigned hash () const
 
bool operator== (const PropertyCondition &other) const
 
bool isHashTableDeletedValue () const
 
bool isCompatibleWith (const PropertyCondition &other) const
 
bool isStillValidAssumingImpurePropertyWatchpoint (Structure *, JSObject *base=nullptr) const
 
bool validityRequiresImpurePropertyWatchpoint (Structure *) const
 
bool isStillValid (Structure *, JSObject *base=nullptr) const
 
bool isWatchableAssumingImpurePropertyWatchpoint (Structure *, JSObject *base=nullptr, WatchabilityEffort=MakeNoChanges) const
 
bool isWatchable (Structure *, JSObject *base=nullptr, WatchabilityEffort=MakeNoChanges) const
 
bool watchingRequiresStructureTransitionWatchpoint () const
 
bool watchingRequiresReplacementWatchpoint () const
 
bool isStillLive () const
 
void validateReferences (const TrackedReferences &) const
 
bool isValidValueForPresence (VM &, JSValue) const
 
PropertyCondition attemptToMakeEquivalenceWithoutBarrier (VM &, JSObject *base) const
 

Static Public Member Functions

static PropertyCondition presenceWithoutBarrier (UniquedStringImpl *uid, PropertyOffset offset, unsigned attributes)
 
static PropertyCondition presence (VM &, JSCell *, UniquedStringImpl *uid, PropertyOffset offset, unsigned attributes)
 
static PropertyCondition absenceWithoutBarrier (UniquedStringImpl *uid, JSObject *prototype)
 
static PropertyCondition absence (VM &vm, JSCell *owner, UniquedStringImpl *uid, JSObject *prototype)
 
static PropertyCondition absenceOfSetterWithoutBarrier (UniquedStringImpl *uid, JSObject *prototype)
 
static PropertyCondition absenceOfSetter (VM &vm, JSCell *owner, UniquedStringImpl *uid, JSObject *prototype)
 
static PropertyCondition equivalenceWithoutBarrier (UniquedStringImpl *uid, JSValue value)
 
static PropertyCondition equivalence (VM &vm, JSCell *owner, UniquedStringImpl *uid, JSValue value)
 
static bool isValidValueForAttributes (VM &, JSValue, unsigned attributes)
 
static PropertyCondition presenceWithoutBarrier (UniquedStringImpl *uid, PropertyOffset offset, unsigned attributes)
 
static PropertyCondition presence (VM &, JSCell *, UniquedStringImpl *uid, PropertyOffset offset, unsigned attributes)
 
static PropertyCondition absenceWithoutBarrier (UniquedStringImpl *uid, JSObject *prototype)
 
static PropertyCondition absence (VM &vm, JSCell *owner, UniquedStringImpl *uid, JSObject *prototype)
 
static PropertyCondition absenceOfSetterWithoutBarrier (UniquedStringImpl *uid, JSObject *prototype)
 
static PropertyCondition absenceOfSetter (VM &vm, JSCell *owner, UniquedStringImpl *uid, JSObject *prototype)
 
static PropertyCondition equivalenceWithoutBarrier (UniquedStringImpl *uid, JSValue value)
 
static PropertyCondition equivalence (VM &vm, JSCell *owner, UniquedStringImpl *uid, JSValue value)
 
static bool isValidValueForAttributes (VM &, JSValue, unsigned attributes)
 

Member Enumeration Documentation

◆ Kind [1/2]

Enumerator
Presence 
Absence 
AbsenceOfSetter 
Equivalence 
Presence 
Absence 
AbsenceOfSetter 
Equivalence 

◆ Kind [2/2]

Enumerator
Presence 
Absence 
AbsenceOfSetter 
Equivalence 
Presence 
Absence 
AbsenceOfSetter 
Equivalence 

◆ WatchabilityEffort [1/2]

Enumerator
MakeNoChanges 
EnsureWatchability 
MakeNoChanges 
EnsureWatchability 

◆ WatchabilityEffort [2/2]

Enumerator
MakeNoChanges 
EnsureWatchability 
MakeNoChanges 
EnsureWatchability 

Constructor & Destructor Documentation

◆ PropertyCondition() [1/4]

JSC::PropertyCondition::PropertyCondition ( )
inline

◆ PropertyCondition() [2/4]

JSC::PropertyCondition::PropertyCondition ( WTF::HashTableDeletedValueType  )
inline

◆ PropertyCondition() [3/4]

JSC::PropertyCondition::PropertyCondition ( )
inline

◆ PropertyCondition() [4/4]

JSC::PropertyCondition::PropertyCondition ( WTF::HashTableDeletedValueType  )
inline

Member Function Documentation

◆ absence() [1/2]

static PropertyCondition JSC::PropertyCondition::absence ( VM vm,
JSCell owner,
UniquedStringImpl *  uid,
JSObject prototype 
)
inlinestatic

◆ absence() [2/2]

static PropertyCondition JSC::PropertyCondition::absence ( VM vm,
JSCell owner,
UniquedStringImpl *  uid,
JSObject prototype 
)
inlinestatic

◆ absenceOfSetter() [1/2]

static PropertyCondition JSC::PropertyCondition::absenceOfSetter ( VM vm,
JSCell owner,
UniquedStringImpl *  uid,
JSObject prototype 
)
inlinestatic

◆ absenceOfSetter() [2/2]

static PropertyCondition JSC::PropertyCondition::absenceOfSetter ( VM vm,
JSCell owner,
UniquedStringImpl *  uid,
JSObject prototype 
)
inlinestatic

◆ absenceOfSetterWithoutBarrier() [1/2]

static PropertyCondition JSC::PropertyCondition::absenceOfSetterWithoutBarrier ( UniquedStringImpl *  uid,
JSObject prototype 
)
inlinestatic

◆ absenceOfSetterWithoutBarrier() [2/2]

static PropertyCondition JSC::PropertyCondition::absenceOfSetterWithoutBarrier ( UniquedStringImpl *  uid,
JSObject prototype 
)
inlinestatic

◆ absenceWithoutBarrier() [1/2]

static PropertyCondition JSC::PropertyCondition::absenceWithoutBarrier ( UniquedStringImpl *  uid,
JSObject prototype 
)
inlinestatic

◆ absenceWithoutBarrier() [2/2]

static PropertyCondition JSC::PropertyCondition::absenceWithoutBarrier ( UniquedStringImpl *  uid,
JSObject prototype 
)
inlinestatic

◆ attemptToMakeEquivalenceWithoutBarrier() [1/2]

PropertyCondition JSC::PropertyCondition::attemptToMakeEquivalenceWithoutBarrier ( VM vm,
JSObject base 
) const

◆ attemptToMakeEquivalenceWithoutBarrier() [2/2]

PropertyCondition JSC::PropertyCondition::attemptToMakeEquivalenceWithoutBarrier ( VM ,
JSObject base 
) const

◆ attributes() [1/2]

unsigned JSC::PropertyCondition::attributes ( ) const
inline

◆ attributes() [2/2]

unsigned JSC::PropertyCondition::attributes ( ) const
inline

◆ dump() [1/2]

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

◆ dump() [2/2]

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

◆ dumpInContext() [1/2]

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

◆ dumpInContext() [2/2]

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

◆ equivalence() [1/2]

static PropertyCondition JSC::PropertyCondition::equivalence ( VM vm,
JSCell owner,
UniquedStringImpl *  uid,
JSValue  value 
)
inlinestatic

◆ equivalence() [2/2]

static PropertyCondition JSC::PropertyCondition::equivalence ( VM vm,
JSCell owner,
UniquedStringImpl *  uid,
JSValue  value 
)
inlinestatic

◆ equivalenceWithoutBarrier() [1/2]

static PropertyCondition JSC::PropertyCondition::equivalenceWithoutBarrier ( UniquedStringImpl *  uid,
JSValue  value 
)
inlinestatic

◆ equivalenceWithoutBarrier() [2/2]

static PropertyCondition JSC::PropertyCondition::equivalenceWithoutBarrier ( UniquedStringImpl *  uid,
JSValue  value 
)
inlinestatic

◆ hasAttributes() [1/2]

bool JSC::PropertyCondition::hasAttributes ( ) const
inline

◆ hasAttributes() [2/2]

bool JSC::PropertyCondition::hasAttributes ( ) const
inline

◆ hash() [1/2]

unsigned JSC::PropertyCondition::hash ( ) const
inline

◆ hash() [2/2]

unsigned JSC::PropertyCondition::hash ( ) const
inline

◆ hasOffset() [1/2]

bool JSC::PropertyCondition::hasOffset ( ) const
inline

◆ hasOffset() [2/2]

bool JSC::PropertyCondition::hasOffset ( ) const
inline

◆ hasPrototype() [1/2]

bool JSC::PropertyCondition::hasPrototype ( ) const
inline

◆ hasPrototype() [2/2]

bool JSC::PropertyCondition::hasPrototype ( ) const
inline

◆ hasRequiredValue() [1/2]

bool JSC::PropertyCondition::hasRequiredValue ( ) const
inline

◆ hasRequiredValue() [2/2]

bool JSC::PropertyCondition::hasRequiredValue ( ) const
inline

◆ isCompatibleWith() [1/2]

bool JSC::PropertyCondition::isCompatibleWith ( const PropertyCondition other) const
inline

◆ isCompatibleWith() [2/2]

bool JSC::PropertyCondition::isCompatibleWith ( const PropertyCondition other) const
inline

◆ isHashTableDeletedValue() [1/2]

bool JSC::PropertyCondition::isHashTableDeletedValue ( ) const
inline

◆ isHashTableDeletedValue() [2/2]

bool JSC::PropertyCondition::isHashTableDeletedValue ( ) const
inline

◆ isStillLive() [1/2]

bool JSC::PropertyCondition::isStillLive ( ) const

◆ isStillLive() [2/2]

bool JSC::PropertyCondition::isStillLive ( ) const

◆ isStillValid() [1/2]

bool JSC::PropertyCondition::isStillValid ( Structure ,
JSObject base = nullptr 
) const

◆ isStillValid() [2/2]

bool JSC::PropertyCondition::isStillValid ( Structure structure,
JSObject base = nullptr 
) const

◆ isStillValidAssumingImpurePropertyWatchpoint() [1/2]

bool JSC::PropertyCondition::isStillValidAssumingImpurePropertyWatchpoint ( Structure ,
JSObject base = nullptr 
) const

◆ isStillValidAssumingImpurePropertyWatchpoint() [2/2]

bool JSC::PropertyCondition::isStillValidAssumingImpurePropertyWatchpoint ( Structure structure,
JSObject base = nullptr 
) const

◆ isValidValueForAttributes() [1/2]

bool JSC::PropertyCondition::isValidValueForAttributes ( VM vm,
JSValue  value,
unsigned  attributes 
)
static

◆ isValidValueForAttributes() [2/2]

static bool JSC::PropertyCondition::isValidValueForAttributes ( VM ,
JSValue  ,
unsigned  attributes 
)
static

◆ isValidValueForPresence() [1/2]

bool JSC::PropertyCondition::isValidValueForPresence ( VM ,
JSValue   
) const

◆ isValidValueForPresence() [2/2]

bool JSC::PropertyCondition::isValidValueForPresence ( VM vm,
JSValue  value 
) const

◆ isWatchable() [1/2]

bool JSC::PropertyCondition::isWatchable ( Structure structure,
JSObject base = nullptr,
WatchabilityEffort  effort = MakeNoChanges 
) const

◆ isWatchable() [2/2]

bool JSC::PropertyCondition::isWatchable ( Structure ,
JSObject base = nullptr,
WatchabilityEffort  = MakeNoChanges 
) const

◆ isWatchableAssumingImpurePropertyWatchpoint() [1/2]

bool JSC::PropertyCondition::isWatchableAssumingImpurePropertyWatchpoint ( Structure ,
JSObject base = nullptr,
WatchabilityEffort  = MakeNoChanges 
) const

◆ isWatchableAssumingImpurePropertyWatchpoint() [2/2]

bool JSC::PropertyCondition::isWatchableAssumingImpurePropertyWatchpoint ( Structure structure,
JSObject base = nullptr,
WatchabilityEffort  effort = MakeNoChanges 
) const

◆ kind() [1/2]

Kind JSC::PropertyCondition::kind ( ) const
inline

◆ kind() [2/2]

Kind JSC::PropertyCondition::kind ( ) const
inline

◆ offset() [1/2]

PropertyOffset JSC::PropertyCondition::offset ( ) const
inline

◆ offset() [2/2]

PropertyOffset JSC::PropertyCondition::offset ( ) const
inline

◆ operator bool() [1/2]

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

◆ operator bool() [2/2]

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

◆ operator==() [1/2]

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

◆ operator==() [2/2]

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

◆ presence() [1/2]

static PropertyCondition JSC::PropertyCondition::presence ( VM ,
JSCell ,
UniquedStringImpl *  uid,
PropertyOffset  offset,
unsigned  attributes 
)
inlinestatic

◆ presence() [2/2]

static PropertyCondition JSC::PropertyCondition::presence ( VM ,
JSCell ,
UniquedStringImpl *  uid,
PropertyOffset  offset,
unsigned  attributes 
)
inlinestatic

◆ presenceWithoutBarrier() [1/2]

static PropertyCondition JSC::PropertyCondition::presenceWithoutBarrier ( UniquedStringImpl *  uid,
PropertyOffset  offset,
unsigned  attributes 
)
inlinestatic

◆ presenceWithoutBarrier() [2/2]

static PropertyCondition JSC::PropertyCondition::presenceWithoutBarrier ( UniquedStringImpl *  uid,
PropertyOffset  offset,
unsigned  attributes 
)
inlinestatic

◆ prototype() [1/2]

JSObject* JSC::PropertyCondition::prototype ( ) const
inline

◆ prototype() [2/2]

JSObject* JSC::PropertyCondition::prototype ( ) const
inline

◆ requiredValue() [1/2]

JSValue JSC::PropertyCondition::requiredValue ( ) const
inline

◆ requiredValue() [2/2]

JSValue JSC::PropertyCondition::requiredValue ( ) const
inline

◆ uid() [1/2]

UniquedStringImpl* JSC::PropertyCondition::uid ( ) const
inline

◆ uid() [2/2]

UniquedStringImpl* JSC::PropertyCondition::uid ( ) const
inline

◆ validateReferences() [1/2]

void JSC::PropertyCondition::validateReferences ( const TrackedReferences ) const

◆ validateReferences() [2/2]

void JSC::PropertyCondition::validateReferences ( const TrackedReferences tracked) const

◆ validityRequiresImpurePropertyWatchpoint() [1/2]

bool JSC::PropertyCondition::validityRequiresImpurePropertyWatchpoint ( Structure ) const

◆ validityRequiresImpurePropertyWatchpoint() [2/2]

bool JSC::PropertyCondition::validityRequiresImpurePropertyWatchpoint ( Structure structure) const

◆ watchingRequiresReplacementWatchpoint() [1/2]

bool JSC::PropertyCondition::watchingRequiresReplacementWatchpoint ( ) const
inline

◆ watchingRequiresReplacementWatchpoint() [2/2]

bool JSC::PropertyCondition::watchingRequiresReplacementWatchpoint ( ) const
inline

◆ watchingRequiresStructureTransitionWatchpoint() [1/2]

bool JSC::PropertyCondition::watchingRequiresStructureTransitionWatchpoint ( ) const
inline

◆ watchingRequiresStructureTransitionWatchpoint() [2/2]

bool JSC::PropertyCondition::watchingRequiresStructureTransitionWatchpoint ( ) const
inline

Member Data Documentation

◆ absence [1/2]

struct { ... } JSC::PropertyCondition::absence

◆ absence [2/2]

struct { ... } JSC::PropertyCondition::absence

◆ attributes

unsigned JSC::PropertyCondition::attributes

◆ equivalence [1/2]

struct { ... } JSC::PropertyCondition::equivalence

◆ equivalence [2/2]

struct { ... } JSC::PropertyCondition::equivalence

◆ offset

PropertyOffset JSC::PropertyCondition::offset

◆ presence [1/2]

struct { ... } JSC::PropertyCondition::presence

◆ presence [2/2]

struct { ... } JSC::PropertyCondition::presence

◆ prototype

JSObject* JSC::PropertyCondition::prototype

◆ value

EncodedJSValue JSC::PropertyCondition::value

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