![]() |
Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
|
#include <qv4internalclass_p.h>
Classes | |
| struct | IndexAndAttribute |
Public Types | |
| enum | Flag { NotExtensible = 1 << 0 , Sealed = 1 << 1 , Frozen = 1 << 2 , UsedAsProto = 1 << 3 , Locked = 1 << 4 } |
| enum | { MaxRedundantTransitions = 255 } |
| typedef InternalClassTransition | Transition |
Static Public Member Functions | |
| static void | addMember (QV4::Object *object, PropertyKey id, PropertyAttributes data, InternalClassEntry *entry) |
| static void | changeMember (QV4::Object *object, PropertyKey id, PropertyAttributes data, InternalClassEntry *entry=nullptr) |
| static void | removeMember (QV4::Object *object, PropertyKey identifier) |
| static void | markObjects (Heap::Base *ic, MarkStack *stack) |
| Static Public Member Functions inherited from QV4::Heap::Base | |
| static void | markObjects (Base *, MarkStack *) |
Public Attributes | |
| ExecutionEngine * | engine |
| const VTable * | vtable |
| quintptr | protoId |
| Heap::Object * | prototype |
| InternalClass * | parent |
| PropertyHash | propertyTable |
| SharedInternalClassData< PropertyKey > | nameMap |
| SharedInternalClassData< PropertyAttributes > | propertyData |
| QVarLengthArray< Transition, 1 > | transitions |
| uint | size |
| quint8 | numRedundantTransitions |
| quint8 | flags |
| Public Attributes inherited from QV4::Heap::Base | |
| Pointer< InternalClass *, 0 > | internalClass |
Friends | |
| struct | ::QV4::ExecutionEngine |
Definition at line 317 of file qv4internalclass_p.h.
Definition at line 337 of file qv4internalclass_p.h.
| anonymous enum |
| Enumerator | |
|---|---|
| MaxRedundantTransitions | |
Definition at line 325 of file qv4internalclass_p.h.
| Enumerator | |
|---|---|
| NotExtensible | |
| Sealed | |
| Frozen | |
| UsedAsProto | |
| Locked | |
Definition at line 318 of file qv4internalclass_p.h.
| Heap::InternalClass * QV4::Heap::InternalClass::addMember | ( | PropertyKey | identifier, |
| PropertyAttributes | data, | ||
| InternalClassEntry * | entry = nullptr ) |
Definition at line 575 of file qv4internalclass.cpp.
References findEntry(), and QV4::PropertyKey::isStringOrSymbol().
|
static |
Definition at line 567 of file qv4internalclass.cpp.
| Heap::InternalClass * QV4::Heap::InternalClass::asProtoClass | ( | ) |
Definition at line 746 of file qv4internalclass.cpp.
References QV4::Scope::Scope(), engine, QV4::PropertyKey::invalid(), isUsedAsProto(), QV4::InternalClassTransition::lookup, lookupOrInsertTransition(), QV4::InternalClassTransition::ProtoClass, and UsedAsProto.
| InternalClass * QV4::Heap::InternalClass::canned | ( | ) |
Definition at line 714 of file qv4internalclass.cpp.
References QV4::Scope::Scope(), and engine.
| Heap::InternalClass * QV4::Heap::InternalClass::changeMember | ( | PropertyKey | identifier, |
| PropertyAttributes | data, | ||
| InternalClassEntry * | entry = nullptr ) |
Definition at line 427 of file qv4internalclass.cpp.
References QV4::Scope::Scope(), engine, findEntry(), QV4::InternalClassTransition::lookup, and lookupOrInsertTransition().
|
static |
Definition at line 304 of file qv4internalclass.cpp.
References QV4::PropertyKey::isStringOrSymbol().
|
inline |
Definition at line 467 of file qv4internalclass_p.h.
|
inline |
Definition at line 462 of file qv4internalclass_p.h.
| InternalClass * QV4::Heap::InternalClass::cryopreserved | ( | ) |
Definition at line 722 of file qv4internalclass.cpp.
References QV4::Scope::Scope(), and engine.
| void QV4::Heap::InternalClass::destroy | ( | ) |
Definition at line 271 of file qv4internalclass.cpp.
References QV4::PropertyHash::~PropertyHash(), engine, parent, and propertyTable.
|
inline |
Definition at line 375 of file qv4internalclass_p.h.
References QV4::PropertyHash::Entry::index, QV4::PropertyKey::isStringOrSymbol(), QV4::PropertyHash::lookup(), propertyTable, QV4::PropertyHash::Entry::setterIndex, and size.
|
inline |
Definition at line 364 of file qv4internalclass_p.h.
References QV4::PropertyHash::Entry::index, QV4::PropertyKey::isStringOrSymbol(), QV4::PropertyHash::lookup(), propertyTable, and size.
Referenced by addMember(), changeMember(), and removeMember().
|
inline |
Definition at line 395 of file qv4internalclass_p.h.
References QV4::PropertyHash::Entry::index, QV4::PropertyKey::isStringOrSymbol(), QV4::PropertyHash::lookup(), propertyTable, and size.
|
inline |
Definition at line 409 of file qv4internalclass_p.h.
References QV4::PropertyHash::Entry::index, QV4::PropertyKey::isStringOrSymbol(), QV4::PropertyHash::lookup(), propertyTable, QV4::PropertyHash::Entry::setterIndex, and size.
| Heap::InternalClass * QV4::Heap::InternalClass::frozen | ( | ) |
Definition at line 682 of file qv4internalclass.cpp.
References QV4::Scope::Scope(), engine, Frozen, QV4::InternalClassTransition::Frozen, QV4::PropertyKey::invalid(), isFrozen(), QV4::InternalClassTransition::lookup, and lookupOrInsertTransition().
|
inline |
Definition at line 428 of file qv4internalclass_p.h.
References QV4::PropertyHash::Entry::index, QV4::PropertyKey::isStringOrSymbol(), QV4::PropertyHash::lookup(), propertyTable, and size.
| void QV4::Heap::InternalClass::init | ( | ExecutionEngine * | engine | ) |
Definition at line 222 of file qv4internalclass.cpp.
References QV4::PropertyHash::PropertyHash(), engine, propertyTable, and vtable.
| void QV4::Heap::InternalClass::init | ( | Heap::InternalClass * | other | ) |
Definition at line 246 of file qv4internalclass.cpp.
References QV4::PropertyHash::PropertyHash(), engine, parent, propertyTable, prototype, and vtable.
|
inline |
Definition at line 345 of file qv4internalclass_p.h.
Referenced by nonExtensible().
|
inline |
Definition at line 347 of file qv4internalclass_p.h.
Referenced by frozen(), isImplicitlyFrozen(), and sealed().
| bool QV4::Heap::InternalClass::isImplicitlyFrozen | ( | ) | const |
Definition at line 730 of file qv4internalclass.cpp.
References isFrozen().
|
inline |
Definition at line 349 of file qv4internalclass_p.h.
Referenced by locked().
|
inline |
Definition at line 346 of file qv4internalclass_p.h.
Referenced by sealed().
|
inline |
Definition at line 348 of file qv4internalclass_p.h.
Referenced by asProtoClass(), and updateProtoUsage().
| ReturnedValue QV4::Heap::InternalClass::keyAt | ( | uint | index | ) | const |
Definition at line 293 of file qv4internalclass.cpp.
References QV4::PropertyKey::asArrayIndex(), QV4::PropertyKey::isArrayIndex(), and QV4::PropertyKey::isStringOrSymbol().
| InternalClass * QV4::Heap::InternalClass::locked | ( | ) |
Definition at line 547 of file qv4internalclass.cpp.
References QV4::Scope::Scope(), engine, QV4::PropertyKey::invalid(), isLocked(), Locked, QV4::InternalClassTransition::Locked, QV4::InternalClassTransition::lookup, and lookupOrInsertTransition().
| InternalClassTransition & QV4::Heap::InternalClass::lookupOrInsertTransition | ( | const InternalClassTransition & | t | ) |
Definition at line 313 of file qv4internalclass.cpp.
Referenced by asProtoClass(), changeMember(), frozen(), locked(), nonExtensible(), and sealed().
|
static |
Definition at line 786 of file qv4internalclass.cpp.
| Heap::InternalClass * QV4::Heap::InternalClass::nonExtensible | ( | ) |
Definition at line 527 of file qv4internalclass.cpp.
References QV4::Scope::Scope(), engine, QV4::PropertyKey::invalid(), isExtensible(), QV4::InternalClassTransition::lookup, lookupOrInsertTransition(), NotExtensible, and QV4::InternalClassTransition::NotExtensible.
|
static |
Definition at line 633 of file qv4internalclass.cpp.
References findEntry().
| Heap::InternalClass * QV4::Heap::InternalClass::sealed | ( | ) |
Definition at line 650 of file qv4internalclass.cpp.
References QV4::Scope::Scope(), engine, QV4::PropertyKey::invalid(), isFrozen(), isSealed(), QV4::InternalClassTransition::lookup, lookupOrInsertTransition(), Sealed, and QV4::InternalClassTransition::Sealed.
| void QV4::Heap::InternalClass::updateProtoUsage | ( | Heap::Object * | o | ) |
Definition at line 777 of file qv4internalclass.cpp.
References isUsedAsProto(), prototype, and QV4::Heap::updateProtoUsage().
|
inline |
Definition at line 441 of file qv4internalclass_p.h.
References QV4::PropertyHash::Entry::index, QV4::PropertyKey::isStringOrSymbol(), QV4::PropertyHash::lookup(), propertyTable, and size.
|
friend |
Definition at line 483 of file qv4internalclass_p.h.
| ExecutionEngine* QV4::Heap::InternalClass::engine |
Definition at line 327 of file qv4internalclass_p.h.
Referenced by asProtoClass(), canned(), changeMember(), QV4::Heap::cleanInternalClass(), cryopreserved(), destroy(), frozen(), init(), init(), locked(), nonExtensible(), sealed(), and QV4::Heap::updateProtoUsage().
| quint8 QV4::Heap::InternalClass::flags |
Definition at line 343 of file qv4internalclass_p.h.
| SharedInternalClassData<PropertyKey> QV4::Heap::InternalClass::nameMap |
Definition at line 334 of file qv4internalclass_p.h.
| quint8 QV4::Heap::InternalClass::numRedundantTransitions |
Definition at line 342 of file qv4internalclass_p.h.
| InternalClass* QV4::Heap::InternalClass::parent |
Definition at line 331 of file qv4internalclass_p.h.
Referenced by destroy(), init(), and markObjects().
| SharedInternalClassData<PropertyAttributes> QV4::Heap::InternalClass::propertyData |
Definition at line 335 of file qv4internalclass_p.h.
| PropertyHash QV4::Heap::InternalClass::propertyTable |
Definition at line 333 of file qv4internalclass_p.h.
Referenced by QV4::Heap::addDummyEntry(), destroy(), find(), findEntry(), findValueOrGetter(), findValueOrSetter(), indexOfValueOrGetter(), init(), init(), and verifyIndex().
| quintptr QV4::Heap::InternalClass::protoId |
Definition at line 329 of file qv4internalclass_p.h.
| Heap::Object* QV4::Heap::InternalClass::prototype |
Definition at line 330 of file qv4internalclass_p.h.
Referenced by init(), markObjects(), updateProtoUsage(), and QV4::Heap::updateProtoUsage().
| uint QV4::Heap::InternalClass::size |
Definition at line 341 of file qv4internalclass_p.h.
Referenced by find(), findEntry(), findValueOrGetter(), findValueOrSetter(), indexOfValueOrGetter(), and verifyIndex().
| QVarLengthArray<Transition, 1> QV4::Heap::InternalClass::transitions |
Definition at line 338 of file qv4internalclass_p.h.
| const VTable* QV4::Heap::InternalClass::vtable |
Definition at line 328 of file qv4internalclass_p.h.
Referenced by QV4::MemoryManager::allocManaged(), init(), and init().