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
 
JSObject * prototype () 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
 
JSObject * prototype () 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: