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  Compiler
namespace  Debugging
namespace  Heap
namespace  JIT
namespace  Moth
namespace  Profiling
namespace  Promise

Classes

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

Typedefs

typedef Scoped< StringScopedString
typedef Scoped< StringOrSymbolScopedStringOrSymbol
typedef Scoped< ObjectScopedObject
typedef Scoped< ArrayObjectScopedArrayObject
typedef Scoped< FunctionObjectScopedFunctionObject
typedef Scoped< ExecutionContextScopedContext
typedef QVector< 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 QHash< const char *, int > MMStatsHash
typedef quint64 ReturnedValue
typedef void(* ClassDestroyStatsCallback) (const char *)

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)
template<typename Callable>
ReturnedValue convertAndCall (ExecutionEngine *engine, const Function::AOTCompiledFunction *aotFunction, const Value *thisObject, const Value *argv, int argc, Callable call)
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 ()
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 QQmlData *ddata, 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)
 DEFINE_OBJECT_VTABLE (QObjectWrapper)
static ReturnedValue CallMethod (const QQmlObjectOrGadget &object, int index, QMetaType returnType, int argCount, const QMetaType *argTypes, ExecutionEngine *engine, CallData *callArgs, QMetaObject::Call callType=QMetaObject::InvokeMetaMethod)
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 increaseFreedCountForClass (const char *className)
static void freeHugeChunk (ChunkAllocator *chunkAllocator, const HugeItemAllocator::HugeChunk &c, ClassDestroyStatsCallback classCountPtr)
static size_t dumpBins (BlockAllocator *b, const char *title)
static void logStepTiming (GCStateMachine *that, quint64 timing)
static GCState executeWithLoggingIfEnabled (GCStateMachine *that, GCStateInfo &stateInfo)
template<typename Size>
static voidincrementStackPointer (void *base, Size amount)
template<typename Size>
static voiddecrementStackPointer (void *base, Size amount)
static StackProperties createStackProperties (void *base, qsizetype size=PlatformStackSize)
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)
const voidcurrentStackPointer ()
Q_ALWAYS_INLINE void fence ()

Variables

static uint markStackSize = 0

Typedef Documentation

◆ Bool

typedef uint QV4::Bool

Definition at line 25 of file qv4runtimeapi_p.h.

◆ ClassDestroyStatsCallback

typedef void(* QV4::ClassDestroyStatsCallback) (const char *)

Definition at line 30 of file qv4mmdefs_p.h.

◆ GCState

Definition at line 117 of file qv4mm_p.h.

◆ GCStateInfo

Definition at line 118 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.

◆ MMStatsHash

typedef QHash< const char *, int > QV4::MMStatsHash

Definition at line 258 of file qv4mm.cpp.

◆ Primitive

Definition at line 351 of file qv4value_p.h.

◆ QObjectBiPointer

Definition at line 439 of file qv4qobjectwrapper_p.h.

◆ ReturnedValue

Definition at line 38 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 72 of file qv4mm.cpp.

◆ anonymous enum [2/2]

anonymous enum
Enumerator
MinSlotsGCLimit 
GCOverallocation 
MinSlotsGCLimit 
GCOverallocation 

Definition at line 72 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 239 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 27 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 45 of file qv4stacklimits.cpp.

◆ StackDefaults [2/2]

Enumerator
DefaultSafetyMargin 
PlatformStackSize 
PlatformSafetyMargin 
DefaultSafetyMargin 
PlatformStackSize 
PlatformSafetyMargin 

Definition at line 45 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 253 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.

◆ CallMethod()

ReturnedValue QV4::CallMethod ( const QQmlObjectOrGadget & object,
int index,
QMetaType returnType,
int argCount,
const QMetaType * argTypes,
ExecutionEngine * engine,
CallData * callArgs,
QMetaObject::Call callType = QMetaObject::InvokeMetaMethod )
static

Definition at line 1666 of file qv4qobjectwrapper.cpp.

◆ canConvert()

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

Definition at line 273 of file qv4qobjectwrapper_p.h.

◆ charToUInt() [1/2]

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

Definition at line 27 of file qv4stringtoarrayindex_p.h.

◆ charToUInt() [2/2]

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

Definition at line 26 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 312 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 430 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 410 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 483 of file qv4jscall_p.h.

◆ coerceListType()

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

Definition at line 248 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 226 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>
ReturnedValue QV4::convertAndCall ( ExecutionEngine * engine,
const Function::AOTCompiledFunction * aotFunction,
const Value * thisObject,
const Value * argv,
int argc,
Callable call )

Definition at line 113 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 181 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.

◆ 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 )
static

Definition at line 98 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 36 of file qv4stacklimits_p.h.

◆ decrementStackPointer()

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

Definition at line 89 of file qv4stacklimits.cpp.

◆ 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 1272 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 2217 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 1600 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 125 of file qv4writebarrier_p.h.

◆ freeHugeChunk()

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

Definition at line 598 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 404 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 420 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.

◆ increaseFreedCountForClass()

void QV4::increaseFreedCountForClass ( const char * className)
static

Definition at line 263 of file qv4mm.cpp.

◆ incrementStackPointer()

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

Definition at line 79 of file qv4stacklimits.cpp.

◆ isSpecificType()

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

Definition at line 99 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 1572 of file qv4mm.cpp.

◆ markChildQObjectsRecursively()

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

Definition at line 1487 of file qv4qobjectwrapper.cpp.

◆ markIfPastMarkWeakValues()

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

Definition at line 235 of file qv4qobjectwrapper_p.h.

◆ MatchScore()

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

Definition at line 1764 of file qv4qobjectwrapper.cpp.

◆ MatchVariant()

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

Definition at line 1728 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 1993 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.

◆ 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))

◆ 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 489 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.

◆ 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 375 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 381 of file qv4dateobject_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 2003 of file qv4qobjectwrapper.cpp.

◆ resolveHeapSequence()

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

Definition at line 1095 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 446 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 456 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 465 of file qv4lookup_p.h.

◆ setupQObjectMethodLookup()

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

Definition at line 475 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 376 of file qv4stacklimits.cpp.

◆ stackPropertiesGeneric()

StackProperties QV4::stackPropertiesGeneric ( qsizetype stackSize = 0)

Definition at line 250 of file qv4stacklimits.cpp.

◆ stringToArrayIndex() [1/2]

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

Definition at line 53 of file qv4stringtoarrayindex_p.h.

◆ stringToArrayIndex() [2/2]

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

Definition at line 30 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.

Variable Documentation

◆ markStackSize

uint QV4::markStackSize = 0
static

Definition at line 1120 of file qv4mm.cpp.