Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QV4 Namespace Reference

Namespaces

namespace  CompiledData
namespace  Heap
namespace  Compiler
namespace  Moth
namespace  Debugging
namespace  Profiling
namespace  Promise
namespace  JIT

Classes

class  ExecutionEngine
 \inmodule QtQml More...
struct  ExecutionEngineCallDepthRecorder
struct  ArgumentsObject
struct  StrictArgumentsObject
struct  SharedArrayBufferCtor
struct  ArrayBufferCtor
struct  SharedArrayBuffer
struct  ArrayBuffer
struct  SharedArrayBufferPrototype
struct  ArrayBufferPrototype
struct  TypedArrayOperations
struct  TypedArray
struct  IntrinsicTypedArrayCtor
struct  TypedArrayCtor
struct  IntrinsicTypedArrayPrototype
struct  TypedArrayPrototype
struct  DataViewCtor
struct  DataView
struct  DataViewPrototype
struct  SymbolCtor
struct  SymbolPrototype
struct  Symbol
struct  SymbolObject
struct  ArrayVTable
struct  ArrayData
struct  SimpleArrayData
struct  SparseArrayData
class  ArrayElementLessThan
struct  Object
struct  ObjectOwnPropertyKeyIterator
struct  BooleanObject
struct  NumberObject
struct  ArrayObject
struct  FunctionObject
struct  JavaScriptFunctionObject
struct  DynamicFunctionObject
struct  FunctionCtor
struct  FunctionPrototype
struct  IndexedBuiltinFunction
struct  ArrowFunction
struct  ScriptFunction
struct  MemberFunction
struct  ConstructorFunction
struct  DefaultClassConstructorFunction
struct  BoundFunction
struct  BoundConstructor
struct  StringOrSymbol
struct  String
struct  ComplexString
struct  JSCallArguments
struct  JSCallData
struct  ArrayCtor
struct  ArrayPrototype
struct  ArrayIteratorPrototype
struct  ArrayIteratorObject
struct  ObjectCtor
struct  ObjectPrototype
struct  RuntimeHelpers
struct  Atomics
struct  BooleanCtor
struct  BooleanPrototype
class  CompilationUnitMapper
struct  ExecutionContext
struct  CallContext
struct  FunctionData
struct  Function
struct  CppStackFrameBase
struct  CppStackFrame
struct  MetaTypesStackFrame
struct  JSTypesStackFrame
struct  ScopedStackFrame
struct  Date
struct  DateObject
struct  DateCtor
struct  DatePrototype
struct  Managed
struct  InternalClass
struct  MemberData
struct  HeapValue
struct  ValueArray
struct  Scoped
struct  PropertyAttributes
struct  StackFrame
struct  Property
struct  PropertyIndex
struct  SparseArrayNode
struct  SparseArray
struct  Scope
struct  ScopedValue
struct  ScopedPropertyKey
struct  ScopedProperty
struct  Value
class  OptionalReturnedValue
struct  InternalClassEntry
struct  PropertyHash
struct  PropertyHashData
struct  SharedInternalClassDataPrivate
struct  SharedInternalClassDataPrivate< PropertyAttributes >
struct  SharedInternalClassDataPrivate< PropertyKey >
struct  SharedInternalClassData
struct  InternalClassTransition
struct  ErrorObject
struct  EvalErrorObject
struct  RangeErrorObject
struct  ReferenceErrorObject
struct  SyntaxErrorObject
struct  TypeErrorObject
struct  URIErrorObject
struct  ErrorCtor
struct  EvalErrorCtor
struct  RangeErrorCtor
struct  ReferenceErrorCtor
struct  SyntaxErrorCtor
struct  TypeErrorCtor
struct  URIErrorCtor
struct  ErrorPrototype
struct  EvalErrorPrototype
struct  RangeErrorPrototype
struct  ReferenceErrorPrototype
struct  SyntaxErrorPrototype
struct  TypeErrorPrototype
struct  URIErrorPrototype
class  ESTable
class  ExecutableAllocator
struct  CompilationUnitRuntimeData
class  ExecutableCompilationUnit
struct  EngineBase
class  RuntimeCodegen
struct  UnwindCode
struct  UnwindInfo
struct  ExceptionHandlerRecord
struct  GeneratorFunctionCtor
struct  GeneratorFunction
struct  MemberGeneratorFunction
struct  GeneratorPrototype
struct  GeneratorObject
struct  IteratorPrototype
struct  EvalFunction
struct  GlobalFunctions
struct  IdentifierTable
struct  PropertyKey
struct  IdentifierHash
struct  GCData
struct  GCIteratorStorage
struct  GCStateMachine
struct  BlockAllocator
struct  HugeItemAllocator
class  MemoryManager
struct  GCCriticalSection
struct  ObjectItem
struct  JsonObject
class  JsonParser
class  NumberLocale
struct  NumberCtor
struct  NumberPrototype
struct  StringObject
struct  StringCtor
struct  StringPrototype
struct  ObjectIterator
struct  ForInIteratorPrototype
struct  ForInIteratorObject
struct  Runtime
struct  VariantObject
struct  VariantPrototype
struct  Lookup
struct  WeakMapCtor
struct  MapCtor
struct  MapObject
struct  WeakMapPrototype
struct  MapPrototype
struct  MapIteratorPrototype
struct  MapIteratorObject
struct  MathObject
struct  Module
struct  PersistentValueStorage
class  PersistentValue
class  WeakValue
struct  QObjectWrapper
struct  QObjectMethod
struct  QmlSignalHandler
class  MultiplyWrappedQObjectMap
struct  ProxyObject
struct  ProxyFunctionObject
struct  ProxyConstructorObject
struct  Proxy
struct  QMetaObjectWrapper
struct  QQmlContextWrapper
struct  QmlContext
struct  QObjectWrapperOwnPropertyKeyIterator
struct  QObjectSlotDispatcher
struct  ToStringMetaMethod
struct  Reflect
struct  RegExp
struct  RegExpCacheKey
class  RegExpCache
struct  RegExpObject
struct  RegExpCtor
struct  RegExpPrototype
class  ResolvedTypeReference
struct  CallArgs
struct  LazyScope
struct  Script
struct  SequenceOwnPropertyKeyIterator
struct  SequencePrototype
class  Sequence
struct  WeakSetCtor
struct  SetCtor
struct  SetObject
struct  WeakSetPrototype
struct  SetPrototype
struct  SetIteratorPrototype
struct  SetIteratorObject
struct  StringIteratorPrototype
struct  StringIteratorObject
struct  UrlObject
struct  UrlCtor
struct  UrlPrototype
struct  UrlSearchParamsObject
struct  UrlSearchParamsCtor
struct  UrlSearchParamsPrototype
struct  VariantAssociationPrototype
class  VariantAssociationObject
struct  MemorySegment
struct  ChunkAllocator
struct  ConsoleObject
struct  GlobalExtensions
struct  QQmlBindingFunction
struct  QmlIncubatorObject
struct  QmlListWrapper
struct  PropertyListPrototype
struct  QQmlTypeWrapper
struct  QQmlTypeConstructor
struct  QQmlEnumWrapper
struct  QQmlValueTypeWrapperOwnPropertyKeyIterator
struct  QQmlValueTypeWrapper
class  NodeImpl
class  DocumentImpl
class  NamedNodeMap
class  NodeList
class  NodePrototype
struct  Node
class  Element
class  Attr
class  CharacterData
class  Text
class  CDATA
class  Document
struct  QQmlXMLHttpRequestWrapper
struct  QQmlXMLHttpRequestCtor
class  QQmlSqlDatabaseWrapper
struct  DelegateModelGroupFunction
struct  ModelObjectOwnPropertyKeyIterator
struct  ModelObject
struct  QQmlObjectModelWrapper
class  Serialize
struct  CallData
struct  StaticValue
struct  Encode
class  BitVector
struct  IdentifierHashEntry
struct  IdentifierHashData
struct  PromiseReaction
struct  PromiseCapability
struct  PromiseExecutionState
struct  PromiseObject
struct  PromiseCtor
struct  PromisePrototype
struct  CapabilitiesExecutorWrapper
struct  ResolveElementWrapper
struct  ResolveWrapper
struct  RejectWrapper
class  ReferenceObject
 An object that keeps track of the provenance of its owned value, allowing to reflect mutations on the original instance. More...
struct  OwnPropertyKeyIterator
struct  VTable
struct  VTableCallWithMetaTypesWrapper
struct  VTableCallWrapper
struct  VTableBase
struct  QV4QPointer
struct  Chunk
struct  HeapItem
struct  MarkStack
struct  StackProperties
struct  WriteBarrier

Typedefs

typedef Scoped< StringScopedString
typedef Scoped< StringOrSymbolScopedStringOrSymbol
typedef Scoped< ObjectScopedObject
typedef Scoped< ArrayObjectScopedArrayObject
typedef Scoped< FunctionObjectScopedFunctionObject
typedef Scoped< ExecutionContextScopedContext
typedef QList< StackFrameStackTrace
using Primitive = Value
using GCState = GCStateMachine::GCState
using GCStateInfo = GCStateMachine::GCStateInfo
typedef uint Bool
template<typename T, int PhantomTag>
using HeapObjectWrapper = WriteBarrier::HeapObjectWrapper<T, PhantomTag>
using QObjectBiPointer = QBiPointer<QObject, const QObject>
typedef quint64 ReturnedValue

Enumerations

enum  TypedArrayType {
  Int8Array , UInt8Array , Int16Array , UInt16Array ,
  Int32Array , UInt32Array , UInt8ClampedArray , Float32Array ,
  Float64Array , NTypedArrayTypes
}
enum  AtomicModifyOps {
  AtomicAdd , AtomicAnd , AtomicExchange , AtomicOr ,
  AtomicSub , AtomicXor , NAtomicModifyOps
}
enum  CoercionProblem { InsufficientAnnotation , InvalidListType }
enum  TypeHint { PREFERREDTYPE_HINT , NUMBER_HINT , STRING_HINT }
enum  PropertyFlag {
  Attr_Data = 0 , Attr_Accessor = 0x1 , Attr_NotWritable = 0x2 , Attr_NotEnumerable = 0x4 ,
  Attr_NotConfigurable = 0x8 , Attr_ReadOnly = Attr_NotWritable|Attr_NotEnumerable|Attr_NotConfigurable , Attr_ReadOnly_ButConfigurable = Attr_NotWritable|Attr_NotEnumerable , Attr_Invalid = 0xff
}
enum  UnwindOpcode : UINT8 {
  UWOP_PUSH_NONVOL = 0 , UWOP_ALLOC_LARGE , UWOP_ALLOC_SMALL , UWOP_SET_FPREG ,
  UWOP_SAVE_NONVOL , UWOP_SAVE_NONVOL_FAR , UWOP_SAVE_XMM128 = 8 , UWOP_SAVE_XMM128_FAR ,
  UWOP_PUSH_MACHFRAME , UWOP_PUSH_NONVOL = 0 , UWOP_ALLOC_LARGE , UWOP_ALLOC_SMALL ,
  UWOP_SET_FPREG , UWOP_SAVE_NONVOL , UWOP_SAVE_NONVOL_FAR , UWOP_SAVE_XMM128 = 8 ,
  UWOP_SAVE_XMM128_FAR , UWOP_PUSH_MACHFRAME
}
enum  Register : UINT8 {
  RAX = 0 , RCX , RDX , RBX ,
  RSP , RBP , RSI , RDI ,
  NONE = 15 , RAX = 0 , RCX , RDX ,
  RBX , RSP , RBP , RSI ,
  RDI , NONE = 15
}
enum class  GeneratorState {
  Undefined , SuspendedStart , SuspendedYield , Executing ,
  Completed
}
enum  IteratorKind { KeyIteratorKind , ValueIteratorKind , KeyValueIteratorKind }
enum  { MinSlotsGCLimit = QV4::Chunk::AvailableSlots*16 , GCOverallocation = 200 , MinSlotsGCLimit = QV4::Chunk::AvailableSlots*16 , GCOverallocation = 200 }
enum  StackDefaults : qsizetype {
  DefaultSafetyMargin = 128 * 1024 , PlatformStackSize = 512 * 1024 , PlatformSafetyMargin = DefaultSafetyMargin , DefaultSafetyMargin = 128 * 1024 ,
  PlatformStackSize = 512 * 1024 , PlatformSafetyMargin = DefaultSafetyMargin
}
enum class  ObjectLiteralArgument { Value , Method , Getter , Setter }
enum  UnwindOpcode : UINT8 {
  UWOP_PUSH_NONVOL = 0 , UWOP_ALLOC_LARGE , UWOP_ALLOC_SMALL , UWOP_SET_FPREG ,
  UWOP_SAVE_NONVOL , UWOP_SAVE_NONVOL_FAR , UWOP_SAVE_XMM128 = 8 , UWOP_SAVE_XMM128_FAR ,
  UWOP_PUSH_MACHFRAME , UWOP_PUSH_NONVOL = 0 , UWOP_ALLOC_LARGE , UWOP_ALLOC_SMALL ,
  UWOP_SET_FPREG , UWOP_SAVE_NONVOL , UWOP_SAVE_NONVOL_FAR , UWOP_SAVE_XMM128 = 8 ,
  UWOP_SAVE_XMM128_FAR , UWOP_PUSH_MACHFRAME
}
enum  Register : UINT8 {
  RAX = 0 , RCX , RDX , RBX ,
  RSP , RBP , RSI , RDI ,
  NONE = 15 , RAX = 0 , RCX , RDX ,
  RBX , RSP , RBP , RSI ,
  RDI , NONE = 15
}
enum  { MinSlotsGCLimit = QV4::Chunk::AvailableSlots*16 , GCOverallocation = 200 , MinSlotsGCLimit = QV4::Chunk::AvailableSlots*16 , GCOverallocation = 200 }
enum  StackDefaults : qsizetype {
  DefaultSafetyMargin = 128 * 1024 , PlatformStackSize = 512 * 1024 , PlatformSafetyMargin = DefaultSafetyMargin , DefaultSafetyMargin = 128 * 1024 ,
  PlatformStackSize = 512 * 1024 , PlatformSafetyMargin = DefaultSafetyMargin
}

Functions

 Q_DECLARE_OPERATORS_FOR_FLAGS (ExecutionEngine::DiskCacheOptions)
template<typename RandomAccessIterator, typename LessThan>
void sortHelper (RandomAccessIterator start, RandomAccessIterator end, LessThan lessThan)
template<>
ReturnedValue value_convert< Object > (ExecutionEngine *e, const Value &v)
ReturnedValue checkedResult (QV4::ExecutionEngine *v4, ReturnedValue result)
template<>
ReturnedValue value_convert< String > (ExecutionEngine *e, const Value &v)
template<typename Args>
CallDatacallDatafromJS (const Scope &scope, const Args *args, const FunctionObject *f)
void populateJSCallArguments (ExecutionEngine *v4, JSCallArguments &jsCall, int argc, void **args, const QMetaType *types)
QObjectcppThisObject (const Value *thisObject)
void defaultConstructReturnValue (QMetaType returnType, void *returnValue)
ReturnedValue defaultConvertReturnValue (ExecutionEngine *engine, QMetaType returnType, void *returnValue)
bool defaultConversionErrorHandler (QMetaType argumentType, void *argument, qsizetype i)
template<typename Callable, typename ConstructReturnValue = decltype(defaultConstructReturnValue), typename ConvertReturnValue = decltype(defaultConvertReturnValue), typename ConversionErrorHandler = decltype(defaultConversionErrorHandler)>
ReturnedValue convertAndCall (ExecutionEngine *engine, const QMetaType *types, int numTypes, const Value *argv, int argc, Callable &&call, ConstructReturnValue &&constructReturnValue=defaultConstructReturnValue, ConvertReturnValue &&convertReturnValue=defaultConvertReturnValue, ConversionErrorHandler &&errorHandler=defaultConversionErrorHandler)
template<typename Callable>
bool convertAndCall (ExecutionEngine *engine, QObject *thisObject, void **a, const QMetaType *types, int argc, Callable call)
ReturnedValue coerce (ExecutionEngine *engine, const Value &value, const QQmlType &qmlType, bool isList)
QObjectcoerceQObject (const Value &value, const QQmlType &qmlType)
Q_QML_EXPORT void warnAboutCoercionToVoid (ExecutionEngine *engine, const Value &value, CoercionProblem problem)
ReturnedValue coerceListType (ExecutionEngine *engine, const Value &value, const QQmlType &qmlType)
template<typename Callable>
ReturnedValue coerceAndCall (ExecutionEngine *engine, const Function::JSTypedFunction *typedFunction, const CompiledData::Function *compiledFunction, const Value *argv, int argc, Callable call)
void coerce (ExecutionEngine *engine, QMetaType fromType, const void *from, QMetaType toType, void *to)
template<typename TypedFunction, typename Callable>
void coerceAndCall (ExecutionEngine *engine, const TypedFunction *typedFunction, void **argv, const QMetaType *types, int argc, Callable call)
 Q_STATIC_ASSERT (std::is_standard_layout< FunctionData >::value)
 Q_STATIC_ASSERT (sizeof(CppStackFrame)==sizeof(JSTypesStackFrame))
 Q_STATIC_ASSERT (std::is_standard_layout_v< CppStackFrame >)
 Q_STATIC_ASSERT (std::is_standard_layout_v< JSTypesStackFrame >)
 Q_STATIC_ASSERT (std::is_standard_layout_v< MetaTypesStackFrame >)
template<>
bool ReferenceObject::readReference< Heap::DateObject > (Heap::DateObject *ref)
template<>
bool ReferenceObject::writeBack< Heap::DateObject > (Heap::DateObject *ref, int internalIndex)
template<typename T>
int qYouForgotTheQ_MANAGED_Macro (T, T)
template<typename T1, typename T2>
void qYouForgotTheQ_MANAGED_Macro (T1, T2)
bool hasExceptionOrIsInterrupted (ExecutionEngine *engine)
 Q_STATIC_ASSERT (std::is_trivial_v< Value >)
 Q_STATIC_ASSERT (sizeof(Value)==sizeof(StaticValue))
template<typename T>
ReturnedValue value_convert (ExecutionEngine *e, const Value &v)
 Q_STATIC_ASSERT (offsetof(ValueArray< 0 >, values)==8)
static QString toString (QV4::ReturnedValue v)
static void dumpConstantTable (const StaticValue *constants, uint count)
static ReturnedValue doCall (QV4::Function *self, const QV4::Value *thisObject, const QV4::Value *argv, int argc, QV4::ExecutionContext *context)
static bool isSpecificType (const CompiledData::ParameterType &type)
 Q_STATIC_ASSERT (std::is_standard_layout< EngineBase >::value)
 Q_STATIC_ASSERT (offsetof(EngineBase, currentStackFrame)==0)
 Q_STATIC_ASSERT (offsetof(EngineBase, jsStackTop)==offsetof(EngineBase, currentStackFrame)+QT_POINTER_SIZE)
 Q_STATIC_ASSERT (offsetof(EngineBase, hasException)==offsetof(EngineBase, jsStackTop)+QT_POINTER_SIZE)
 Q_STATIC_ASSERT (offsetof(EngineBase, memoryManager)==offsetof(EngineBase, hasException)+8)
 Q_STATIC_ASSERT (offsetof(EngineBase, isInterrupted)+sizeof(EngineBase::isInterrupted)<=offsetof(EngineBase, hasException)+4)
 Q_STATIC_ASSERT (offsetof(EngineBase, globalObject) % QT_POINTER_SIZE==0)
void generateFunctionTable (Function *function, JSC::MacroAssemblerCodeRef *codeRef)
void destroyFunctionTable (Function *function, JSC::MacroAssemblerCodeRef *codeRef)
size_t exceptionHandlerSize ()
template<typename Container, typename UnaryPred>
Container::size_type reiterate (Container &container, typename Container::size_type first, UnaryPred &&p)
template<typename Container, class UnaryPred>
Container::size_type partition (Container &container, UnaryPred &&p)
bool operator== (const ObjectItem &a, const ObjectItem &b)
size_t qHash (const ObjectItem &i, size_t seed=0)
 Q_STATIC_ASSERT (std::is_standard_layout< Lookup >::value)
void setupQObjectLookup (Lookup *lookup, const QQmlData *ddata, const QQmlPropertyData *propertyData)
void setupQObjectLookup (Lookup *lookup, const QQmlData *ddata, const QQmlPropertyData *propertyData, const Object *self)
void setupQObjectLookup (Lookup *lookup, const QQmlData *ddata, const QQmlPropertyData *propertyData, const Object *self, const Object *qmlType)
template<typename QObjectMethod = Heap::QObjectMethod>
void setupQObjectMethodLookup (Lookup *lookup, const QQmlPropertyCache::ConstPtr &propertyCache, const QQmlPropertyData *propertyData, const Object *self, QObjectMethod *method)
bool qualifiesForMethodLookup (const QQmlPropertyData *propertyData)
void markIfPastMarkWeakValues (ExecutionEngine *engine, ReturnedValue rv)
bool canConvert (const QQmlPropertyCache *fromMo, const QQmlPropertyCache *toMo)
 DEFINE_OBJECT_VTABLE (QMetaObjectWrapper)
static std::pair< QObject *, int > extractQtSignal (const Value &value)
static Heap::ReferenceObject::Flags referenceFlags (ExecutionEngine *v4, const QQmlPropertyData &property)
static ReturnedValue loadProperty (ExecutionEngine *v4, Heap::Object *wrapper, QObject *object, const QQmlPropertyData &property)
static OptionalReturnedValue getDestroyOrToStringMethod (ExecutionEngine *v4, String *name, Heap::Object *qobj, bool *hasProperty=nullptr)
static OptionalReturnedValue getPropertyFromImports (ExecutionEngine *v4, String *name, const QQmlRefPointer< QQmlContextData > &qmlContext, QObject *qobj, bool *hasProperty=nullptr)
static void markChildQObjectsRecursively (QObject *parent, MarkStack *markStack)
static void recordObjectForCompilationUnits (QObject *o, const QQmlVMEMetaObject *vme, MemoryManager::ObjectsForCompilationUnit *recorded)
 DEFINE_OBJECT_VTABLE (QObjectWrapper)
template<typename Retrieve>
int MatchVariant (QMetaType conversionMetaType, Retrieve &&retrieve)
static int MatchScore (const Value &actual, QMetaType conversionMetaType)
static int numDefinedArguments (CallData *callArgs)
static bool requiresStrictArguments (const QQmlObjectOrGadget &object)
static bool ExactMatch (QMetaType passed, QMetaType required, const void *data)
 DEFINE_OBJECT_VTABLE (QObjectMethod)
 DEFINE_OBJECT_VTABLE (QmlSignalHandler)
size_t qHash (const RegExpCacheKey &key, size_t seed=0) noexcept
template<typename T>
bool qtTypeInherits (const QMetaObject *mo)
static QV4::LookupruntimeLookup (Function *f, uint i)
static QV4::ReturnedValue doInstanceof (ExecutionEngine *engine, const Value &lval, const Value &rval)
static Heap::Stringconvert_to_string_add (ExecutionEngine *engine, Value value)
static Q_NEVER_INLINE ReturnedValue getElementIntFallback (ExecutionEngine *engine, const Value &object, uint idx)
static Q_NEVER_INLINE ReturnedValue getElementFallback (ExecutionEngine *engine, const Value &object, const Value &index)
static Q_NEVER_INLINE bool setElementFallback (ExecutionEngine *engine, const Value &object, const Value &index, const Value &value)
static ObjectgetSuperBase (Scope &scope)
static ReturnedValue throwPropertyIsNotAFunctionTypeError (ExecutionEngine *engine, Value *thisObject, const QString &propertyName)
static CallArgs createSpreadArguments (Scope &scope, Value *argv, int argc)
template<typename Operation>
static const voidsymbol ()
 DEFINE_OBJECT_VTABLE (Sequence)
static ReturnedValue doGetIndexed (Heap::Sequence *p, qsizetype index)
static voidcreateVariantData (QMetaType type, QVariant *variant)
static const voidretrieveVariantData (QMetaType type, const QVariant *variant)
static void generateWarning (QV4::ExecutionEngine *v4, const QString &description)
static qsizetype sizeInline (const Heap::Sequence *p)
template<typename Action>
void convertAndDo (const QVariant &item, const QMetaType v, Action action)
static void appendInline (Heap::Sequence *p, const QVariant &item)
static void appendDefaultConstructedInline (Heap::Sequence *p, qsizetype num)
static void replaceInline (Heap::Sequence *p, qsizetype index, const QVariant &item)
static void removeLastInline (Heap::Sequence *p, qsizetype num)
bool convertToIterable (QMetaType metaType, void *data, QV4::Object *sequence)
static Heap::SequenceresolveHeapSequence (const Sequence *sequence, QMetaType typeHint)
 DEFINE_OBJECT_VTABLE (VariantAssociationObject)
QString binary (quintptr)
static void freeHugeChunk (ChunkAllocator *chunkAllocator, const HugeItemAllocator::HugeChunk &c)
static size_t dumpBins (BlockAllocator *b, const char *title)
static void logStepTiming (GCStateMachine *that, quint64 timing)
static GCState executeWithLoggingIfEnabled (GCStateMachine *that, GCStateInfo &stateInfo)
static StackProperties createStackProperties (void *base, qsizetype size=PlatformStackSize, qsizetype margin=PlatformSafetyMargin)
StackProperties stackPropertiesGeneric (qsizetype stackSize=0)
StackProperties stackProperties ()
static Heap::ReferenceObject::Flags referenceFlags (const QMetaObject *metaObject, int index)
static void doStaticReadCall (const QMetaObject *metaObject, Heap::QQmlValueTypeWrapper *valueTypeWrapper, int index, void **args)
 DEFINE_OBJECT_VTABLE (NamedNodeMap)
 DEFINE_OBJECT_VTABLE (NodeList)
 DEFINE_OBJECT_VTABLE (NodePrototype)
 DEFINE_OBJECT_VTABLE (Node)
 DEFINE_OBJECT_VTABLE (ModelObject)
 Q_STATIC_ASSERT (std::is_standard_layout< CallData >::value)
 Q_STATIC_ASSERT (offsetof(CallData, function)==CallData::Function *sizeof(StaticValue))
 Q_STATIC_ASSERT (offsetof(CallData, context)==CallData::Context *sizeof(StaticValue))
 Q_STATIC_ASSERT (offsetof(CallData, accumulator)==CallData::Accumulator *sizeof(StaticValue))
 Q_STATIC_ASSERT (offsetof(CallData, thisObject)==CallData::This *sizeof(StaticValue))
 Q_STATIC_ASSERT (offsetof(CallData, newTarget)==CallData::NewTarget *sizeof(StaticValue))
 Q_STATIC_ASSERT (offsetof(CallData, _argc)==CallData::Argc *sizeof(StaticValue))
 Q_STATIC_ASSERT (offsetof(CallData, args)==6 *sizeof(StaticValue))
 Q_STATIC_ASSERT (std::is_trivial_v< StaticValue >)
uint charToUInt (const QChar *ch)
uint charToUInt (const char *ch)
template<typename T>
uint stringToArrayIndex (const T *ch, const T *end)
uint stringToArrayIndex (const QString &str)
static QMLJS_READONLY ReturnedValue add_int32 (int a, int b)
static QMLJS_READONLY ReturnedValue sub_int32 (int a, int b)
static QMLJS_READONLY ReturnedValue mul_int32 (int a, int b)
template<class Class>
constexpr VTable::CallWithMetaTypes vtableMetaTypesCallEntry ()
template<class Class>
constexpr VTable::Call vtableJsTypesCallEntry ()
 Q_STATIC_ASSERT (std::is_trivial_v< QV4QPointer< QObject > >)
 Q_STATIC_ASSERT (sizeof(Chunk)==Chunk::ChunkSize)
 Q_STATIC_ASSERT ((1<< Chunk::ChunkShift)==Chunk::ChunkSize)
 Q_STATIC_ASSERT (1<< Chunk::SlotSizeShift==Chunk::SlotSize)
 Q_STATIC_ASSERT (sizeof(HeapItem)==Chunk::SlotSize)
 Q_STATIC_ASSERT (QT_POINTER_SIZE *8==Chunk::Bits)
 Q_STATIC_ASSERT ((1<< Chunk::BitShift)==Chunk::Bits)
template<typename Size>
static const voidincrementStackPointer (const void *base, Size amount)
template<typename Size>
static voiddecrementStackPointer (void *base, Size amount)
const voidcurrentStackPointer ()
Q_ALWAYS_INLINE void fence ()

Typedef Documentation

◆ Bool

typedef uint QV4::Bool

Definition at line 25 of file qv4runtimeapi_p.h.

◆ GCState

Definition at line 168 of file qv4mm_p.h.

◆ GCStateInfo

Definition at line 169 of file qv4mm_p.h.

◆ HeapObjectWrapper

template<typename T, int PhantomTag>
using QV4::HeapObjectWrapper = WriteBarrier::HeapObjectWrapper<T, PhantomTag>

Definition at line 34 of file qv4lookup_p.h.

◆ Primitive

Definition at line 351 of file qv4value_p.h.

◆ QObjectBiPointer

Definition at line 435 of file qv4qobjectwrapper_p.h.

◆ ReturnedValue

Definition at line 39 of file qv4staticvalue_p.h.

◆ ScopedArrayObject

Definition at line 167 of file qv4global_p.h.

◆ ScopedContext

Definition at line 169 of file qv4global_p.h.

◆ ScopedFunctionObject

Definition at line 168 of file qv4global_p.h.

◆ ScopedObject

Definition at line 166 of file qv4global_p.h.

◆ ScopedString

Definition at line 164 of file qv4global_p.h.

◆ ScopedStringOrSymbol

Definition at line 165 of file qv4global_p.h.

◆ StackTrace

Definition at line 289 of file qv4global_p.h.

Enumeration Type Documentation

◆ anonymous enum [1/2]

anonymous enum
Enumerator
MinSlotsGCLimit 
GCOverallocation 
MinSlotsGCLimit 
GCOverallocation 

Definition at line 73 of file qv4mm.cpp.

◆ anonymous enum [2/2]

anonymous enum
Enumerator
MinSlotsGCLimit 
GCOverallocation 
MinSlotsGCLimit 
GCOverallocation 

Definition at line 73 of file qv4mm.cpp.

◆ AtomicModifyOps

Enumerator
AtomicAdd 
AtomicAnd 
AtomicExchange 
AtomicOr 
AtomicSub 
AtomicXor 
NAtomicModifyOps 

Definition at line 41 of file qv4typedarray_p.h.

◆ CoercionProblem

Enumerator
InsufficientAnnotation 
InvalidListType 

Definition at line 269 of file qv4jscall_p.h.

◆ GeneratorState

enum class QV4::GeneratorState
strong
Enumerator
Undefined 
SuspendedStart 
SuspendedYield 
Executing 
Completed 

Definition at line 26 of file qv4generatorobject_p.h.

◆ IteratorKind

Enumerator
KeyIteratorKind 
ValueIteratorKind 
KeyValueIteratorKind 

Definition at line 26 of file qv4iterator_p.h.

◆ ObjectLiteralArgument

enum class QV4::ObjectLiteralArgument
strong
Enumerator
Value 
Method 
Getter 
Setter 

Definition at line 28 of file qv4compilerglobal_p.h.

◆ PropertyFlag

Enumerator
Attr_Data 
Attr_Accessor 
Attr_NotWritable 
Attr_NotEnumerable 
Attr_NotConfigurable 
Attr_ReadOnly 
Attr_ReadOnly_ButConfigurable 
Attr_Invalid 

Definition at line 180 of file qv4global_p.h.

◆ Register [1/2]

enum QV4::Register : UINT8
Enumerator
RAX 
RCX 
RDX 
RBX 
RSP 
RBP 
RSI 
RDI 
NONE 
RAX 
RCX 
RDX 
RBX 
RSP 
RBP 
RSI 
RDI 
NONE 

Definition at line 30 of file qv4functiontable_win64.cpp.

◆ Register [2/2]

enum QV4::Register : UINT8
Enumerator
RAX 
RCX 
RDX 
RBX 
RSP 
RBP 
RSI 
RDI 
NONE 
RAX 
RCX 
RDX 
RBX 
RSP 
RBP 
RSI 
RDI 
NONE 

Definition at line 30 of file qv4functiontable_win64.cpp.

◆ StackDefaults [1/2]

Enumerator
DefaultSafetyMargin 
PlatformStackSize 
PlatformSafetyMargin 
DefaultSafetyMargin 
PlatformStackSize 
PlatformSafetyMargin 

Definition at line 46 of file qv4stacklimits.cpp.

◆ StackDefaults [2/2]

Enumerator
DefaultSafetyMargin 
PlatformStackSize 
PlatformSafetyMargin 
DefaultSafetyMargin 
PlatformStackSize 
PlatformSafetyMargin 

Definition at line 46 of file qv4stacklimits.cpp.

◆ TypedArrayType

Enumerator
Int8Array 
UInt8Array 
Int16Array 
UInt16Array 
Int32Array 
UInt32Array 
UInt8ClampedArray 
Float32Array 
Float64Array 
NTypedArrayTypes 

Definition at line 28 of file qv4typedarray_p.h.

◆ TypeHint

Enumerator
PREFERREDTYPE_HINT 
NUMBER_HINT 
STRING_HINT 

Definition at line 56 of file qv4runtime_p.h.

◆ UnwindOpcode [1/2]

enum QV4::UnwindOpcode : UINT8
Enumerator
UWOP_PUSH_NONVOL 
UWOP_ALLOC_LARGE 
UWOP_ALLOC_SMALL 
UWOP_SET_FPREG 
UWOP_SAVE_NONVOL 
UWOP_SAVE_NONVOL_FAR 
UWOP_SAVE_XMM128 
UWOP_SAVE_XMM128_FAR 
UWOP_PUSH_MACHFRAME 
UWOP_PUSH_NONVOL 
UWOP_ALLOC_LARGE 
UWOP_ALLOC_SMALL 
UWOP_SET_FPREG 
UWOP_SAVE_NONVOL 
UWOP_SAVE_NONVOL_FAR 
UWOP_SAVE_XMM128 
UWOP_SAVE_XMM128_FAR 
UWOP_PUSH_MACHFRAME 

Definition at line 17 of file qv4functiontable_win64.cpp.

◆ UnwindOpcode [2/2]

enum QV4::UnwindOpcode : UINT8
Enumerator
UWOP_PUSH_NONVOL 
UWOP_ALLOC_LARGE 
UWOP_ALLOC_SMALL 
UWOP_SET_FPREG 
UWOP_SAVE_NONVOL 
UWOP_SAVE_NONVOL_FAR 
UWOP_SAVE_XMM128 
UWOP_SAVE_XMM128_FAR 
UWOP_PUSH_MACHFRAME 
UWOP_PUSH_NONVOL 
UWOP_ALLOC_LARGE 
UWOP_ALLOC_SMALL 
UWOP_SET_FPREG 
UWOP_SAVE_NONVOL 
UWOP_SAVE_NONVOL_FAR 
UWOP_SAVE_XMM128 
UWOP_SAVE_XMM128_FAR 
UWOP_PUSH_MACHFRAME 

Definition at line 17 of file qv4functiontable_win64.cpp.

Function Documentation

◆ add_int32()

QMLJS_READONLY ReturnedValue QV4::add_int32 ( int a,
int b )
inlinestatic

Definition at line 35 of file qv4math_p.h.

◆ appendDefaultConstructedInline()

void QV4::appendDefaultConstructedInline ( Heap::Sequence * p,
qsizetype num )
static

Definition at line 366 of file qv4sequenceobject.cpp.

References QV4::Heap::Sequence::storagePointer().

Here is the call graph for this function:

◆ appendInline()

void QV4::appendInline ( Heap::Sequence * p,
const QVariant & item )
static

Definition at line 359 of file qv4sequenceobject.cpp.

References QV4::Heap::Sequence::storagePointer().

Here is the call graph for this function:

◆ binary()

QString QV4::binary ( quintptr )

Definition at line 254 of file qv4mm.cpp.

◆ callDatafromJS()

template<typename Args>
CallData * QV4::callDatafromJS ( const Scope & scope,
const Args * args,
const FunctionObject * f )

Definition at line 41 of file qv4jscall_p.h.

◆ canConvert()

bool QV4::canConvert ( const QQmlPropertyCache * fromMo,
const QQmlPropertyCache * toMo )
inline

Definition at line 269 of file qv4qobjectwrapper_p.h.

◆ charToUInt() [1/2]

uint QV4::charToUInt ( const char * ch)
inline

Definition at line 28 of file qv4stringtoarrayindex_p.h.

◆ charToUInt() [2/2]

uint QV4::charToUInt ( const QChar * ch)
inline

Definition at line 27 of file qv4stringtoarrayindex_p.h.

◆ checkedResult()

ReturnedValue QV4::checkedResult ( QV4::ExecutionEngine * v4,
ReturnedValue result )
inline

Definition at line 370 of file qv4functionobject_p.h.

◆ coerce() [1/2]

ReturnedValue QV4::coerce ( ExecutionEngine * engine,
const Value & value,
const QQmlType & qmlType,
bool isList )
inline

Definition at line 342 of file qv4jscall_p.h.

References InsufficientAnnotation.

◆ coerce() [2/2]

void QV4::coerce ( ExecutionEngine * engine,
QMetaType fromType,
const void * from,
QMetaType toType,
void * to )
inline

Definition at line 460 of file qv4jscall_p.h.

References QV4::Scope::Scope().

Here is the call graph for this function:

◆ coerceAndCall() [1/2]

template<typename Callable>
ReturnedValue QV4::coerceAndCall ( ExecutionEngine * engine,
const Function::JSTypedFunction * typedFunction,
const CompiledData::Function * compiledFunction,
const Value * argv,
int argc,
Callable call )

Definition at line 440 of file qv4jscall_p.h.

References QV4::Scope::Scope(), QV4::JSCallArguments::argc, and QV4::JSCallArguments::args.

Here is the call graph for this function:

◆ coerceAndCall() [2/2]

template<typename TypedFunction, typename Callable>
void QV4::coerceAndCall ( ExecutionEngine * engine,
const TypedFunction * typedFunction,
void ** argv,
const QMetaType * types,
int argc,
Callable call )

Definition at line 513 of file qv4jscall_p.h.

◆ coerceListType()

ReturnedValue QV4::coerceListType ( ExecutionEngine * engine,
const Value & value,
const QQmlType & qmlType )
inline

Definition at line 278 of file qv4jscall_p.h.

References QV4::Scope::Scope(), QV4::ScopedValue::ScopedValue(), QV4::PropertyKey::fromArrayIndex(), and InvalidListType.

Here is the call graph for this function:

◆ coerceQObject()

QObject * QV4::coerceQObject ( const Value & value,
const QQmlType & qmlType )
inline

Definition at line 256 of file qv4jscall_p.h.

◆ convert_to_string_add()

Heap::String * QV4::convert_to_string_add ( ExecutionEngine * engine,
Value value )
static

Definition at line 651 of file qv4runtime.cpp.

◆ convertAndCall() [1/2]

template<typename Callable, typename ConstructReturnValue = decltype(defaultConstructReturnValue), typename ConvertReturnValue = decltype(defaultConvertReturnValue), typename ConversionErrorHandler = decltype(defaultConversionErrorHandler)>
ReturnedValue QV4::convertAndCall ( ExecutionEngine * engine,
const QMetaType * types,
int numTypes,
const Value * argv,
int argc,
Callable && call,
ConstructReturnValue && constructReturnValue = defaultConstructReturnValue,
ConvertReturnValue && convertReturnValue = defaultConvertReturnValue,
ConversionErrorHandler && errorHandler = defaultConversionErrorHandler )

Definition at line 153 of file qv4jscall_p.h.

References QV4::SparseArray::end().

Here is the call graph for this function:

◆ convertAndCall() [2/2]

template<typename Callable>
bool QV4::convertAndCall ( ExecutionEngine * engine,
QObject * thisObject,
void ** a,
const QMetaType * types,
int argc,
Callable call )

Definition at line 211 of file qv4jscall_p.h.

References QV4::JSCallArguments::JSCallArguments(), QV4::Scope::Scope(), QV4::JSCallArguments::args, and QV4::ScopedValue::operator->().

Here is the call graph for this function:

◆ convertAndDo()

template<typename Action>
void QV4::convertAndDo ( const QVariant & item,
const QMetaType v,
Action action )

Definition at line 345 of file qv4sequenceobject.cpp.

◆ convertToIterable()

bool QV4::convertToIterable ( QMetaType metaType,
void * data,
QV4::Object * sequence )

Definition at line 963 of file qv4sequenceobject.cpp.

◆ cppThisObject()

QObject * QV4::cppThisObject ( const Value * thisObject)
inline

Definition at line 112 of file qv4jscall_p.h.

◆ createSpreadArguments()

CallArgs QV4::createSpreadArguments ( Scope & scope,
Value * argv,
int argc )
static

Definition at line 1598 of file qv4runtime.cpp.

◆ createStackProperties()

StackProperties QV4::createStackProperties ( void * base,
qsizetype size = PlatformStackSize,
qsizetype margin = PlatformSafetyMargin )
static

Definition at line 75 of file qv4stacklimits.cpp.

◆ createVariantData()

void * QV4::createVariantData ( QMetaType type,
QVariant * variant )
static

Definition at line 95 of file qv4sequenceobject.cpp.

◆ currentStackPointer()

const void * QV4::currentStackPointer ( )
inline

Definition at line 61 of file qv4stacklimits_p.h.

◆ decrementStackPointer()

template<typename Size>
void * QV4::decrementStackPointer ( void * base,
Size amount )
static

Definition at line 48 of file qv4stacklimits_p.h.

◆ defaultConstructReturnValue()

void QV4::defaultConstructReturnValue ( QMetaType returnType,
void * returnValue )
inline

Definition at line 121 of file qv4jscall_p.h.

◆ defaultConversionErrorHandler()

bool QV4::defaultConversionErrorHandler ( QMetaType argumentType,
void * argument,
qsizetype i )
inline

Definition at line 136 of file qv4jscall_p.h.

◆ defaultConvertReturnValue()

ReturnedValue QV4::defaultConvertReturnValue ( ExecutionEngine * engine,
QMetaType returnType,
void * returnValue )
inline

Definition at line 127 of file qv4jscall_p.h.

◆ DEFINE_OBJECT_VTABLE() [1/11]

QV4::DEFINE_OBJECT_VTABLE ( ModelObject )

◆ DEFINE_OBJECT_VTABLE() [2/11]

QV4::DEFINE_OBJECT_VTABLE ( NamedNodeMap )

◆ DEFINE_OBJECT_VTABLE() [3/11]

QV4::DEFINE_OBJECT_VTABLE ( Node )

◆ DEFINE_OBJECT_VTABLE() [4/11]

QV4::DEFINE_OBJECT_VTABLE ( NodeList )

◆ DEFINE_OBJECT_VTABLE() [5/11]

QV4::DEFINE_OBJECT_VTABLE ( NodePrototype )

◆ DEFINE_OBJECT_VTABLE() [6/11]

QV4::DEFINE_OBJECT_VTABLE ( QMetaObjectWrapper )

◆ DEFINE_OBJECT_VTABLE() [7/11]

QV4::DEFINE_OBJECT_VTABLE ( QmlSignalHandler )

◆ DEFINE_OBJECT_VTABLE() [8/11]

QV4::DEFINE_OBJECT_VTABLE ( QObjectMethod )

◆ DEFINE_OBJECT_VTABLE() [9/11]

QV4::DEFINE_OBJECT_VTABLE ( QObjectWrapper )

◆ DEFINE_OBJECT_VTABLE() [10/11]

QV4::DEFINE_OBJECT_VTABLE ( Sequence )

◆ DEFINE_OBJECT_VTABLE() [11/11]

QV4::DEFINE_OBJECT_VTABLE ( VariantAssociationObject )

◆ destroyFunctionTable()

void QV4::destroyFunctionTable ( Function * function,
JSC::MacroAssemblerCodeRef * codeRef )

Definition at line 17 of file qv4functiontable_noop.cpp.

◆ doCall()

ReturnedValue QV4::doCall ( QV4::Function * self,
const QV4::Value * thisObject,
const QV4::Value * argv,
int argc,
QV4::ExecutionContext * context )
static

Definition at line 42 of file qv4function.cpp.

◆ doGetIndexed()

ReturnedValue QV4::doGetIndexed ( Heap::Sequence * p,
qsizetype index )
static

Definition at line 62 of file qv4sequenceobject.cpp.

References QV4::Heap::Sequence::isStoredInline(), and QV4::Heap::Sequence::storagePointer().

Here is the call graph for this function:

◆ doInstanceof()

QV4::ReturnedValue QV4::doInstanceof ( ExecutionEngine * engine,
const Value & lval,
const Value & rval )
static

Definition at line 359 of file qv4runtime.cpp.

◆ doStaticReadCall()

void QV4::doStaticReadCall ( const QMetaObject * metaObject,
Heap::QQmlValueTypeWrapper * valueTypeWrapper,
int index,
void ** args )
static

Definition at line 276 of file qqmlvaluetypewrapper.cpp.

◆ dumpBins()

size_t QV4::dumpBins ( BlockAllocator * b,
const char * title )
static

Definition at line 1264 of file qv4mm.cpp.

◆ dumpConstantTable()

void QV4::dumpConstantTable ( const StaticValue * constants,
uint count )
static

Definition at line 64 of file qv4executablecompilationunit.cpp.

◆ ExactMatch()

bool QV4::ExactMatch ( QMetaType passed,
QMetaType required,
const void * data )
static

Definition at line 2191 of file qv4qobjectwrapper.cpp.

◆ exceptionHandlerSize()

size_t QV4::exceptionHandlerSize ( )

Definition at line 23 of file qv4functiontable_noop.cpp.

◆ executeWithLoggingIfEnabled()

GCState QV4::executeWithLoggingIfEnabled ( GCStateMachine * that,
GCStateInfo & stateInfo )
static

Definition at line 1578 of file qv4mm.cpp.

◆ extractQtSignal()

std::pair< QObject *, int > QV4::extractQtSignal ( const Value & value)
static

Definition at line 82 of file qv4qobjectwrapper.cpp.

◆ fence()

Q_ALWAYS_INLINE void QV4::fence ( )

Definition at line 126 of file qv4writebarrier_p.h.

◆ freeHugeChunk()

void QV4::freeHugeChunk ( ChunkAllocator * chunkAllocator,
const HugeItemAllocator::HugeChunk & c )
static

Definition at line 588 of file qv4mm.cpp.

◆ generateFunctionTable()

void QV4::generateFunctionTable ( Function * function,
JSC::MacroAssemblerCodeRef * codeRef )

Definition at line 11 of file qv4functiontable_noop.cpp.

◆ generateWarning()

void QV4::generateWarning ( QV4::ExecutionEngine * v4,
const QString & description )
static

Definition at line 111 of file qv4sequenceobject.cpp.

◆ getDestroyOrToStringMethod()

OptionalReturnedValue QV4::getDestroyOrToStringMethod ( ExecutionEngine * v4,
String * name,
Heap::Object * qobj,
bool * hasProperty = nullptr )
static

Definition at line 392 of file qv4qobjectwrapper.cpp.

◆ getElementFallback()

Q_NEVER_INLINE ReturnedValue QV4::getElementFallback ( ExecutionEngine * engine,
const Value & object,
const Value & index )
static

Definition at line 742 of file qv4runtime.cpp.

◆ getElementIntFallback()

Q_NEVER_INLINE ReturnedValue QV4::getElementIntFallback ( ExecutionEngine * engine,
const Value & object,
uint idx )
static

Definition at line 709 of file qv4runtime.cpp.

◆ getPropertyFromImports()

OptionalReturnedValue QV4::getPropertyFromImports ( ExecutionEngine * v4,
String * name,
const QQmlRefPointer< QQmlContextData > & qmlContext,
QObject * qobj,
bool * hasProperty = nullptr )
static

Definition at line 408 of file qv4qobjectwrapper.cpp.

◆ getSuperBase()

Object * QV4::getSuperBase ( Scope & scope)
static

Definition at line 1086 of file qv4runtime.cpp.

◆ hasExceptionOrIsInterrupted()

bool QV4::hasExceptionOrIsInterrupted ( ExecutionEngine * engine)
inline

Definition at line 36 of file qv4scopedvalue_p.h.

◆ incrementStackPointer()

template<typename Size>
const void * QV4::incrementStackPointer ( const void * base,
Size amount )
static

Definition at line 38 of file qv4stacklimits_p.h.

◆ isSpecificType()

bool QV4::isSpecificType ( const CompiledData::ParameterType & type)
static

Definition at line 100 of file qv4function.cpp.

◆ loadProperty()

ReturnedValue QV4::loadProperty ( ExecutionEngine * v4,
Heap::Object * wrapper,
QObject * object,
const QQmlPropertyData & property )
static

Definition at line 115 of file qv4qobjectwrapper.cpp.

◆ logStepTiming()

void QV4::logStepTiming ( GCStateMachine * that,
quint64 timing )
static

Definition at line 1550 of file qv4mm.cpp.

◆ markChildQObjectsRecursively()

void QV4::markChildQObjectsRecursively ( QObject * parent,
MarkStack * markStack )
static

Definition at line 1492 of file qv4qobjectwrapper.cpp.

◆ markIfPastMarkWeakValues()

void QV4::markIfPastMarkWeakValues ( ExecutionEngine * engine,
ReturnedValue rv )
inline

Definition at line 231 of file qv4qobjectwrapper_p.h.

◆ MatchScore()

int QV4::MatchScore ( const Value & actual,
QMetaType conversionMetaType )
static

Definition at line 1656 of file qv4qobjectwrapper.cpp.

◆ MatchVariant()

template<typename Retrieve>
int QV4::MatchVariant ( QMetaType conversionMetaType,
Retrieve && retrieve )

Definition at line 1620 of file qv4qobjectwrapper.cpp.

◆ mul_int32()

QMLJS_READONLY ReturnedValue QV4::mul_int32 ( int a,
int b )
inlinestatic

Definition at line 51 of file qv4math_p.h.

◆ numDefinedArguments()

int QV4::numDefinedArguments ( CallData * callArgs)
static

Definition at line 1885 of file qv4qobjectwrapper.cpp.

◆ operator==()

bool QV4::operator== ( const ObjectItem & a,
const ObjectItem & b )
inline

Definition at line 42 of file qv4jsonobject_p.h.

References QV4::ObjectItem::o.

◆ partition()

template<typename Container, class UnaryPred>
Container::size_type QV4::partition ( Container & container,
UnaryPred && p )

Definition at line 60 of file qv4mm_p.h.

◆ populateJSCallArguments()

QT_BEGIN_NAMESPACE void QV4::populateJSCallArguments ( ExecutionEngine * v4,
JSCallArguments & jsCall,
int argc,
void ** args,
const QMetaType * types )

Sets the arguments of JSCallData from type erased args based on type information provided by types

Definition at line 19 of file qv4jscall.cpp.

◆ Q_DECLARE_OPERATORS_FOR_FLAGS()

QV4::Q_DECLARE_OPERATORS_FOR_FLAGS ( ExecutionEngine::DiskCacheOptions )

◆ Q_STATIC_ASSERT() [1/32]

QV4::Q_STATIC_ASSERT ( (1<< Chunk::BitShift) = =Chunk::Bits)

◆ Q_STATIC_ASSERT() [2/32]

QV4::Q_STATIC_ASSERT ( (1<< Chunk::ChunkShift) = =Chunk::ChunkSize)

◆ Q_STATIC_ASSERT() [3/32]

QV4::Q_STATIC_ASSERT ( 1<< Chunk::SlotSizeShift = =Chunk::SlotSize)

◆ Q_STATIC_ASSERT() [4/32]

QV4::Q_STATIC_ASSERT ( offsetof(CallData, _argc) = =CallData::Argc *sizeof(StaticValue))

◆ Q_STATIC_ASSERT() [5/32]

QV4::Q_STATIC_ASSERT ( offsetof(CallData, accumulator) = =CallData::Accumulator *sizeof(StaticValue))

◆ Q_STATIC_ASSERT() [6/32]

QV4::Q_STATIC_ASSERT ( offsetof(CallData, args) = =6 *sizeof(StaticValue))

◆ Q_STATIC_ASSERT() [7/32]

QV4::Q_STATIC_ASSERT ( offsetof(CallData, context) = =CallData::Context *sizeof(StaticValue))

◆ Q_STATIC_ASSERT() [8/32]

QV4::Q_STATIC_ASSERT ( offsetof(CallData, function) = =CallData::Function *sizeof(StaticValue))

◆ Q_STATIC_ASSERT() [9/32]

QV4::Q_STATIC_ASSERT ( offsetof(CallData, newTarget) = =CallData::NewTarget *sizeof(StaticValue))

◆ Q_STATIC_ASSERT() [10/32]

QV4::Q_STATIC_ASSERT ( offsetof(CallData, thisObject) = =CallData::This *sizeof(StaticValue))

◆ Q_STATIC_ASSERT() [11/32]

QV4::Q_STATIC_ASSERT ( offsetof(EngineBase, currentStackFrame) = =0)

◆ Q_STATIC_ASSERT() [12/32]

QV4::Q_STATIC_ASSERT ( offsetof(EngineBase, globalObject) % QT_POINTER_SIZE = =0)

◆ Q_STATIC_ASSERT() [13/32]

QV4::Q_STATIC_ASSERT ( offsetof(EngineBase, hasException) = =offsetof(EngineBase, jsStackTop)+QT_POINTER_SIZE)

◆ Q_STATIC_ASSERT() [14/32]

QV4::Q_STATIC_ASSERT ( offsetof(EngineBase, isInterrupted)+sizeof(EngineBase::isInterrupted)<=offsetof(EngineBase, hasException)+ 4)

◆ Q_STATIC_ASSERT() [15/32]

QV4::Q_STATIC_ASSERT ( offsetof(EngineBase, jsStackTop) = =offsetof(EngineBase, currentStackFrame)+QT_POINTER_SIZE)

◆ Q_STATIC_ASSERT() [16/32]

QV4::Q_STATIC_ASSERT ( offsetof(EngineBase, memoryManager) = =offsetof(EngineBase, hasException)+8)

◆ Q_STATIC_ASSERT() [17/32]

QV4::Q_STATIC_ASSERT ( offsetof(ValueArray< 0 >, values) = =8)

◆ Q_STATIC_ASSERT() [18/32]

QV4::Q_STATIC_ASSERT ( QT_POINTER_SIZE * 8 = =Chunk::Bits)

◆ Q_STATIC_ASSERT() [19/32]

QV4::Q_STATIC_ASSERT ( sizeof(Chunk) = =Chunk::ChunkSize)

◆ Q_STATIC_ASSERT() [20/32]

QV4::Q_STATIC_ASSERT ( sizeof(CppStackFrame) = =sizeof(JSTypesStackFrame))

Referenced by QV4::MemoryManager::allocManaged().

Here is the caller graph for this function:

◆ Q_STATIC_ASSERT() [21/32]

QV4::Q_STATIC_ASSERT ( sizeof(HeapItem) = =Chunk::SlotSize)

◆ Q_STATIC_ASSERT() [22/32]

QV4::Q_STATIC_ASSERT ( sizeof(Value) = =sizeof(StaticValue))

◆ Q_STATIC_ASSERT() [23/32]

QV4::Q_STATIC_ASSERT ( std::is_standard_layout< CallData >::value )

◆ Q_STATIC_ASSERT() [24/32]

QV4::Q_STATIC_ASSERT ( std::is_standard_layout< EngineBase >::value )

◆ Q_STATIC_ASSERT() [25/32]

QV4::Q_STATIC_ASSERT ( std::is_standard_layout< FunctionData >::value )

◆ Q_STATIC_ASSERT() [26/32]

QV4::Q_STATIC_ASSERT ( std::is_standard_layout< Lookup >::value )

◆ Q_STATIC_ASSERT() [27/32]

QV4::Q_STATIC_ASSERT ( std::is_standard_layout_v< CppStackFrame > )

◆ Q_STATIC_ASSERT() [28/32]

QV4::Q_STATIC_ASSERT ( std::is_standard_layout_v< JSTypesStackFrame > )

◆ Q_STATIC_ASSERT() [29/32]

QV4::Q_STATIC_ASSERT ( std::is_standard_layout_v< MetaTypesStackFrame > )

◆ Q_STATIC_ASSERT() [30/32]

QV4::Q_STATIC_ASSERT ( std::is_trivial_v< QV4QPointer< QObject > > )

◆ Q_STATIC_ASSERT() [31/32]

QV4::Q_STATIC_ASSERT ( std::is_trivial_v< StaticValue > )

◆ Q_STATIC_ASSERT() [32/32]

QV4::Q_STATIC_ASSERT ( std::is_trivial_v< Value > )

◆ qHash() [1/2]

size_t QV4::qHash ( const ObjectItem & i,
size_t seed = 0 )
inline

Definition at line 45 of file qv4jsonobject_p.h.

References QV4::ObjectItem::o.

◆ qHash() [2/2]

size_t QV4::qHash ( const RegExpCacheKey & key,
size_t seed = 0 )
inlinenoexcept

Definition at line 137 of file qv4regexp_p.h.

◆ qtTypeInherits()

template<typename T>
bool QV4::qtTypeInherits ( const QMetaObject * mo)

Definition at line 16 of file qv4resolvedtypereference.cpp.

◆ qualifiesForMethodLookup()

bool QV4::qualifiesForMethodLookup ( const QQmlPropertyData * propertyData)
inline

Definition at line 499 of file qv4lookup_p.h.

◆ qYouForgotTheQ_MANAGED_Macro() [1/2]

template<typename T>
int QV4::qYouForgotTheQ_MANAGED_Macro ( T ,
T  )
inline

Definition at line 33 of file qv4managed_p.h.

◆ qYouForgotTheQ_MANAGED_Macro() [2/2]

template<typename T1, typename T2>
void QV4::qYouForgotTheQ_MANAGED_Macro ( T1 ,
T2  )
inline

Definition at line 36 of file qv4managed_p.h.

◆ recordObjectForCompilationUnits()

void QV4::recordObjectForCompilationUnits ( QObject * o,
const QQmlVMEMetaObject * vme,
MemoryManager::ObjectsForCompilationUnit * recorded )
static

Definition at line 1506 of file qv4qobjectwrapper.cpp.

◆ referenceFlags() [1/2]

Heap::ReferenceObject::Flags QV4::referenceFlags ( const QMetaObject * metaObject,
int index )
static

Definition at line 269 of file qqmlvaluetypewrapper.cpp.

◆ referenceFlags() [2/2]

Heap::ReferenceObject::Flags QV4::referenceFlags ( ExecutionEngine * v4,
const QQmlPropertyData & property )
static

Definition at line 99 of file qv4qobjectwrapper.cpp.

◆ ReferenceObject::readReference< Heap::DateObject >()

template<>
bool QV4::ReferenceObject::readReference< Heap::DateObject > ( Heap::DateObject * ref)
inline

Definition at line 378 of file qv4dateobject_p.h.

◆ ReferenceObject::writeBack< Heap::DateObject >()

template<>
bool QV4::ReferenceObject::writeBack< Heap::DateObject > ( Heap::DateObject * ref,
int internalIndex )
inline

Definition at line 384 of file qv4dateobject_p.h.

◆ reiterate()

template<typename Container, typename UnaryPred>
Container::size_type QV4::reiterate ( Container & container,
typename Container::size_type first,
UnaryPred && p )

Definition at line 35 of file qv4mm_p.h.

◆ removeLastInline()

void QV4::removeLastInline ( Heap::Sequence * p,
qsizetype num )
static

Definition at line 383 of file qv4sequenceobject.cpp.

References QV4::Heap::Sequence::storagePointer().

Here is the call graph for this function:

◆ replaceInline()

void QV4::replaceInline ( Heap::Sequence * p,
qsizetype index,
const QVariant & item )
static

Definition at line 376 of file qv4sequenceobject.cpp.

References QV4::Heap::Sequence::storagePointer().

Here is the call graph for this function:

◆ requiresStrictArguments()

bool QV4::requiresStrictArguments ( const QQmlObjectOrGadget & object)
static

Definition at line 1895 of file qv4qobjectwrapper.cpp.

◆ resolveHeapSequence()

Heap::Sequence * QV4::resolveHeapSequence ( const Sequence * sequence,
QMetaType typeHint )
static

Definition at line 1096 of file qv4sequenceobject.cpp.

◆ retrieveVariantData()

const void * QV4::retrieveVariantData ( QMetaType type,
const QVariant * variant )
static

Definition at line 103 of file qv4sequenceobject.cpp.

◆ runtimeLookup()

QV4::Lookup * QV4::runtimeLookup ( Function * f,
uint i )
static

Definition at line 190 of file qv4runtime.cpp.

◆ setElementFallback()

Q_NEVER_INLINE bool QV4::setElementFallback ( ExecutionEngine * engine,
const Value & object,
const Value & index,
const Value & value )
static

Definition at line 786 of file qv4runtime.cpp.

◆ setupQObjectLookup() [1/3]

void QV4::setupQObjectLookup ( Lookup * lookup,
const QQmlData * ddata,
const QQmlPropertyData * propertyData )
inline

Definition at line 456 of file qv4lookup_p.h.

◆ setupQObjectLookup() [2/3]

void QV4::setupQObjectLookup ( Lookup * lookup,
const QQmlData * ddata,
const QQmlPropertyData * propertyData,
const Object * self )
inline

Definition at line 466 of file qv4lookup_p.h.

◆ setupQObjectLookup() [3/3]

void QV4::setupQObjectLookup ( Lookup * lookup,
const QQmlData * ddata,
const QQmlPropertyData * propertyData,
const Object * self,
const Object * qmlType )
inline

Definition at line 475 of file qv4lookup_p.h.

◆ setupQObjectMethodLookup()

template<typename QObjectMethod = Heap::QObjectMethod>
void QV4::setupQObjectMethodLookup ( Lookup * lookup,
const QQmlPropertyCache::ConstPtr & propertyCache,
const QQmlPropertyData * propertyData,
const Object * self,
QObjectMethod * method )
inline

Definition at line 485 of file qv4lookup_p.h.

◆ sizeInline()

qsizetype QV4::sizeInline ( const Heap::Sequence * p)
static

Definition at line 126 of file qv4sequenceobject.cpp.

References QV4::Heap::Sequence::isStoredInline(), and QV4::Heap::Sequence::storagePointer().

Here is the call graph for this function:

◆ sortHelper()

template<typename RandomAccessIterator, typename LessThan>
void QV4::sortHelper ( RandomAccessIterator start,
RandomAccessIterator end,
LessThan lessThan )

Definition at line 250 of file qv4arraydata_p.h.

◆ stackProperties()

StackProperties QV4::stackProperties ( )

Definition at line 354 of file qv4stacklimits.cpp.

◆ stackPropertiesGeneric()

StackProperties QV4::stackPropertiesGeneric ( qsizetype stackSize = 0)

Definition at line 228 of file qv4stacklimits.cpp.

◆ stringToArrayIndex() [1/2]

uint QV4::stringToArrayIndex ( const QString & str)
inline

Definition at line 54 of file qv4stringtoarrayindex_p.h.

◆ stringToArrayIndex() [2/2]

template<typename T>
uint QV4::stringToArrayIndex ( const T * ch,
const T * end )

Definition at line 31 of file qv4stringtoarrayindex_p.h.

◆ sub_int32()

QMLJS_READONLY ReturnedValue QV4::sub_int32 ( int a,
int b )
inlinestatic

Definition at line 43 of file qv4math_p.h.

◆ symbol()

template<typename Operation>
const void * QV4::symbol ( )
inlinestatic

Definition at line 2474 of file qv4runtime.cpp.

◆ throwPropertyIsNotAFunctionTypeError()

ReturnedValue QV4::throwPropertyIsNotAFunctionTypeError ( ExecutionEngine * engine,
Value * thisObject,
const QString & propertyName )
static

Definition at line 1435 of file qv4runtime.cpp.

◆ toString()

QString QV4::toString ( QV4::ReturnedValue v)
static

Definition at line 49 of file qv4executablecompilationunit.cpp.

◆ value_convert()

template<typename T>
ReturnedValue QV4::value_convert ( ExecutionEngine * e,
const Value & v )

◆ value_convert< Object >()

template<>
ReturnedValue QV4::value_convert< Object > ( ExecutionEngine * e,
const Value & v )
inline

Definition at line 520 of file qv4object_p.h.

◆ value_convert< String >()

template<>
ReturnedValue QV4::value_convert< String > ( ExecutionEngine * e,
const Value & v )
inline

Definition at line 279 of file qv4string_p.h.

◆ vtableJsTypesCallEntry()

template<class Class>
VTable::Call QV4::vtableJsTypesCallEntry ( )
constexpr

Definition at line 152 of file qv4vtable_p.h.

◆ vtableMetaTypesCallEntry()

template<class Class>
VTable::CallWithMetaTypes QV4::vtableMetaTypesCallEntry ( )
constexpr

Definition at line 111 of file qv4vtable_p.h.

◆ warnAboutCoercionToVoid()

void QV4::warnAboutCoercionToVoid ( ExecutionEngine * engine,
const Value & value,
CoercionProblem problem )

Definition at line 26 of file qv4jscall.cpp.

References InsufficientAnnotation, and InvalidListType.