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
class  ExecutionEngine
 \inmodule QtQml More...
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< String > ScopedString
typedef Scoped< StringOrSymbol > ScopedStringOrSymbol
typedef Scoped< Object > ScopedObject
typedef Scoped< ArrayObject > ScopedArrayObject
typedef Scoped< FunctionObject > ScopedFunctionObject
typedef Scoped< ExecutionContext > ScopedContext
typedef QList< StackFrame > StackTrace
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  TypeHint { PREFERREDTYPE_HINT , NUMBER_HINT , STRING_HINT }
enum  CoercionProblem { InsufficientAnnotation , InvalidListType }
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 startstart, RandomAccessIterator endend, LessThan lessThan)
template<>
ReturnedValue value_convert< Object > (ExecutionEngine *e, const Value &vv)
ReturnedValue checkedResult (QV4::ExecutionEngine *v4, ReturnedValue resultresult)
template<>
ReturnedValue value_convert< String > (ExecutionEngine *e, const Value &vv)
template<typename Args>
CallData * callDatafromJS (const Scope &scope, const Args *args, const FunctionObject *ff)
void populateJSCallArguments (ExecutionEngine *v4, JSCallArguments &jsCall, int argc, void **args, const QMetaType *typestypes)
QObject * cppThisObject (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 *typestypes, 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 **aa, const QMetaType *typestypes, int argc, Callable call)
ReturnedValue coerce (ExecutionEngine *engine, const Value &valuevalue, const QQmlType &qmlType, bool isList)
QObject * coerceQObject (const Value &valuevalue, const QQmlType &qmlType)
Q_QML_EXPORT void warnAboutCoercionToVoid (ExecutionEngine *engine, const Value &valuevalue, CoercionProblem problem)
ReturnedValue coerceListType (ExecutionEngine *engine, const Value &valuevalue, 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 *typestypes, 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 *refref)
template<>
bool ReferenceObject::writeBack< Heap::DateObject > (Heap::DateObject *refref, 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)
template<typename T>
ReturnedValue value_convert (ExecutionEngine *e, const Value &vv)
 Q_STATIC_ASSERT (offsetof(ValueArray< 0 >, values)==8)
static QString toString (QV4::ReturnedValue vv)
static void dumpConstantTable (const StaticValue *constants, uint countcount)
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 &typetype)
 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<>
Heap::String * IdentifierHash::toString< Heap::String * > (PropertyKey keykey) const
template<>
Heap::String * IdentifierHash::toString< Heap::String * > (PropertyKey keykey) const
template<typename Container, typename UnaryPred>
Container::size_type reiterate (Container &container, typename Container::size_type firstfirst, UnaryPred &&pp)
template<typename Container, class UnaryPred>
Container::size_type partition (Container &container, UnaryPred &&pp)
bool operator== (const ObjectItem &aa, const ObjectItem &bb)
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 &valuevalue)
static Heap::ReferenceObject::Flags referenceFlags (ExecutionEngine *v4, const QQmlPropertyData &property)
static ReturnedValue loadProperty (ExecutionEngine *v4, Heap::Object *wrapper, QObject *objectobject, const QQmlPropertyData &property)
static OptionalReturnedValue getDestroyOrToStringMethod (ExecutionEngine *v4, String *namename, Heap::Object *qobj, bool *hasProperty=nullptr)
static OptionalReturnedValue getPropertyFromImports (ExecutionEngine *v4, String *namename, const QQmlRefPointer< QQmlContextData > &qmlContext, QObject *qobj, bool *hasProperty=nullptr)
static void markChildQObjectsRecursively (QObject *parent, MarkStack *markStack)
static bool recordObjectForCompilationUnits (QObject *o, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &compilationUnit, MemoryManager::ObjectsForCompilationUnit *recorded)
static bool recordVMEObjectForCompilationUnits (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 &objectobject)
static ReturnedValue doConvertReturnValue (ExecutionEngine *engine, QMetaType typetype, const void *datadata)
static ReturnedValue doConvertReturnValue (ExecutionEngine *engine, const QVariant &valuevalue)
static bool ExactMatch (QMetaType passed, QMetaType required, const void *datadata)
 DEFINE_OBJECT_VTABLE (QObjectMethod)
 DEFINE_OBJECT_VTABLE (QmlSignalHandler)
size_t qHash (const RegExpCacheKey &keykey, size_t seed=0) noexcept
template<typename T>
bool qtTypeInherits (const QMetaObject *mo)
static QV4::Lookup * runtimeLookup (Function *ff, uint i)
static QV4::ReturnedValue doInstanceof (ExecutionEngine *engine, const Value &lval, const Value &rval)
static Heap::String * convert_to_string_add (ExecutionEngine *engine, Value valuevalue)
static Q_NEVER_INLINE ReturnedValue getElementIntFallback (ExecutionEngine *engine, const Value &objectobject, uint idx)
static Q_NEVER_INLINE ReturnedValue getElementFallback (ExecutionEngine *engine, const Value &objectobject, const Value &indexindex)
static Q_NEVER_INLINE bool setElementFallback (ExecutionEngine *engine, const Value &objectobject, const Value &indexindex, const Value &valuevalue)
static Object * getSuperBase (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 void * symbol ()
 DEFINE_OBJECT_VTABLE (Sequence)
static ReturnedValue doGetIndexed (Heap::Sequence *pp, qsizetype indexindex)
static void * createVariantData (QMetaType typetype, QVariant *variant)
static const void * retrieveVariantData (QMetaType typetype, const QVariant *variant)
static void generateWarning (QV4::ExecutionEngine *v4, const QString &description)
static qsizetype sizeInline (const Heap::Sequence *pp)
template<typename Action>
void convertAndDo (const QVariant &item, const QMetaType vv, Action action)
static void appendInline (Heap::Sequence *pp, const QVariant &item)
static void appendDefaultConstructedInline (Heap::Sequence *pp, qsizetype numnum)
static void replaceInline (Heap::Sequence *pp, qsizetype indexindex, const QVariant &item)
static void removeLastInline (Heap::Sequence *pp, qsizetype numnum)
bool convertToIterable (QMetaType metaType, void *datadata, QV4::Object *sequence)
static Heap::Sequence * resolveHeapSequence (const Sequence *sequence, QMetaType typeHint)
 DEFINE_OBJECT_VTABLE (VariantAssociationObject)
QString binary (quintptr)
static void freeHugeChunk (ChunkAllocator *chunkAllocator, const HugeItemAllocator::HugeChunk &cc)
static size_t dumpBins (BlockAllocator *bb, const char *title)
static void logStepTiming (GCStateMachine *that, quint64 timing)
static GCState executeWithLoggingIfEnabled (GCStateMachine *that, GCStateInfo &stateInfo)
static void redrainDuringSweep (GCStateMachine *that)
static StackProperties createStackProperties (void *base, qsizetype sizesize=PlatformStackSize, qsizetype margin=PlatformSafetyMargin)
StackProperties stackPropertiesGeneric (qsizetype stackSize=0)
StackProperties stackProperties ()
static Heap::ReferenceObject::Flags referenceFlags (const QMetaObject *metaObject, int indexindex)
static void doStaticReadCall (const QMetaObject *metaObject, Heap::QQmlValueTypeWrapper *valueTypeWrapper, int indexindex, 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))
uint charToUInt (const QChar *ch)
uint charToUInt (const char *ch)
template<typename T>
uint stringToArrayIndex (const T *ch, const T *endend)
uint stringToArrayIndex (const QString &str)
template<>
Heap::String * IdentifierHash::toString< Heap::String * > (PropertyKey keykey) const
static QMLJS_READONLY ReturnedValue add_int32 (int aa, int bb)
static QMLJS_READONLY ReturnedValue sub_int32 (int aa, int bb)
static QMLJS_READONLY ReturnedValue mul_int32 (int aa, int bb)
template<class Class>
constexpr VTable::CallWithMetaTypes vtableMetaTypesCallEntry ()
template<class Class>
constexpr VTable::Call vtableJsTypesCallEntry ()
 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 void * incrementStackPointer (const void *base, Size amount)
template<typename Size>
static void * decrementStackPointer (void *base, Size amount)
const void * currentStackPointer ()
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 352 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 281 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 354 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 472 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 452 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 525 of file qv4jscall_p.h.

◆ coerceListType()

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

Definition at line 290 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 268 of file qv4jscall_p.h.

◆ convert_to_string_add()

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

Definition at line 655 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 223 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 1623 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.

◆ doConvertReturnValue() [1/2]

ReturnedValue QV4::doConvertReturnValue ( ExecutionEngine * engine,
const QVariant & value )
static

Definition at line 1963 of file qv4qobjectwrapper.cpp.

◆ doConvertReturnValue() [2/2]

ReturnedValue QV4::doConvertReturnValue ( ExecutionEngine * engine,
QMetaType type,
const void * data )
static

Definition at line 1952 of file qv4qobjectwrapper.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 277 of file qqmlvaluetypewrapper.cpp.

◆ dumpBins()

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

Definition at line 1276 of file qv4mm.cpp.

◆ dumpConstantTable()

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

Definition at line 67 of file qv4executablecompilationunit.cpp.

◆ ExactMatch()

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

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

◆ extractQtSignal()

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

Definition at line 99 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 592 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 410 of file qv4qobjectwrapper.cpp.

◆ getElementFallback()

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

Definition at line 746 of file qv4runtime.cpp.

◆ getElementIntFallback()

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

Definition at line 713 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 426 of file qv4qobjectwrapper.cpp.

◆ getSuperBase()

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

Definition at line 1093 of file qv4runtime.cpp.

◆ hasExceptionOrIsInterrupted()

bool QV4::hasExceptionOrIsInterrupted ( ExecutionEngine * engine)
inline

Definition at line 36 of file qv4scopedvalue_p.h.

◆ IdentifierHash::toString< Heap::String * >() [1/3]

template<>
Heap::String * QV4::IdentifierHash::toString< Heap::String * > ( PropertyKey key) const

Definition at line 108 of file qv4identifierhash.cpp.

◆ IdentifierHash::toString< Heap::String * >() [2/3]

template<>
Heap::String * QV4::IdentifierHash::toString< Heap::String * > ( PropertyKey key) const

Definition at line 108 of file qv4identifierhash.cpp.

◆ IdentifierHash::toString< Heap::String * >() [3/3]

template<>
Heap::String * QV4::IdentifierHash::toString< Heap::String * > ( PropertyKey key) const

Definition at line 108 of file qv4identifierhash.cpp.

◆ 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 132 of file qv4qobjectwrapper.cpp.

◆ logStepTiming()

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

Definition at line 1530 of file qv4mm.cpp.

◆ markChildQObjectsRecursively()

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

Definition at line 1509 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 1705 of file qv4qobjectwrapper.cpp.

◆ MatchVariant()

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

Definition at line 1669 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 1934 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/28]

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

◆ Q_STATIC_ASSERT() [2/28]

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

◆ Q_STATIC_ASSERT() [3/28]

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

◆ Q_STATIC_ASSERT() [4/28]

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

◆ Q_STATIC_ASSERT() [5/28]

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

◆ Q_STATIC_ASSERT() [6/28]

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

◆ Q_STATIC_ASSERT() [7/28]

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

◆ Q_STATIC_ASSERT() [8/28]

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

◆ Q_STATIC_ASSERT() [9/28]

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

◆ Q_STATIC_ASSERT() [10/28]

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

◆ Q_STATIC_ASSERT() [11/28]

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

◆ Q_STATIC_ASSERT() [12/28]

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

◆ Q_STATIC_ASSERT() [13/28]

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

◆ Q_STATIC_ASSERT() [14/28]

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

◆ Q_STATIC_ASSERT() [15/28]

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

◆ Q_STATIC_ASSERT() [16/28]

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

◆ Q_STATIC_ASSERT() [17/28]

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

◆ Q_STATIC_ASSERT() [18/28]

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

◆ Q_STATIC_ASSERT() [19/28]

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

◆ Q_STATIC_ASSERT() [20/28]

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

◆ Q_STATIC_ASSERT() [21/28]

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

◆ Q_STATIC_ASSERT() [22/28]

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

◆ Q_STATIC_ASSERT() [23/28]

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

◆ Q_STATIC_ASSERT() [24/28]

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

◆ Q_STATIC_ASSERT() [25/28]

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

◆ Q_STATIC_ASSERT() [26/28]

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

◆ Q_STATIC_ASSERT() [27/28]

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

◆ Q_STATIC_ASSERT() [28/28]

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

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

bool QV4::recordObjectForCompilationUnits ( QObject * o,
const QQmlRefPointer< QV4::ExecutableCompilationUnit > & compilationUnit,
MemoryManager::ObjectsForCompilationUnit * recorded )
static

Definition at line 1524 of file qv4qobjectwrapper.cpp.

◆ recordVMEObjectForCompilationUnits()

bool QV4::recordVMEObjectForCompilationUnits ( QObject * o,
const QQmlVMEMetaObject * vme,
MemoryManager::ObjectsForCompilationUnit * recorded )
static

Definition at line 1546 of file qv4qobjectwrapper.cpp.

◆ redrainDuringSweep()

void QV4::redrainDuringSweep ( GCStateMachine * that)
static

Definition at line 1569 of file qv4mm.cpp.

◆ referenceFlags() [1/2]

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

Definition at line 270 of file qqmlvaluetypewrapper.cpp.

◆ referenceFlags() [2/2]

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

Definition at line 116 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 1944 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 792 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 252 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 2499 of file qv4runtime.cpp.

◆ throwPropertyIsNotAFunctionTypeError()

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

Definition at line 1450 of file qv4runtime.cpp.

◆ toString()

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

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