Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qv4instr_moth_p.h File Reference

(5c5a2c24847c636857153078e4716fcb242f394d)

#include <private/qv4staticvalue_p.h>
#include <private/qv4compileddata_p.h>
#include <qendian.h>
+ Include dependency graph for qv4instr_moth_p.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  QV4::Moth::StackSlot
 
union  QV4::Moth::Instr
 
struct  QV4::Moth::InstrInfo
 
struct  QV4::Moth::InstrMeta< N >
 
class  QV4::Moth::InstrData< InstrType >
 
struct  QV4::Moth::Instruction
 

Namespaces

namespace  QV4
 
namespace  QV4::CompiledData
 
namespace  QV4::Moth
 

Macros

#define INSTRUCTION(op, name, nargs, ...)    op##_INSTRUCTION(name, nargs, __VA_ARGS__)
 
#define INSTR_Nop(op)   INSTRUCTION(op, Nop, 0)
 
#define INSTR_Ret(op)   INSTRUCTION(op, Ret, 0)
 
#define INSTR_Debug(op)   INSTRUCTION(op, Debug, 0)
 
#define INSTR_LoadConst(op)   INSTRUCTION(op, LoadConst, 1, index)
 
#define INSTR_LoadZero(op)   INSTRUCTION(op, LoadZero, 0)
 
#define INSTR_LoadTrue(op)   INSTRUCTION(op, LoadTrue, 0)
 
#define INSTR_LoadFalse(op)   INSTRUCTION(op, LoadFalse, 0)
 
#define INSTR_LoadNull(op)   INSTRUCTION(op, LoadNull, 0)
 
#define INSTR_LoadUndefined(op)   INSTRUCTION(op, LoadUndefined, 0)
 
#define INSTR_LoadInt(op)   INSTRUCTION(op, LoadInt, 1, value)
 
#define INSTR_MoveConst(op)   INSTRUCTION(op, MoveConst, 2, constIndex, destTemp)
 
#define INSTR_LoadReg(op)   INSTRUCTION(op, LoadReg, 1, reg)
 
#define INSTR_StoreReg(op)   INSTRUCTION(op, StoreReg, 1, reg)
 
#define INSTR_MoveReg(op)   INSTRUCTION(op, MoveReg, 2, srcReg, destReg)
 
#define INSTR_LoadImport(op)   INSTRUCTION(op, LoadImport, 1, index)
 
#define INSTR_LoadLocal(op)   INSTRUCTION(op, LoadLocal, 1, index)
 
#define INSTR_StoreLocal(op)   INSTRUCTION(op, StoreLocal, 1, index)
 
#define INSTR_LoadScopedLocal(op)   INSTRUCTION(op, LoadScopedLocal, 2, scope, index)
 
#define INSTR_StoreScopedLocal(op)   INSTRUCTION(op, StoreScopedLocal, 2, scope, index)
 
#define INSTR_LoadRuntimeString(op)   INSTRUCTION(op, LoadRuntimeString, 1, stringId)
 
#define INSTR_MoveRegExp(op)   INSTRUCTION(op, MoveRegExp, 2, regExpId, destReg)
 
#define INSTR_LoadClosure(op)   INSTRUCTION(op, LoadClosure, 1, value)
 
#define INSTR_LoadName(op)   INSTRUCTION(op, LoadName, 1, name)
 
#define INSTR_LoadGlobalLookup(op)   INSTRUCTION(op, LoadGlobalLookup, 1, index)
 
#define INSTR_LoadQmlContextPropertyLookup(op)   INSTRUCTION(op, LoadQmlContextPropertyLookup, 1, index)
 
#define INSTR_StoreNameSloppy(op)   INSTRUCTION(op, StoreNameSloppy, 1, name)
 
#define INSTR_StoreNameStrict(op)   INSTRUCTION(op, StoreNameStrict, 1, name)
 
#define INSTR_LoadProperty(op)   INSTRUCTION(op, LoadProperty, 1, name)
 
#define INSTR_LoadOptionalProperty(op)   INSTRUCTION(op, LoadOptionalProperty, 2, name, offset)
 
#define INSTR_GetLookup(op)   INSTRUCTION(op, GetLookup, 1, index)
 
#define INSTR_GetOptionalLookup(op)   INSTRUCTION(op, GetOptionalLookup, 2, index, offset)
 
#define INSTR_LoadIdObject(op)   INSTRUCTION(op, LoadIdObject, 2, index, base)
 
#define INSTR_Yield(op)   INSTRUCTION(op, Yield, 0)
 
#define INSTR_YieldStar(op)   INSTRUCTION(op, YieldStar, 0)
 
#define INSTR_Resume(op)   INSTRUCTION(op, Resume, 1, offset)
 
#define INSTR_IteratorNextForYieldStar(op)   INSTRUCTION(op, IteratorNextForYieldStar, 3, iterator, object, offset)
 
#define INSTR_StoreProperty(op)   INSTRUCTION(op, StoreProperty, 2, name, base)
 
#define INSTR_SetLookup(op)   INSTRUCTION(op, SetLookup, 2, index, base)
 
#define INSTR_LoadSuperProperty(op)   INSTRUCTION(op, LoadSuperProperty, 1, property)
 
#define INSTR_StoreSuperProperty(op)   INSTRUCTION(op, StoreSuperProperty, 1, property)
 
#define INSTR_LoadElement(op)   INSTRUCTION(op, LoadElement, 1, base)
 
#define INSTR_StoreElement(op)   INSTRUCTION(op, StoreElement, 2, base, index)
 
#define INSTR_CallValue(op)   INSTRUCTION(op, CallValue, 3, name, argc, argv)
 
#define INSTR_CallWithReceiver(op)   INSTRUCTION(op, CallWithReceiver, 4, name, thisObject, argc, argv)
 
#define INSTR_CallProperty(op)   INSTRUCTION(op, CallProperty, 4, name, base, argc, argv)
 
#define INSTR_CallPropertyLookup(op)   INSTRUCTION(op, CallPropertyLookup, 4, lookupIndex, base, argc, argv)
 
#define INSTR_CallName(op)   INSTRUCTION(op, CallName, 3, name, argc, argv)
 
#define INSTR_CallPossiblyDirectEval(op)   INSTRUCTION(op, CallPossiblyDirectEval, 2, argc, argv)
 
#define INSTR_CallGlobalLookup(op)   INSTRUCTION(op, CallGlobalLookup, 3, index, argc, argv)
 
#define INSTR_CallQmlContextPropertyLookup(op)   INSTRUCTION(op, CallQmlContextPropertyLookup, 3, index, argc, argv)
 
#define INSTR_CallWithSpread(op)   INSTRUCTION(op, CallWithSpread, 4, func, thisObject, argc, argv)
 
#define INSTR_Construct(op)   INSTRUCTION(op, Construct, 3, func, argc, argv)
 
#define INSTR_ConstructWithSpread(op)   INSTRUCTION(op, ConstructWithSpread, 3, func, argc, argv)
 
#define INSTR_SetUnwindHandler(op)   INSTRUCTION(op, SetUnwindHandler, 1, offset)
 
#define INSTR_UnwindDispatch(op)   INSTRUCTION(op, UnwindDispatch, 0)
 
#define INSTR_UnwindToLabel(op)   INSTRUCTION(op, UnwindToLabel, 2, level, offset)
 
#define INSTR_DeadTemporalZoneCheck(op)   INSTRUCTION(op, DeadTemporalZoneCheck, 1, name)
 
#define INSTR_ThrowException(op)   INSTRUCTION(op, ThrowException, 0)
 
#define INSTR_GetException(op)   INSTRUCTION(op, GetException, 0)
 
#define INSTR_SetException(op)   INSTRUCTION(op, SetException, 0)
 
#define INSTR_CreateCallContext(op)   INSTRUCTION(op, CreateCallContext, 0)
 
#define INSTR_PushCatchContext(op)   INSTRUCTION(op, PushCatchContext, 2, index, name)
 
#define INSTR_PushWithContext(op)   INSTRUCTION(op, PushWithContext, 0)
 
#define INSTR_PushBlockContext(op)   INSTRUCTION(op, PushBlockContext, 1, index)
 
#define INSTR_CloneBlockContext(op)   INSTRUCTION(op, CloneBlockContext, 0)
 
#define INSTR_PushScriptContext(op)   INSTRUCTION(op, PushScriptContext, 1, index)
 
#define INSTR_PopScriptContext(op)   INSTRUCTION(op, PopScriptContext, 0)
 
#define INSTR_PopContext(op)   INSTRUCTION(op, PopContext, 0)
 
#define INSTR_GetIterator(op)   INSTRUCTION(op, GetIterator, 1, iterator)
 
#define INSTR_IteratorNext(op)   INSTRUCTION(op, IteratorNext, 2, value, offset)
 
#define INSTR_IteratorClose(op)   INSTRUCTION(op, IteratorClose, 0)
 
#define INSTR_DestructureRestElement(op)   INSTRUCTION(op, DestructureRestElement, 0)
 
#define INSTR_DeleteProperty(op)   INSTRUCTION(op, DeleteProperty, 2, base, index)
 
#define INSTR_DeleteName(op)   INSTRUCTION(op, DeleteName, 1, name)
 
#define INSTR_TypeofName(op)   INSTRUCTION(op, TypeofName, 1, name)
 
#define INSTR_TypeofValue(op)   INSTRUCTION(op, TypeofValue, 0)
 
#define INSTR_DeclareVar(op)   INSTRUCTION(op, DeclareVar, 2, varName, isDeletable)
 
#define INSTR_DefineArray(op)   INSTRUCTION(op, DefineArray, 2, argc, args)
 
#define INSTR_DefineObjectLiteral(op)   INSTRUCTION(op, DefineObjectLiteral, 3, internalClassId, argc, args)
 
#define INSTR_CreateClass(op)   INSTRUCTION(op, CreateClass, 3, classIndex, heritage, computedNames)
 
#define INSTR_CreateMappedArgumentsObject(op)   INSTRUCTION(op, CreateMappedArgumentsObject, 0)
 
#define INSTR_CreateUnmappedArgumentsObject(op)   INSTRUCTION(op, CreateUnmappedArgumentsObject, 0)
 
#define INSTR_CreateRestParameter(op)   INSTRUCTION(op, CreateRestParameter, 1, argIndex)
 
#define INSTR_ConvertThisToObject(op)   INSTRUCTION(op, ConvertThisToObject, 0)
 
#define INSTR_LoadSuperConstructor(op)   INSTRUCTION(op, LoadSuperConstructor, 0)
 
#define INSTR_ToObject(op)   INSTRUCTION(op, ToObject, 0)
 
#define INSTR_Jump(op)   INSTRUCTION(op, Jump, 1, offset)
 
#define INSTR_JumpTrue(op)   INSTRUCTION(op, JumpTrue, 1, offset)
 
#define INSTR_JumpFalse(op)   INSTRUCTION(op, JumpFalse, 1, offset)
 
#define INSTR_JumpNotUndefined(op)   INSTRUCTION(op, JumpNotUndefined, 1, offset)
 
#define INSTR_JumpNoException(op)   INSTRUCTION(op, JumpNoException, 1, offset)
 
#define INSTR_CheckException(op)   INSTRUCTION(op, CheckException, 0)
 
#define INSTR_CmpEqNull(op)   INSTRUCTION(op, CmpEqNull, 0)
 
#define INSTR_CmpNeNull(op)   INSTRUCTION(op, CmpNeNull, 0)
 
#define INSTR_CmpEqInt(op)   INSTRUCTION(op, CmpEqInt, 1, lhs)
 
#define INSTR_CmpNeInt(op)   INSTRUCTION(op, CmpNeInt, 1, lhs)
 
#define INSTR_CmpEq(op)   INSTRUCTION(op, CmpEq, 1, lhs)
 
#define INSTR_CmpNe(op)   INSTRUCTION(op, CmpNe, 1, lhs)
 
#define INSTR_CmpGt(op)   INSTRUCTION(op, CmpGt, 1, lhs)
 
#define INSTR_CmpGe(op)   INSTRUCTION(op, CmpGe, 1, lhs)
 
#define INSTR_CmpLt(op)   INSTRUCTION(op, CmpLt, 1, lhs)
 
#define INSTR_CmpLe(op)   INSTRUCTION(op, CmpLe, 1, lhs)
 
#define INSTR_CmpStrictEqual(op)   INSTRUCTION(op, CmpStrictEqual, 1, lhs)
 
#define INSTR_CmpStrictNotEqual(op)   INSTRUCTION(op, CmpStrictNotEqual, 1, lhs)
 
#define INSTR_CmpIn(op)   INSTRUCTION(op, CmpIn, 1, lhs)
 
#define INSTR_CmpInstanceOf(op)   INSTRUCTION(op, CmpInstanceOf, 1, lhs)
 
#define INSTR_UNot(op)   INSTRUCTION(op, UNot, 0)
 
#define INSTR_UPlus(op)   INSTRUCTION(op, UPlus, 0)
 
#define INSTR_UMinus(op)   INSTRUCTION(op, UMinus, 0)
 
#define INSTR_UCompl(op)   INSTRUCTION(op, UCompl, 0)
 
#define INSTR_Increment(op)   INSTRUCTION(op, Increment, 0)
 
#define INSTR_Decrement(op)   INSTRUCTION(op, Decrement, 0)
 
#define INSTR_Add(op)   INSTRUCTION(op, Add, 1, lhs)
 
#define INSTR_BitAnd(op)   INSTRUCTION(op, BitAnd, 1, lhs)
 
#define INSTR_BitOr(op)   INSTRUCTION(op, BitOr, 1, lhs)
 
#define INSTR_BitXor(op)   INSTRUCTION(op, BitXor, 1, lhs)
 
#define INSTR_UShr(op)   INSTRUCTION(op, UShr, 1, lhs)
 
#define INSTR_Shr(op)   INSTRUCTION(op, Shr, 1, lhs)
 
#define INSTR_Shl(op)   INSTRUCTION(op, Shl, 1, lhs)
 
#define INSTR_BitAndConst(op)   INSTRUCTION(op, BitAndConst, 1, rhs)
 
#define INSTR_BitOrConst(op)   INSTRUCTION(op, BitOrConst, 1, rhs)
 
#define INSTR_BitXorConst(op)   INSTRUCTION(op, BitXorConst, 1, rhs)
 
#define INSTR_UShrConst(op)   INSTRUCTION(op, UShrConst, 1, rhs)
 
#define INSTR_ShrConst(op)   INSTRUCTION(op, ShrConst, 1, rhs)
 
#define INSTR_ShlConst(op)   INSTRUCTION(op, ShlConst, 1, rhs)
 
#define INSTR_Exp(op)   INSTRUCTION(op, Exp, 1, lhs)
 
#define INSTR_Mul(op)   INSTRUCTION(op, Mul, 1, lhs)
 
#define INSTR_Div(op)   INSTRUCTION(op, Div, 1, lhs)
 
#define INSTR_Mod(op)   INSTRUCTION(op, Mod, 1, lhs)
 
#define INSTR_Sub(op)   INSTRUCTION(op, Sub, 1, lhs)
 
#define INSTR_As(op)   INSTRUCTION(op, As, 1, lhs)
 
#define INSTR_LoadQmlImportedScripts(op)   INSTRUCTION(op, LoadQmlImportedScripts, 1, result)
 
#define INSTR_InitializeBlockDeadTemporalZone(op)   INSTRUCTION(op, InitializeBlockDeadTemporalZone, 2, firstReg, count)
 
#define INSTR_ThrowOnNullOrUndefined(op)   INSTRUCTION(op, ThrowOnNullOrUndefined, 0)
 
#define INSTR_GetTemplateObject(op)   INSTRUCTION(op, GetTemplateObject, 1, index)
 
#define INSTR_TailCall(op)   INSTRUCTION(op, TailCall, 4, func, thisObject, argc, argv)
 
#define FOR_EACH_MOTH_INSTR_ALL(F)
 
#define FOR_EACH_MOTH_INSTR(F)
 
#define MOTH_NUM_INSTRUCTIONS()   (static_cast<int>(Moth::Instr::Type::Debug_Wide) + 1)
 
#define MOTH_INSTR_ALIGN_MASK   (alignof(QV4::Moth::Instr) - 1)
 
#define MOTH_INSTR_ENUM(I)   I, I##_Wide,
 
#define MOTH_INSTR_SIZE(I)   (sizeof(QV4::Moth::Instr::instr_##I))
 
#define MOTH_EXPAND_FOR_MSVC(x)   x
 
#define MOTH_DEFINE_ARGS(nargs, ...)    MOTH_EXPAND_FOR_MSVC(MOTH_DEFINE_ARGS##nargs(__VA_ARGS__))
 
#define MOTH_DEFINE_ARGS0()
 
#define MOTH_DEFINE_ARGS1(arg)    int arg;
 
#define MOTH_DEFINE_ARGS2(arg1, arg2)
 
#define MOTH_DEFINE_ARGS3(arg1, arg2, arg3)
 
#define MOTH_DEFINE_ARGS4(arg1, arg2, arg3, arg4)
 
#define MOTH_DEFINE_ARGS5(arg1, arg2, arg3, arg4, arg5)
 
#define MOTH_COLLECT_ENUMS(instr)    INSTR_##instr(MOTH_GET_ENUM)
 
#define MOTH_GET_ENUM_INSTRUCTION(name, ...)    name,
 
#define MOTH_EMIT_STRUCTS(instr)    INSTR_##instr(MOTH_EMIT_STRUCT)
 
#define MOTH_EMIT_STRUCT_INSTRUCTION(name, nargs, ...)
 
#define MOTH_EMIT_INSTR_MEMBERS(instr)    INSTR_##instr(MOTH_EMIT_INSTR_MEMBER)
 
#define MOTH_EMIT_INSTR_MEMBER_INSTRUCTION(name, nargs, ...)    instr_##name name;
 
#define MOTH_COLLECT_NARGS(instr)    INSTR_##instr(MOTH_COLLECT_ARG_COUNT)
 
#define MOTH_COLLECT_ARG_COUNT_INSTRUCTION(name, nargs, ...)    nargs, nargs,
 
#define MOTH_DECODE_ARG(arg, type, nargs, offset)    arg = qFromLittleEndian<type>(qFromUnaligned<type>(reinterpret_cast<const type *>(code) - nargs + offset));
 
#define MOTH_ADJUST_CODE(type, nargs)    code += static_cast<quintptr>(nargs*sizeof(type) + 1)
 
#define MOTH_DECODE_INSTRUCTION(name, nargs, ...)
 
#define MOTH_DECODE_WITH_BASE_INSTRUCTION(name, nargs, ...)
 
#define MOTH_DECODE_ARGS(name, type, nargs, ...)    MOTH_EXPAND_FOR_MSVC(MOTH_DECODE_ARGS##nargs(name, type, nargs, __VA_ARGS__))
 
#define MOTH_DECODE_ARGS0(name, type, nargs, dummy)
 
#define MOTH_DECODE_ARGS1(name, type, nargs, arg)    MOTH_DECODE_ARG(arg, type, nargs, 0);
 
#define MOTH_DECODE_ARGS2(name, type, nargs, arg1, arg2)
 
#define MOTH_DECODE_ARGS3(name, type, nargs, arg1, arg2, arg3)
 
#define MOTH_DECODE_ARGS4(name, type, nargs, arg1, arg2, arg3, arg4)
 
#define MOTH_DECODE_ARGS5(name, type, nargs, arg1, arg2, arg3, arg4, arg5)
 
#define MOTH_JUMP_TABLE
 
#define MOTH_INSTR_CASE_AND_JUMP(instr)
 
#define GET_CASE_AND_JUMP_INSTRUCTION(name, ...)    case Instr::Type::name: goto op_byte_##name;
 
#define GET_CASE_AND_JUMP_WIDE_INSTRUCTION(name, ...)    case Instr::Type::name##_Wide: goto op_int_##name;
 
#define MOTH_DISPATCH()
 
#define MOTH_INSTR_META_TEMPLATE(I)
 
#define MOTH_INSTR_DATA_TYPEDEF(I)   typedef InstrData<int(Instr::Type::I)> I;
 

Functions

bool QV4::Moth::operator== (const StackSlot &l, const StackSlot &r)
 
bool QV4::Moth::operator!= (const StackSlot &l, const StackSlot &r)
 
QString QV4::Moth::dumpBytecode (const char *code, int len, int nLocals, int nFormals, int beginOffset, int endOffset, const QVector< CompiledData::CodeOffsetToLineAndStatement > &lineAndStatementNumberMapping)
 
QString QV4::Moth::dumpBytecode (const char *code, int len, int nLocals, int nFormals, int, const QVector< CompiledData::CodeOffsetToLineAndStatement > &lineAndStatementNumberMapping)
 
QString QV4::Moth::dumpBytecode (const QByteArray &bytecode, int nLocals, int nFormals, int startLine=1, const QVector< CompiledData::CodeOffsetToLineAndStatement > &lineAndStatementNumberMapping=QVector< CompiledData::CodeOffsetToLineAndStatement >())
 
 QV4::Moth::FOR_EACH_MOTH_INSTR_ALL (MOTH_INSTR_META_TEMPLATE)
 

Macro Definition Documentation

◆ FOR_EACH_MOTH_INSTR

#define FOR_EACH_MOTH_INSTR ( F)

Definition at line 169 of file qv4instr_moth_p.h.

Referenced by QV4::Moth::ByteCodeHandler::decode().

◆ FOR_EACH_MOTH_INSTR_ALL

#define FOR_EACH_MOTH_INSTR_ALL ( F)
Value:
F(Nop) \
FOR_EACH_MOTH_INSTR(F)

Definition at line 165 of file qv4instr_moth_p.h.

Referenced by QV4::Moth::InstrInfo::size().

◆ GET_CASE_AND_JUMP_INSTRUCTION

#define GET_CASE_AND_JUMP_INSTRUCTION ( name,
... )    case Instr::Type::name: goto op_byte_##name;

Definition at line 451 of file qv4instr_moth_p.h.

◆ GET_CASE_AND_JUMP_WIDE_INSTRUCTION

#define GET_CASE_AND_JUMP_WIDE_INSTRUCTION ( name,
... )    case Instr::Type::name##_Wide: goto op_int_##name;

Definition at line 453 of file qv4instr_moth_p.h.

◆ INSTR_Add

#define INSTR_Add ( op)    INSTRUCTION(op, Add, 1, lhs)

Definition at line 140 of file qv4instr_moth_p.h.

◆ INSTR_As

#define INSTR_As ( op)    INSTRUCTION(op, As, 1, lhs)

Definition at line 158 of file qv4instr_moth_p.h.

◆ INSTR_BitAnd

#define INSTR_BitAnd ( op)    INSTRUCTION(op, BitAnd, 1, lhs)

Definition at line 141 of file qv4instr_moth_p.h.

◆ INSTR_BitAndConst

#define INSTR_BitAndConst ( op)    INSTRUCTION(op, BitAndConst, 1, rhs)

Definition at line 147 of file qv4instr_moth_p.h.

◆ INSTR_BitOr

#define INSTR_BitOr ( op)    INSTRUCTION(op, BitOr, 1, lhs)

Definition at line 142 of file qv4instr_moth_p.h.

◆ INSTR_BitOrConst

#define INSTR_BitOrConst ( op)    INSTRUCTION(op, BitOrConst, 1, rhs)

Definition at line 148 of file qv4instr_moth_p.h.

◆ INSTR_BitXor

#define INSTR_BitXor ( op)    INSTRUCTION(op, BitXor, 1, lhs)

Definition at line 143 of file qv4instr_moth_p.h.

◆ INSTR_BitXorConst

#define INSTR_BitXorConst ( op)    INSTRUCTION(op, BitXorConst, 1, rhs)

Definition at line 149 of file qv4instr_moth_p.h.

◆ INSTR_CallGlobalLookup

#define INSTR_CallGlobalLookup ( op)    INSTRUCTION(op, CallGlobalLookup, 3, index, argc, argv)

Definition at line 76 of file qv4instr_moth_p.h.

◆ INSTR_CallName

#define INSTR_CallName ( op)    INSTRUCTION(op, CallName, 3, name, argc, argv)

Definition at line 74 of file qv4instr_moth_p.h.

◆ INSTR_CallPossiblyDirectEval

#define INSTR_CallPossiblyDirectEval ( op)    INSTRUCTION(op, CallPossiblyDirectEval, 2, argc, argv)

Definition at line 75 of file qv4instr_moth_p.h.

◆ INSTR_CallProperty

#define INSTR_CallProperty ( op)    INSTRUCTION(op, CallProperty, 4, name, base, argc, argv)

Definition at line 72 of file qv4instr_moth_p.h.

◆ INSTR_CallPropertyLookup

#define INSTR_CallPropertyLookup ( op)    INSTRUCTION(op, CallPropertyLookup, 4, lookupIndex, base, argc, argv)

Definition at line 73 of file qv4instr_moth_p.h.

◆ INSTR_CallQmlContextPropertyLookup

#define INSTR_CallQmlContextPropertyLookup ( op)    INSTRUCTION(op, CallQmlContextPropertyLookup, 3, index, argc, argv)

Definition at line 77 of file qv4instr_moth_p.h.

◆ INSTR_CallValue

#define INSTR_CallValue ( op)    INSTRUCTION(op, CallValue, 3, name, argc, argv)

Definition at line 70 of file qv4instr_moth_p.h.

◆ INSTR_CallWithReceiver

#define INSTR_CallWithReceiver ( op)    INSTRUCTION(op, CallWithReceiver, 4, name, thisObject, argc, argv)

Definition at line 71 of file qv4instr_moth_p.h.

◆ INSTR_CallWithSpread

#define INSTR_CallWithSpread ( op)    INSTRUCTION(op, CallWithSpread, 4, func, thisObject, argc, argv)

Definition at line 78 of file qv4instr_moth_p.h.

◆ INSTR_CheckException

#define INSTR_CheckException ( op)    INSTRUCTION(op, CheckException, 0)

Definition at line 119 of file qv4instr_moth_p.h.

◆ INSTR_CloneBlockContext

#define INSTR_CloneBlockContext ( op)    INSTRUCTION(op, CloneBlockContext, 0)

Definition at line 92 of file qv4instr_moth_p.h.

◆ INSTR_CmpEq

#define INSTR_CmpEq ( op)    INSTRUCTION(op, CmpEq, 1, lhs)

Definition at line 124 of file qv4instr_moth_p.h.

◆ INSTR_CmpEqInt

#define INSTR_CmpEqInt ( op)    INSTRUCTION(op, CmpEqInt, 1, lhs)

Definition at line 122 of file qv4instr_moth_p.h.

◆ INSTR_CmpEqNull

#define INSTR_CmpEqNull ( op)    INSTRUCTION(op, CmpEqNull, 0)

Definition at line 120 of file qv4instr_moth_p.h.

◆ INSTR_CmpGe

#define INSTR_CmpGe ( op)    INSTRUCTION(op, CmpGe, 1, lhs)

Definition at line 127 of file qv4instr_moth_p.h.

◆ INSTR_CmpGt

#define INSTR_CmpGt ( op)    INSTRUCTION(op, CmpGt, 1, lhs)

Definition at line 126 of file qv4instr_moth_p.h.

◆ INSTR_CmpIn

#define INSTR_CmpIn ( op)    INSTRUCTION(op, CmpIn, 1, lhs)

Definition at line 132 of file qv4instr_moth_p.h.

◆ INSTR_CmpInstanceOf

#define INSTR_CmpInstanceOf ( op)    INSTRUCTION(op, CmpInstanceOf, 1, lhs)

Definition at line 133 of file qv4instr_moth_p.h.

◆ INSTR_CmpLe

#define INSTR_CmpLe ( op)    INSTRUCTION(op, CmpLe, 1, lhs)

Definition at line 129 of file qv4instr_moth_p.h.

◆ INSTR_CmpLt

#define INSTR_CmpLt ( op)    INSTRUCTION(op, CmpLt, 1, lhs)

Definition at line 128 of file qv4instr_moth_p.h.

◆ INSTR_CmpNe

#define INSTR_CmpNe ( op)    INSTRUCTION(op, CmpNe, 1, lhs)

Definition at line 125 of file qv4instr_moth_p.h.

◆ INSTR_CmpNeInt

#define INSTR_CmpNeInt ( op)    INSTRUCTION(op, CmpNeInt, 1, lhs)

Definition at line 123 of file qv4instr_moth_p.h.

◆ INSTR_CmpNeNull

#define INSTR_CmpNeNull ( op)    INSTRUCTION(op, CmpNeNull, 0)

Definition at line 121 of file qv4instr_moth_p.h.

◆ INSTR_CmpStrictEqual

#define INSTR_CmpStrictEqual ( op)    INSTRUCTION(op, CmpStrictEqual, 1, lhs)

Definition at line 130 of file qv4instr_moth_p.h.

◆ INSTR_CmpStrictNotEqual

#define INSTR_CmpStrictNotEqual ( op)    INSTRUCTION(op, CmpStrictNotEqual, 1, lhs)

Definition at line 131 of file qv4instr_moth_p.h.

◆ INSTR_Construct

#define INSTR_Construct ( op)    INSTRUCTION(op, Construct, 3, func, argc, argv)

Definition at line 79 of file qv4instr_moth_p.h.

◆ INSTR_ConstructWithSpread

#define INSTR_ConstructWithSpread ( op)    INSTRUCTION(op, ConstructWithSpread, 3, func, argc, argv)

Definition at line 80 of file qv4instr_moth_p.h.

◆ INSTR_ConvertThisToObject

#define INSTR_ConvertThisToObject ( op)    INSTRUCTION(op, ConvertThisToObject, 0)

Definition at line 111 of file qv4instr_moth_p.h.

◆ INSTR_CreateCallContext

#define INSTR_CreateCallContext ( op)    INSTRUCTION(op, CreateCallContext, 0)

Definition at line 88 of file qv4instr_moth_p.h.

◆ INSTR_CreateClass

#define INSTR_CreateClass ( op)    INSTRUCTION(op, CreateClass, 3, classIndex, heritage, computedNames)

Definition at line 107 of file qv4instr_moth_p.h.

◆ INSTR_CreateMappedArgumentsObject

#define INSTR_CreateMappedArgumentsObject ( op)    INSTRUCTION(op, CreateMappedArgumentsObject, 0)

Definition at line 108 of file qv4instr_moth_p.h.

◆ INSTR_CreateRestParameter

#define INSTR_CreateRestParameter ( op)    INSTRUCTION(op, CreateRestParameter, 1, argIndex)

Definition at line 110 of file qv4instr_moth_p.h.

◆ INSTR_CreateUnmappedArgumentsObject

#define INSTR_CreateUnmappedArgumentsObject ( op)    INSTRUCTION(op, CreateUnmappedArgumentsObject, 0)

Definition at line 109 of file qv4instr_moth_p.h.

◆ INSTR_DeadTemporalZoneCheck

#define INSTR_DeadTemporalZoneCheck ( op)    INSTRUCTION(op, DeadTemporalZoneCheck, 1, name)

Definition at line 84 of file qv4instr_moth_p.h.

◆ INSTR_Debug

#define INSTR_Debug ( op)    INSTRUCTION(op, Debug, 0)

Definition at line 30 of file qv4instr_moth_p.h.

◆ INSTR_DeclareVar

#define INSTR_DeclareVar ( op)    INSTRUCTION(op, DeclareVar, 2, varName, isDeletable)

Definition at line 104 of file qv4instr_moth_p.h.

◆ INSTR_Decrement

#define INSTR_Decrement ( op)    INSTRUCTION(op, Decrement, 0)

Definition at line 139 of file qv4instr_moth_p.h.

◆ INSTR_DefineArray

#define INSTR_DefineArray ( op)    INSTRUCTION(op, DefineArray, 2, argc, args)

Definition at line 105 of file qv4instr_moth_p.h.

◆ INSTR_DefineObjectLiteral

#define INSTR_DefineObjectLiteral ( op)    INSTRUCTION(op, DefineObjectLiteral, 3, internalClassId, argc, args)

Definition at line 106 of file qv4instr_moth_p.h.

◆ INSTR_DeleteName

#define INSTR_DeleteName ( op)    INSTRUCTION(op, DeleteName, 1, name)

Definition at line 101 of file qv4instr_moth_p.h.

◆ INSTR_DeleteProperty

#define INSTR_DeleteProperty ( op)    INSTRUCTION(op, DeleteProperty, 2, base, index)

Definition at line 100 of file qv4instr_moth_p.h.

◆ INSTR_DestructureRestElement

#define INSTR_DestructureRestElement ( op)    INSTRUCTION(op, DestructureRestElement, 0)

Definition at line 99 of file qv4instr_moth_p.h.

◆ INSTR_Div

#define INSTR_Div ( op)    INSTRUCTION(op, Div, 1, lhs)

Definition at line 155 of file qv4instr_moth_p.h.

◆ INSTR_Exp

#define INSTR_Exp ( op)    INSTRUCTION(op, Exp, 1, lhs)

Definition at line 153 of file qv4instr_moth_p.h.

◆ INSTR_GetException

#define INSTR_GetException ( op)    INSTRUCTION(op, GetException, 0)

Definition at line 86 of file qv4instr_moth_p.h.

◆ INSTR_GetIterator

#define INSTR_GetIterator ( op)    INSTRUCTION(op, GetIterator, 1, iterator)

Definition at line 96 of file qv4instr_moth_p.h.

◆ INSTR_GetLookup

#define INSTR_GetLookup ( op)    INSTRUCTION(op, GetLookup, 1, index)

Definition at line 57 of file qv4instr_moth_p.h.

◆ INSTR_GetOptionalLookup

#define INSTR_GetOptionalLookup ( op)    INSTRUCTION(op, GetOptionalLookup, 2, index, offset)

Definition at line 58 of file qv4instr_moth_p.h.

◆ INSTR_GetTemplateObject

#define INSTR_GetTemplateObject ( op)    INSTRUCTION(op, GetTemplateObject, 1, index)

Definition at line 162 of file qv4instr_moth_p.h.

◆ INSTR_Increment

#define INSTR_Increment ( op)    INSTRUCTION(op, Increment, 0)

Definition at line 138 of file qv4instr_moth_p.h.

◆ INSTR_InitializeBlockDeadTemporalZone

#define INSTR_InitializeBlockDeadTemporalZone ( op)    INSTRUCTION(op, InitializeBlockDeadTemporalZone, 2, firstReg, count)

Definition at line 160 of file qv4instr_moth_p.h.

◆ INSTR_IteratorClose

#define INSTR_IteratorClose ( op)    INSTRUCTION(op, IteratorClose, 0)

Definition at line 98 of file qv4instr_moth_p.h.

◆ INSTR_IteratorNext

#define INSTR_IteratorNext ( op)    INSTRUCTION(op, IteratorNext, 2, value, offset)

Definition at line 97 of file qv4instr_moth_p.h.

◆ INSTR_IteratorNextForYieldStar

#define INSTR_IteratorNextForYieldStar ( op)    INSTRUCTION(op, IteratorNextForYieldStar, 3, iterator, object, offset)

Definition at line 63 of file qv4instr_moth_p.h.

◆ INSTR_Jump

#define INSTR_Jump ( op)    INSTRUCTION(op, Jump, 1, offset)

Definition at line 114 of file qv4instr_moth_p.h.

◆ INSTR_JumpFalse

#define INSTR_JumpFalse ( op)    INSTRUCTION(op, JumpFalse, 1, offset)

Definition at line 116 of file qv4instr_moth_p.h.

◆ INSTR_JumpNoException

#define INSTR_JumpNoException ( op)    INSTRUCTION(op, JumpNoException, 1, offset)

Definition at line 118 of file qv4instr_moth_p.h.

◆ INSTR_JumpNotUndefined

#define INSTR_JumpNotUndefined ( op)    INSTRUCTION(op, JumpNotUndefined, 1, offset)

Definition at line 117 of file qv4instr_moth_p.h.

◆ INSTR_JumpTrue

#define INSTR_JumpTrue ( op)    INSTRUCTION(op, JumpTrue, 1, offset)

Definition at line 115 of file qv4instr_moth_p.h.

◆ INSTR_LoadClosure

#define INSTR_LoadClosure ( op)    INSTRUCTION(op, LoadClosure, 1, value)

Definition at line 49 of file qv4instr_moth_p.h.

◆ INSTR_LoadConst

#define INSTR_LoadConst ( op)    INSTRUCTION(op, LoadConst, 1, index)

Definition at line 31 of file qv4instr_moth_p.h.

◆ INSTR_LoadElement

#define INSTR_LoadElement ( op)    INSTRUCTION(op, LoadElement, 1, base)

Definition at line 68 of file qv4instr_moth_p.h.

◆ INSTR_LoadFalse

#define INSTR_LoadFalse ( op)    INSTRUCTION(op, LoadFalse, 0)

Definition at line 34 of file qv4instr_moth_p.h.

◆ INSTR_LoadGlobalLookup

#define INSTR_LoadGlobalLookup ( op)    INSTRUCTION(op, LoadGlobalLookup, 1, index)

Definition at line 51 of file qv4instr_moth_p.h.

◆ INSTR_LoadIdObject

#define INSTR_LoadIdObject ( op)    INSTRUCTION(op, LoadIdObject, 2, index, base)

Definition at line 59 of file qv4instr_moth_p.h.

◆ INSTR_LoadImport

#define INSTR_LoadImport ( op)    INSTRUCTION(op, LoadImport, 1, index)

Definition at line 42 of file qv4instr_moth_p.h.

◆ INSTR_LoadInt

#define INSTR_LoadInt ( op)    INSTRUCTION(op, LoadInt, 1, value)

Definition at line 37 of file qv4instr_moth_p.h.

◆ INSTR_LoadLocal

#define INSTR_LoadLocal ( op)    INSTRUCTION(op, LoadLocal, 1, index)

Definition at line 43 of file qv4instr_moth_p.h.

◆ INSTR_LoadName

#define INSTR_LoadName ( op)    INSTRUCTION(op, LoadName, 1, name)

Definition at line 50 of file qv4instr_moth_p.h.

◆ INSTR_LoadNull

#define INSTR_LoadNull ( op)    INSTRUCTION(op, LoadNull, 0)

Definition at line 35 of file qv4instr_moth_p.h.

◆ INSTR_LoadOptionalProperty

#define INSTR_LoadOptionalProperty ( op)    INSTRUCTION(op, LoadOptionalProperty, 2, name, offset)

Definition at line 56 of file qv4instr_moth_p.h.

◆ INSTR_LoadProperty

#define INSTR_LoadProperty ( op)    INSTRUCTION(op, LoadProperty, 1, name)

Definition at line 55 of file qv4instr_moth_p.h.

◆ INSTR_LoadQmlContextPropertyLookup

#define INSTR_LoadQmlContextPropertyLookup ( op)    INSTRUCTION(op, LoadQmlContextPropertyLookup, 1, index)

Definition at line 52 of file qv4instr_moth_p.h.

◆ INSTR_LoadQmlImportedScripts

#define INSTR_LoadQmlImportedScripts ( op)    INSTRUCTION(op, LoadQmlImportedScripts, 1, result)

Definition at line 159 of file qv4instr_moth_p.h.

◆ INSTR_LoadReg

#define INSTR_LoadReg ( op)    INSTRUCTION(op, LoadReg, 1, reg)

Definition at line 39 of file qv4instr_moth_p.h.

◆ INSTR_LoadRuntimeString

#define INSTR_LoadRuntimeString ( op)    INSTRUCTION(op, LoadRuntimeString, 1, stringId)

Definition at line 47 of file qv4instr_moth_p.h.

◆ INSTR_LoadScopedLocal

#define INSTR_LoadScopedLocal ( op)    INSTRUCTION(op, LoadScopedLocal, 2, scope, index)

Definition at line 45 of file qv4instr_moth_p.h.

◆ INSTR_LoadSuperConstructor

#define INSTR_LoadSuperConstructor ( op)    INSTRUCTION(op, LoadSuperConstructor, 0)

Definition at line 112 of file qv4instr_moth_p.h.

◆ INSTR_LoadSuperProperty

#define INSTR_LoadSuperProperty ( op)    INSTRUCTION(op, LoadSuperProperty, 1, property)

Definition at line 66 of file qv4instr_moth_p.h.

◆ INSTR_LoadTrue

#define INSTR_LoadTrue ( op)    INSTRUCTION(op, LoadTrue, 0)

Definition at line 33 of file qv4instr_moth_p.h.

◆ INSTR_LoadUndefined

#define INSTR_LoadUndefined ( op)    INSTRUCTION(op, LoadUndefined, 0)

Definition at line 36 of file qv4instr_moth_p.h.

◆ INSTR_LoadZero

#define INSTR_LoadZero ( op)    INSTRUCTION(op, LoadZero, 0)

Definition at line 32 of file qv4instr_moth_p.h.

◆ INSTR_Mod

#define INSTR_Mod ( op)    INSTRUCTION(op, Mod, 1, lhs)

Definition at line 156 of file qv4instr_moth_p.h.

◆ INSTR_MoveConst

#define INSTR_MoveConst ( op)    INSTRUCTION(op, MoveConst, 2, constIndex, destTemp)

Definition at line 38 of file qv4instr_moth_p.h.

◆ INSTR_MoveReg

#define INSTR_MoveReg ( op)    INSTRUCTION(op, MoveReg, 2, srcReg, destReg)

Definition at line 41 of file qv4instr_moth_p.h.

◆ INSTR_MoveRegExp

#define INSTR_MoveRegExp ( op)    INSTRUCTION(op, MoveRegExp, 2, regExpId, destReg)

Definition at line 48 of file qv4instr_moth_p.h.

◆ INSTR_Mul

#define INSTR_Mul ( op)    INSTRUCTION(op, Mul, 1, lhs)

Definition at line 154 of file qv4instr_moth_p.h.

◆ INSTR_Nop

#define INSTR_Nop ( op)    INSTRUCTION(op, Nop, 0)

Definition at line 28 of file qv4instr_moth_p.h.

◆ INSTR_PopContext

#define INSTR_PopContext ( op)    INSTRUCTION(op, PopContext, 0)

Definition at line 95 of file qv4instr_moth_p.h.

◆ INSTR_PopScriptContext

#define INSTR_PopScriptContext ( op)    INSTRUCTION(op, PopScriptContext, 0)

Definition at line 94 of file qv4instr_moth_p.h.

◆ INSTR_PushBlockContext

#define INSTR_PushBlockContext ( op)    INSTRUCTION(op, PushBlockContext, 1, index)

Definition at line 91 of file qv4instr_moth_p.h.

◆ INSTR_PushCatchContext

#define INSTR_PushCatchContext ( op)    INSTRUCTION(op, PushCatchContext, 2, index, name)

Definition at line 89 of file qv4instr_moth_p.h.

◆ INSTR_PushScriptContext

#define INSTR_PushScriptContext ( op)    INSTRUCTION(op, PushScriptContext, 1, index)

Definition at line 93 of file qv4instr_moth_p.h.

◆ INSTR_PushWithContext

#define INSTR_PushWithContext ( op)    INSTRUCTION(op, PushWithContext, 0)

Definition at line 90 of file qv4instr_moth_p.h.

◆ INSTR_Resume

#define INSTR_Resume ( op)    INSTRUCTION(op, Resume, 1, offset)

Definition at line 62 of file qv4instr_moth_p.h.

◆ INSTR_Ret

#define INSTR_Ret ( op)    INSTRUCTION(op, Ret, 0)

Definition at line 29 of file qv4instr_moth_p.h.

◆ INSTR_SetException

#define INSTR_SetException ( op)    INSTRUCTION(op, SetException, 0)

Definition at line 87 of file qv4instr_moth_p.h.

◆ INSTR_SetLookup

#define INSTR_SetLookup ( op)    INSTRUCTION(op, SetLookup, 2, index, base)

Definition at line 65 of file qv4instr_moth_p.h.

◆ INSTR_SetUnwindHandler

#define INSTR_SetUnwindHandler ( op)    INSTRUCTION(op, SetUnwindHandler, 1, offset)

Definition at line 81 of file qv4instr_moth_p.h.

◆ INSTR_Shl

#define INSTR_Shl ( op)    INSTRUCTION(op, Shl, 1, lhs)

Definition at line 146 of file qv4instr_moth_p.h.

◆ INSTR_ShlConst

#define INSTR_ShlConst ( op)    INSTRUCTION(op, ShlConst, 1, rhs)

Definition at line 152 of file qv4instr_moth_p.h.

◆ INSTR_Shr

#define INSTR_Shr ( op)    INSTRUCTION(op, Shr, 1, lhs)

Definition at line 145 of file qv4instr_moth_p.h.

◆ INSTR_ShrConst

#define INSTR_ShrConst ( op)    INSTRUCTION(op, ShrConst, 1, rhs)

Definition at line 151 of file qv4instr_moth_p.h.

◆ INSTR_StoreElement

#define INSTR_StoreElement ( op)    INSTRUCTION(op, StoreElement, 2, base, index)

Definition at line 69 of file qv4instr_moth_p.h.

◆ INSTR_StoreLocal

#define INSTR_StoreLocal ( op)    INSTRUCTION(op, StoreLocal, 1, index)

Definition at line 44 of file qv4instr_moth_p.h.

◆ INSTR_StoreNameSloppy

#define INSTR_StoreNameSloppy ( op)    INSTRUCTION(op, StoreNameSloppy, 1, name)

Definition at line 53 of file qv4instr_moth_p.h.

◆ INSTR_StoreNameStrict

#define INSTR_StoreNameStrict ( op)    INSTRUCTION(op, StoreNameStrict, 1, name)

Definition at line 54 of file qv4instr_moth_p.h.

◆ INSTR_StoreProperty

#define INSTR_StoreProperty ( op)    INSTRUCTION(op, StoreProperty, 2, name, base)

Definition at line 64 of file qv4instr_moth_p.h.

◆ INSTR_StoreReg

#define INSTR_StoreReg ( op)    INSTRUCTION(op, StoreReg, 1, reg)

Definition at line 40 of file qv4instr_moth_p.h.

◆ INSTR_StoreScopedLocal

#define INSTR_StoreScopedLocal ( op)    INSTRUCTION(op, StoreScopedLocal, 2, scope, index)

Definition at line 46 of file qv4instr_moth_p.h.

◆ INSTR_StoreSuperProperty

#define INSTR_StoreSuperProperty ( op)    INSTRUCTION(op, StoreSuperProperty, 1, property)

Definition at line 67 of file qv4instr_moth_p.h.

◆ INSTR_Sub

#define INSTR_Sub ( op)    INSTRUCTION(op, Sub, 1, lhs)

Definition at line 157 of file qv4instr_moth_p.h.

◆ INSTR_TailCall

#define INSTR_TailCall ( op)    INSTRUCTION(op, TailCall, 4, func, thisObject, argc, argv)

Definition at line 163 of file qv4instr_moth_p.h.

◆ INSTR_ThrowException

#define INSTR_ThrowException ( op)    INSTRUCTION(op, ThrowException, 0)

Definition at line 85 of file qv4instr_moth_p.h.

◆ INSTR_ThrowOnNullOrUndefined

#define INSTR_ThrowOnNullOrUndefined ( op)    INSTRUCTION(op, ThrowOnNullOrUndefined, 0)

Definition at line 161 of file qv4instr_moth_p.h.

◆ INSTR_ToObject

#define INSTR_ToObject ( op)    INSTRUCTION(op, ToObject, 0)

Definition at line 113 of file qv4instr_moth_p.h.

◆ INSTR_TypeofName

#define INSTR_TypeofName ( op)    INSTRUCTION(op, TypeofName, 1, name)

Definition at line 102 of file qv4instr_moth_p.h.

◆ INSTR_TypeofValue

#define INSTR_TypeofValue ( op)    INSTRUCTION(op, TypeofValue, 0)

Definition at line 103 of file qv4instr_moth_p.h.

◆ INSTR_UCompl

#define INSTR_UCompl ( op)    INSTRUCTION(op, UCompl, 0)

Definition at line 137 of file qv4instr_moth_p.h.

◆ INSTR_UMinus

#define INSTR_UMinus ( op)    INSTRUCTION(op, UMinus, 0)

Definition at line 136 of file qv4instr_moth_p.h.

◆ INSTR_UNot

#define INSTR_UNot ( op)    INSTRUCTION(op, UNot, 0)

Definition at line 134 of file qv4instr_moth_p.h.

◆ INSTR_UnwindDispatch

#define INSTR_UnwindDispatch ( op)    INSTRUCTION(op, UnwindDispatch, 0)

Definition at line 82 of file qv4instr_moth_p.h.

◆ INSTR_UnwindToLabel

#define INSTR_UnwindToLabel ( op)    INSTRUCTION(op, UnwindToLabel, 2, level, offset)

Definition at line 83 of file qv4instr_moth_p.h.

◆ INSTR_UPlus

#define INSTR_UPlus ( op)    INSTRUCTION(op, UPlus, 0)

Definition at line 135 of file qv4instr_moth_p.h.

◆ INSTR_UShr

#define INSTR_UShr ( op)    INSTRUCTION(op, UShr, 1, lhs)

Definition at line 144 of file qv4instr_moth_p.h.

◆ INSTR_UShrConst

#define INSTR_UShrConst ( op)    INSTRUCTION(op, UShrConst, 1, rhs)

Definition at line 150 of file qv4instr_moth_p.h.

◆ INSTR_Yield

#define INSTR_Yield ( op)    INSTRUCTION(op, Yield, 0)

Definition at line 60 of file qv4instr_moth_p.h.

◆ INSTR_YieldStar

#define INSTR_YieldStar ( op)    INSTRUCTION(op, YieldStar, 0)

Definition at line 61 of file qv4instr_moth_p.h.

◆ INSTRUCTION

#define INSTRUCTION ( op,
name,
nargs,
... )    op##_INSTRUCTION(name, nargs, __VA_ARGS__)

Definition at line 24 of file qv4instr_moth_p.h.

◆ MOTH_ADJUST_CODE

#define MOTH_ADJUST_CODE ( type,
nargs )    code += static_cast<quintptr>(nargs*sizeof(type) + 1)

Definition at line 370 of file qv4instr_moth_p.h.

◆ MOTH_COLLECT_ARG_COUNT_INSTRUCTION

#define MOTH_COLLECT_ARG_COUNT_INSTRUCTION ( name,
nargs,
... )    nargs, nargs,

Definition at line 365 of file qv4instr_moth_p.h.

◆ MOTH_COLLECT_ENUMS

#define MOTH_COLLECT_ENUMS ( instr)     INSTR_##instr(MOTH_GET_ENUM)

Definition at line 346 of file qv4instr_moth_p.h.

◆ MOTH_COLLECT_NARGS

#define MOTH_COLLECT_NARGS ( instr)     INSTR_##instr(MOTH_COLLECT_ARG_COUNT)

Definition at line 363 of file qv4instr_moth_p.h.

◆ MOTH_DECODE_ARG

#define MOTH_DECODE_ARG ( arg,
type,
nargs,
offset )    arg = qFromLittleEndian<type>(qFromUnaligned<type>(reinterpret_cast<const type *>(code) - nargs + offset));

Definition at line 368 of file qv4instr_moth_p.h.

◆ MOTH_DECODE_ARGS

#define MOTH_DECODE_ARGS ( name,
type,
nargs,
... )    MOTH_EXPAND_FOR_MSVC(MOTH_DECODE_ARGS##nargs(name, type, nargs, __VA_ARGS__))

Definition at line 400 of file qv4instr_moth_p.h.

◆ MOTH_DECODE_ARGS0

#define MOTH_DECODE_ARGS0 ( name,
type,
nargs,
dummy )

Definition at line 403 of file qv4instr_moth_p.h.

◆ MOTH_DECODE_ARGS1

#define MOTH_DECODE_ARGS1 ( name,
type,
nargs,
arg )    MOTH_DECODE_ARG(arg, type, nargs, 0);

Definition at line 404 of file qv4instr_moth_p.h.

◆ MOTH_DECODE_ARGS2

#define MOTH_DECODE_ARGS2 ( name,
type,
nargs,
arg1,
arg2 )
Value:
MOTH_DECODE_ARG(arg2, type, nargs, 1);
GLenum type
GLuint name
GLuint GLuint GLuint GLuint arg1
GLuint GLuint GLuint GLuint GLuint GLuint GLuint arg2
#define MOTH_DECODE_ARGS1(name, type, nargs, arg)

Definition at line 406 of file qv4instr_moth_p.h.

◆ MOTH_DECODE_ARGS3

#define MOTH_DECODE_ARGS3 ( name,
type,
nargs,
arg1,
arg2,
arg3 )
Value:
MOTH_DECODE_ARG(arg3, type, nargs, 2);
GLuint GLuint GLuint GLuint GLuint GLuint GLuint GLuint GLuint GLuint arg3
#define MOTH_DECODE_ARGS2(name, type, nargs, arg1, arg2)

Definition at line 409 of file qv4instr_moth_p.h.

◆ MOTH_DECODE_ARGS4

#define MOTH_DECODE_ARGS4 ( name,
type,
nargs,
arg1,
arg2,
arg3,
arg4 )
Value:
MOTH_DECODE_ARG(arg4, type, nargs, 3);
#define MOTH_DECODE_ARGS3(name, type, nargs, arg1, arg2, arg3)

Definition at line 412 of file qv4instr_moth_p.h.

◆ MOTH_DECODE_ARGS5

#define MOTH_DECODE_ARGS5 ( name,
type,
nargs,
arg1,
arg2,
arg3,
arg4,
arg5 )
Value:
MOTH_DECODE_ARGS4(name, type, nargs, arg1, arg2, arg3, arg4); \
MOTH_DECODE_ARG(arg5, type, nargs, 4);
#define MOTH_DECODE_ARGS4(name, type, nargs, arg1, arg2, arg3, arg4)

Definition at line 415 of file qv4instr_moth_p.h.

◆ MOTH_DECODE_INSTRUCTION

#define MOTH_DECODE_INSTRUCTION ( name,
nargs,
... )
Value:
MOTH_DEFINE_ARGS(nargs, __VA_ARGS__) \
op_int_##name: \
MOTH_ADJUST_CODE(int, nargs); \
MOTH_DECODE_ARGS(name, int, nargs, __VA_ARGS__) \
goto op_main_##name; \
op_byte_##name: \
MOTH_ADJUST_CODE(qint8, nargs); \
MOTH_DECODE_ARGS(name, qint8, nargs, __VA_ARGS__) \
op_main_##name: \
; \
QT_BEGIN_NAMESPACE typedef signed char qint8
Definition qtypes.h:45
#define MOTH_DEFINE_ARGS(nargs,...)

Definition at line 373 of file qv4instr_moth_p.h.

◆ MOTH_DECODE_WITH_BASE_INSTRUCTION

#define MOTH_DECODE_WITH_BASE_INSTRUCTION ( name,
nargs,
... )
Value:
MOTH_DEFINE_ARGS(nargs, __VA_ARGS__) \
const char *base_ptr; \
op_int_##name: \
base_ptr = code; \
MOTH_ADJUST_CODE(int, nargs); \
MOTH_DECODE_ARGS(name, int, nargs, __VA_ARGS__) \
goto op_main_##name; \
op_byte_##name: \
base_ptr = code; \
MOTH_ADJUST_CODE(qint8, nargs); \
MOTH_DECODE_ARGS(name, qint8, nargs, __VA_ARGS__) \
op_main_##name: \
; \

Definition at line 385 of file qv4instr_moth_p.h.

◆ MOTH_DEFINE_ARGS

#define MOTH_DEFINE_ARGS ( nargs,
... )    MOTH_EXPAND_FOR_MSVC(MOTH_DEFINE_ARGS##nargs(__VA_ARGS__))

Definition at line 321 of file qv4instr_moth_p.h.

◆ MOTH_DEFINE_ARGS0

#define MOTH_DEFINE_ARGS0 ( )

Definition at line 324 of file qv4instr_moth_p.h.

◆ MOTH_DEFINE_ARGS1

#define MOTH_DEFINE_ARGS1 ( arg)     int arg;

Definition at line 325 of file qv4instr_moth_p.h.

◆ MOTH_DEFINE_ARGS2

#define MOTH_DEFINE_ARGS2 ( arg1,
arg2 )
Value:
int arg1; \
int arg2;

Definition at line 327 of file qv4instr_moth_p.h.

◆ MOTH_DEFINE_ARGS3

#define MOTH_DEFINE_ARGS3 ( arg1,
arg2,
arg3 )
Value:
int arg1; \
int arg2; \
int arg3;

Definition at line 330 of file qv4instr_moth_p.h.

◆ MOTH_DEFINE_ARGS4

#define MOTH_DEFINE_ARGS4 ( arg1,
arg2,
arg3,
arg4 )
Value:
int arg1; \
int arg2; \
int arg3; \
int arg4;

Definition at line 334 of file qv4instr_moth_p.h.

◆ MOTH_DEFINE_ARGS5

#define MOTH_DEFINE_ARGS5 ( arg1,
arg2,
arg3,
arg4,
arg5 )
Value:
int arg1; \
int arg2; \
int arg3; \
int arg4; \
int arg5;

Definition at line 339 of file qv4instr_moth_p.h.

◆ MOTH_DISPATCH

#define MOTH_DISPATCH ( )
Value:
Instr::Type type = Instr::Type(static_cast<uchar>(*code)); \
dispatch: \
switch (type) { \
case Instr::Type::Nop: \
++code; \
type = Instr::Type(static_cast<uchar>(*code)); \
goto dispatch; \
case Instr::Type::Nop_Wide: /* wide prefix */ \
++code; \
type = Instr::Type(0x100 | static_cast<uchar>(*code)); \
goto dispatch; \
FOR_EACH_MOTH_INSTR(MOTH_INSTR_CASE_AND_JUMP) \
}
unsigned char uchar
Definition qtypes.h:32
#define MOTH_INSTR_CASE_AND_JUMP(instr)

Definition at line 456 of file qv4instr_moth_p.h.

Referenced by QV4::Moth::ByteCodeHandler::decode(), QV4::Moth::dumpBytecode(), and QV4::Moth::VME::interpret().

◆ MOTH_EMIT_INSTR_MEMBER_INSTRUCTION

#define MOTH_EMIT_INSTR_MEMBER_INSTRUCTION ( name,
nargs,
... )    instr_##name name;

Definition at line 360 of file qv4instr_moth_p.h.

◆ MOTH_EMIT_INSTR_MEMBERS

#define MOTH_EMIT_INSTR_MEMBERS ( instr)     INSTR_##instr(MOTH_EMIT_INSTR_MEMBER)

Definition at line 358 of file qv4instr_moth_p.h.

◆ MOTH_EMIT_STRUCT_INSTRUCTION

#define MOTH_EMIT_STRUCT_INSTRUCTION ( name,
nargs,
... )
Value:
struct instr_##name { \
MOTH_DEFINE_ARGS(nargs, __VA_ARGS__) \
};

Definition at line 353 of file qv4instr_moth_p.h.

◆ MOTH_EMIT_STRUCTS

#define MOTH_EMIT_STRUCTS ( instr)     INSTR_##instr(MOTH_EMIT_STRUCT)

Definition at line 351 of file qv4instr_moth_p.h.

◆ MOTH_EXPAND_FOR_MSVC

#define MOTH_EXPAND_FOR_MSVC ( x)    x

Definition at line 320 of file qv4instr_moth_p.h.

◆ MOTH_GET_ENUM_INSTRUCTION

#define MOTH_GET_ENUM_INSTRUCTION ( name,
... )    name,

Definition at line 348 of file qv4instr_moth_p.h.

◆ MOTH_INSTR_ALIGN_MASK

#define MOTH_INSTR_ALIGN_MASK   (alignof(QV4::Moth::Instr) - 1)

Definition at line 315 of file qv4instr_moth_p.h.

◆ MOTH_INSTR_CASE_AND_JUMP

#define MOTH_INSTR_CASE_AND_JUMP ( instr)
Value:
INSTR_##instr(GET_CASE_AND_JUMP) \
INSTR_##instr(GET_CASE_AND_JUMP_WIDE)

Definition at line 448 of file qv4instr_moth_p.h.

◆ MOTH_INSTR_DATA_TYPEDEF

#define MOTH_INSTR_DATA_TYPEDEF ( I)    typedef InstrData<int(Instr::Type::I)> I;

Definition at line 581 of file qv4instr_moth_p.h.

◆ MOTH_INSTR_ENUM

#define MOTH_INSTR_ENUM ( I)    I, I##_Wide,

Definition at line 317 of file qv4instr_moth_p.h.

◆ MOTH_INSTR_META_TEMPLATE

#define MOTH_INSTR_META_TEMPLATE ( I)
Value:
template<> struct InstrMeta<int(Instr::Type::I)> { \
enum { Size = MOTH_INSTR_SIZE(I) }; \
typedef Instr::instr_##I DataType; \
static const DataType &data(const Instr &instr) { return instr.I; } \
static void setData(Instr &instr, const DataType &v) \
{ memcpy(reinterpret_cast<char *>(&instr.I), \
reinterpret_cast<const char *>(&v), \
Size); } \
};
GLsizei const GLfloat * v
[13]
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
#define MOTH_INSTR_SIZE(I)
mimeData setData("text/csv", csvData)

Definition at line 561 of file qv4instr_moth_p.h.

◆ MOTH_INSTR_SIZE

#define MOTH_INSTR_SIZE ( I)    (sizeof(QV4::Moth::Instr::instr_##I))

Definition at line 318 of file qv4instr_moth_p.h.

◆ MOTH_JUMP_TABLE

#define MOTH_JUMP_TABLE

◆ MOTH_NUM_INSTRUCTIONS

#define MOTH_NUM_INSTRUCTIONS ( )    (static_cast<int>(Moth::Instr::Type::Debug_Wide) + 1)

Definition at line 304 of file qv4instr_moth_p.h.