|
| BlocksAndAnnotations | run (const Function *m_function) |
| void | generate_Ret () override |
| void | generate_Debug () override |
| void | generate_LoadConst (int indexindex) override |
| void | generate_LoadZero () override |
| void | generate_LoadTrue () override |
| void | generate_LoadFalse () override |
| void | generate_LoadNull () override |
| void | generate_LoadUndefined () override |
| void | generate_LoadInt (int valuevalue) override |
| void | generate_MoveConst (int constIndex, int destTemp) override |
| void | generate_LoadReg (int reg) override |
| void | generate_StoreReg (int reg) override |
| void | generate_MoveReg (int srcReg, int destReg) override |
| void | generate_LoadImport (int indexindex) override |
| void | generate_LoadLocal (int indexindex) override |
| void | generate_StoreLocal (int indexindex) override |
| void | generate_LoadScopedLocal (int scope, int indexindex) override |
| void | generate_StoreScopedLocal (int scope, int indexindex) override |
| void | generate_LoadRuntimeString (int stringId) override |
| void | generate_MoveRegExp (int regExpId, int destReg) override |
| void | generate_LoadClosure (int valuevalue) override |
| void | generate_LoadName (int nameIndex) override |
| void | generate_LoadGlobalLookup (int indexindex) override |
| void | generate_LoadQmlContextPropertyLookup (int indexindex) override |
| void | generate_StoreNameSloppy (int nameIndex) override |
| void | generate_StoreNameStrict (int namename) override |
| void | generate_LoadElement (int base) override |
| void | generate_StoreElement (int base, int indexindex) override |
| void | generate_LoadProperty (int nameIndex) override |
| void | generate_LoadOptionalProperty (int namename, int offsetoffset) override |
| void | generate_GetLookup (int indexindex) override |
| void | generate_GetOptionalLookup (int indexindex, int offsetoffset) override |
| void | generate_StoreProperty (int namename, int base) override |
| void | generate_SetLookup (int indexindex, int base) override |
| void | generate_LoadSuperProperty (int property) override |
| void | generate_StoreSuperProperty (int property) override |
| void | generate_Yield () override |
| void | generate_YieldStar () override |
| void | generate_Resume (int) override |
| void | generate_CallValue (int namename, int argc, int argv) override |
| void | generate_CallWithReceiver (int namename, int thisObject, int argc, int argv) override |
| void | generate_CallProperty (int namename, int base, int argc, int argv) override |
| void | generate_CallPropertyLookup (int lookupIndex, int base, int argc, int argv) override |
| void | generate_CallName (int namename, int argc, int argv) override |
| void | generate_CallPossiblyDirectEval (int argc, int argv) override |
| void | generate_CallGlobalLookup (int indexindex, int argc, int argv) override |
| void | generate_CallQmlContextPropertyLookup (int indexindex, int argc, int argv) override |
| void | generate_CallWithSpread (int funcfunc, int thisObject, int argc, int argv) override |
| void | generate_TailCall (int funcfunc, int thisObject, int argc, int argv) override |
| void | generate_Construct (int funcfunc, int argc, int argv) override |
| void | generate_ConstructWithSpread (int funcfunc, int argc, int argv) override |
| void | generate_SetUnwindHandler (int offsetoffset) override |
| void | generate_UnwindDispatch () override |
| void | generate_UnwindToLabel (int levellevel, int offsetoffset) override |
| void | generate_DeadTemporalZoneCheck (int namename) override |
| void | generate_ThrowException () override |
| void | generate_GetException () override |
| void | generate_SetException () override |
| void | generate_CreateCallContext () override |
| void | generate_PushCatchContext (int indexindex, int namename) override |
| void | generate_PushWithContext () override |
| void | generate_PushBlockContext (int indexindex) override |
| void | generate_CloneBlockContext () override |
| void | generate_PushScriptContext (int indexindex) override |
| void | generate_PopScriptContext () override |
| void | generate_PopContext () override |
| void | generate_GetIterator (int iterator) override |
| void | generate_IteratorNext (int valuevalue, int offsetoffset) override |
| void | generate_IteratorNextForYieldStar (int iterator, int objectobject, int offsetoffset) override |
| void | generate_IteratorClose () override |
| void | generate_DestructureRestElement () override |
| void | generate_DeleteProperty (int base, int indexindex) override |
| void | generate_DeleteName (int namename) override |
| void | generate_TypeofName (int namename) override |
| void | generate_TypeofValue () override |
| void | generate_DeclareVar (int varName, int isDeletable) override |
| void | generate_DefineArray (int argc, int args) override |
| void | generate_DefineObjectLiteral (int internalClassId, int argc, int args) override |
| void | generate_CreateClass (int classIndex, int heritage, int computedNames) override |
| void | generate_CreateMappedArgumentsObject () override |
| void | generate_CreateUnmappedArgumentsObject () override |
| void | generate_CreateRestParameter (int argIndex) override |
| void | generate_ConvertThisToObject () override |
| void | generate_LoadSuperConstructor () override |
| void | generate_ToObject () override |
| void | generate_Jump (int offsetoffset) override |
| void | generate_JumpTrue (int offsetoffset) override |
| void | generate_JumpFalse (int offsetoffset) override |
| void | generate_JumpNoException (int offsetoffset) override |
| void | generate_JumpNotUndefined (int offsetoffset) override |
| void | generate_CheckException () override |
| void | generate_CmpEqNull () override |
| void | generate_CmpNeNull () override |
| void | generate_CmpEqInt (int lhsConst) override |
| void | generate_CmpNeInt (int lhs) override |
| void | generate_CmpEq (int lhs) override |
| void | generate_CmpNe (int lhs) override |
| void | generate_CmpGt (int lhs) override |
| void | generate_CmpGe (int lhs) override |
| void | generate_CmpLt (int lhs) override |
| void | generate_CmpLe (int lhs) override |
| void | generate_CmpStrictEqual (int lhs) override |
| void | generate_CmpStrictNotEqual (int lhs) override |
| void | generate_CmpIn (int lhs) override |
| void | generate_CmpInstanceOf (int lhs) override |
| void | generate_As (int lhs) override |
| void | generate_UNot () override |
| void | generate_UPlus () override |
| void | generate_UMinus () override |
| void | generate_UCompl () override |
| void | generate_Increment () override |
| void | generate_Decrement () override |
| void | generate_Add (int lhs) override |
| void | generate_BitAnd (int lhs) override |
| void | generate_BitOr (int lhs) override |
| void | generate_BitXor (int lhs) override |
| void | generate_UShr (int lhs) override |
| void | generate_Shr (int lhs) override |
| void | generate_Shl (int lhs) override |
| void | generate_BitAndConst (int rhsConst) override |
| void | generate_BitOrConst (int rhsConst) override |
| void | generate_BitXorConst (int rhsConst) override |
| void | generate_UShrConst (int rhsConst) override |
| void | generate_ShrConst (int rhs) override |
| void | generate_ShlConst (int rhs) override |
| void | generate_Exp (int lhs) override |
| void | generate_Mul (int lhs) override |
| void | generate_Div (int lhs) override |
| void | generate_Mod (int lhs) override |
| void | generate_Sub (int lhs) override |
| void | generate_InitializeBlockDeadTemporalZone (int firstReg, int countcount) override |
| void | generate_ThrowOnNullOrUndefined () override |
| void | generate_GetTemplateObject (int indexindex) override |
| Verdict | startInstruction (QV4::Moth::Instr::Type instr) override |
| void | endInstruction (QV4::Moth::Instr::Type instr) override |
| | QQmlJSCompilePass (const QV4::Compiler::JSUnitGenerator *jsUnitGenerator, const QQmlJSTypeResolver *typeResolver, QQmlJSLogger *logger, const BasicBlocks &basicBlocks={}, const InstructionAnnotations &annotations={}) |
| | QQmlJSCompilePass (const QV4::Compiler::JSUnitGenerator *jsUnitGenerator, const QQmlJSTypeResolver *typeResolver, QQmlJSLogger *logger, const BasicBlocks &basicBlocks={}, const InstructionAnnotations &annotations={}) |
| Public Member Functions inherited from QV4::Moth::ByteCodeHandler |
| | ByteCodeHandler ()=default |
| virtual | ~ByteCodeHandler () |
| void | decode (const char *code, uint lenlen) |
| void | reset () |
| int | currentInstructionOffset () const |
| int | nextInstructionOffset () const |
| int | absoluteOffset (int relativeOffset) const |
|
| virtual void | handleUnqualifiedAccess (const QString &namename, bool isMethod) const |
| virtual void | handleUnqualifiedAccessAndContextProperties (const QString &namename, bool isMethod) const |
| virtual void | checkDeprecated (QQmlJSScope::ConstPtr scope, const QString &namename, bool isMethod) const |
| virtual bool | isCallingProperty (QQmlJSScope::ConstPtr scope, const QString &namename) const |
| virtual bool | handleImportNamespaceLookup (const QString &propertyName) |
| virtual void | handleLookupError (const QString &propertyName) |
| virtual bool | checkForEnumProblems (QQmlJSRegisterContent base, const QString &propertyName) |
| virtual void | warnAboutTypeCoercion (int lhs) |
| void | checkConversion (QQmlJSRegisterContent from, QQmlJSRegisterContent to) |
| void | generateUnaryArithmeticOperation (QQmlJSTypeResolver::UnaryOperator op) |
| QQmlJSRegisterContent | propagateBinaryOperation (QSOperator::Op op, int lhs) |
| void | generateBinaryArithmeticOperation (QSOperator::Op op, int lhs) |
| void | generateBinaryConstArithmeticOperation (QSOperator::Op op) |
| virtual void | generate_StoreNameCommon (int nameIndex) |
| virtual void | propagateCall (const QList< QQmlJSMetaMethod > &methods, int argc, int argv, QQmlJSRegisterContent scope) |
| virtual void | propagateTranslationMethod_SAcheck (const QString &methodName) |
| bool | propagateTranslationMethod (const QList< QQmlJSMetaMethod > &methods, int argc, int argv) |
| void | propagateStringArgCall (QQmlJSRegisterContent base, int argv) |
| bool | propagateArrayMethod (const QString &namename, int argc, int argv, QQmlJSRegisterContent valueType) |
| virtual void | propagatePropertyLookup (const QString &namename, int lookupIndex=QQmlJSRegisterContent::InvalidLookupIndex) |
| void | propagateScopeLookupCall (const QString &functionName, int argc, int argv) |
| void | saveRegisterStateForJump (int offsetoffset) |
| bool | canConvertFromTo (QQmlJSRegisterContent from, QQmlJSRegisterContent to) |
| bool | canConvertFromTo (QQmlJSRegisterContent from, const QQmlJSScope::ConstPtr &to) |
| QString | registerName (int registerIndex) const |
| QQmlJSRegisterContent | checkedInputRegister (int reg) |
| QQmlJSMetaMethod | bestMatchForCall (const QList< QQmlJSMetaMethod > &methods, int argc, int argv, QStringList *errors) |
| void | setAccumulator (QQmlJSRegisterContent content) |
| void | setRegister (int indexindex, QQmlJSRegisterContent content) |
| void | mergeRegister (int indexindex, const VirtualRegister &aa, const VirtualRegister &bb) |
| void | addReadRegister (int indexindex) |
| void | addReadRegister (int indexindex, QQmlJSRegisterContent convertTo) |
| void | addReadRegister (int indexindex, const QQmlJSScope::ConstPtr &convertTo) |
| void | addReadAccumulator () |
| void | addReadAccumulator (QQmlJSRegisterContent convertTo) |
| void | addReadAccumulator (const QQmlJSScope::ConstPtr &convertTo) |
| bool | populatesAccumulator (QV4::Moth::Instr::Type instr) const |
| bool | isNoop (QV4::Moth::Instr::Type instr) const |
| void | recordEqualsNullType () |
| void | recordEqualsIntType () |
| void | recordEqualsType (int lhs) |
| void | recordCompareType (int lhs) |
| void | generate_CallProperty_SCMath (const QString &namename, int base, int arcg, int argv) |
| void | generate_CallProperty_SCconsole (const QString &namename, int base, int argc, int argv) |
| void | generate_Construct_SCDate (const QQmlJSMetaMethod &ctor, int argc, int argv) |
| void | generate_Construct_SCArray (const QQmlJSMetaMethod &ctor, int argc, int argv) |
| void | addError (const QString &messagemessage) |
| void | setVarAccumulatorAndError () |
| int | firstRegisterIndex () const |
| bool | isArgument (int registerIndex) const |
| QQmlJSRegisterContent | argumentType (int registerIndex) const |
| bool | isQmlScopeObject (QQmlJSRegisterContent content) |
| State | initialState (const Function *function) |
| State | nextStateFromAnnotations (const State &oldState, const InstructionAnnotations &annotations) |
| QList< SourceLocationTable::Entry >::const_iterator | sourceLocationEntry (int instructionOffset) const |
| QQmlJS::SourceLocation | sourceLocation (int instructionOffset) const |
| QQmlJS::SourceLocation | nonEmptySourceLocation (int instructionOffset) const |
| QQmlJS::SourceLocation | currentSourceLocation () const |
| QQmlJS::SourceLocation | currentNonEmptySourceLocation () const |
| QQmlJS::SourceLocation | currentFunctionSourceLocation () const |
| void | addError (const QString &messagemessage, int instructionOffset) |
| void | addSkip (const QString &messagemessage, int instructionOffset) |
| void | addError (const QString &messagemessage) |
| void | addSkip (const QString &messagemessage) |
| void | generate_Add (int) override |
| void | generate_As (int) override |
| void | generate_BitAnd (int) override |
| void | generate_BitAndConst (int) override |
| void | generate_BitOr (int) override |
| void | generate_BitOrConst (int) override |
| void | generate_BitXor (int) override |
| void | generate_BitXorConst (int) override |
| void | generate_CallGlobalLookup (int, int, int) override |
| void | generate_CallName (int, int, int) override |
| void | generate_CallPossiblyDirectEval (int, int) override |
| void | generate_CallProperty (int, int, int, int) override |
| void | generate_CallPropertyLookup (int, int, int, int) override |
| void | generate_CallQmlContextPropertyLookup (int, int, int) override |
| void | generate_CallValue (int, int, int) override |
| void | generate_CallWithReceiver (int, int, int, int) override |
| void | generate_CallWithSpread (int, int, int, int) override |
| void | generate_CheckException () override |
| void | generate_CloneBlockContext () override |
| void | generate_CmpEq (int) override |
| void | generate_CmpEqInt (int) override |
| void | generate_CmpEqNull () override |
| void | generate_CmpGe (int) override |
| void | generate_CmpGt (int) override |
| void | generate_CmpIn (int) override |
| void | generate_CmpInstanceOf (int) override |
| void | generate_CmpLe (int) override |
| void | generate_CmpLt (int) override |
| void | generate_CmpNe (int) override |
| void | generate_CmpNeInt (int) override |
| void | generate_CmpNeNull () override |
| void | generate_CmpStrictEqual (int) override |
| void | generate_CmpStrictNotEqual (int) override |
| void | generate_Construct (int, int, int) override |
| void | generate_ConstructWithSpread (int, int, int) override |
| void | generate_ConvertThisToObject () override |
| void | generate_CreateCallContext () override |
| void | generate_CreateClass (int, int, int) override |
| void | generate_CreateMappedArgumentsObject () override |
| void | generate_CreateRestParameter (int) override |
| void | generate_CreateUnmappedArgumentsObject () override |
| void | generate_DeadTemporalZoneCheck (int) override |
| void | generate_Debug () override |
| void | generate_DeclareVar (int, int) override |
| void | generate_Decrement () override |
| void | generate_DefineArray (int, int) override |
| void | generate_DefineObjectLiteral (int, int, int) override |
| void | generate_DeleteName (int) override |
| void | generate_DeleteProperty (int, int) override |
| void | generate_DestructureRestElement () override |
| void | generate_Div (int) override |
| void | generate_Exp (int) override |
| void | generate_GetException () override |
| void | generate_GetIterator (int) override |
| void | generate_GetLookup (int) override |
| void | generate_GetOptionalLookup (int, int) override |
| void | generate_GetTemplateObject (int) override |
| void | generate_Increment () override |
| void | generate_InitializeBlockDeadTemporalZone (int, int) override |
| void | generate_IteratorClose () override |
| void | generate_IteratorNext (int, int) override |
| void | generate_IteratorNextForYieldStar (int, int, int) override |
| void | generate_Jump (int) override |
| void | generate_JumpFalse (int) override |
| void | generate_JumpNoException (int) override |
| void | generate_JumpNotUndefined (int) override |
| void | generate_JumpTrue (int) override |
| void | generate_LoadClosure (int) override |
| void | generate_LoadConst (int) override |
| void | generate_LoadElement (int) override |
| void | generate_LoadFalse () override |
| void | generate_LoadGlobalLookup (int) override |
| void | generate_LoadImport (int) override |
| void | generate_LoadInt (int) override |
| void | generate_LoadLocal (int) override |
| void | generate_LoadName (int) override |
| void | generate_LoadNull () override |
| void | generate_LoadOptionalProperty (int, int) override |
| void | generate_LoadProperty (int) override |
| void | generate_LoadQmlContextPropertyLookup (int) override |
| void | generate_LoadReg (int) override |
| void | generate_LoadRuntimeString (int) override |
| void | generate_LoadScopedLocal (int, int) override |
| void | generate_LoadSuperConstructor () override |
| void | generate_LoadSuperProperty (int) override |
| void | generate_LoadTrue () override |
| void | generate_LoadUndefined () override |
| void | generate_LoadZero () override |
| void | generate_Mod (int) override |
| void | generate_MoveConst (int, int) override |
| void | generate_MoveReg (int, int) override |
| void | generate_MoveRegExp (int, int) override |
| void | generate_Mul (int) override |
| void | generate_PopContext () override |
| void | generate_PopScriptContext () override |
| void | generate_PushBlockContext (int) override |
| void | generate_PushCatchContext (int, int) override |
| void | generate_PushScriptContext (int) override |
| void | generate_PushWithContext () override |
| void | generate_Resume (int) override |
| void | generate_Ret () override |
| void | generate_SetException () override |
| void | generate_SetLookup (int, int) override |
| void | generate_SetUnwindHandler (int) override |
| void | generate_Shl (int) override |
| void | generate_ShlConst (int) override |
| void | generate_Shr (int) override |
| void | generate_ShrConst (int) override |
| void | generate_StoreElement (int, int) override |
| void | generate_StoreLocal (int) override |
| void | generate_StoreNameSloppy (int) override |
| void | generate_StoreNameStrict (int) override |
| void | generate_StoreProperty (int, int) override |
| void | generate_StoreReg (int) override |
| void | generate_StoreScopedLocal (int, int) override |
| void | generate_StoreSuperProperty (int) override |
| void | generate_Sub (int) override |
| void | generate_TailCall (int, int, int, int) override |
| void | generate_ThrowException () override |
| void | generate_ThrowOnNullOrUndefined () override |
| void | generate_ToObject () override |
| void | generate_TypeofName (int) override |
| void | generate_TypeofValue () override |
| void | generate_UCompl () override |
| void | generate_UMinus () override |
| void | generate_UNot () override |
| void | generate_UPlus () override |
| void | generate_UShr (int) override |
| void | generate_UShrConst (int) override |
| void | generate_UnwindDispatch () override |
| void | generate_UnwindToLabel (int, int) override |
| void | generate_Yield () override |
| void | generate_YieldStar () override |
QQmlJSTypePropagator is the initial pass that performs the type inference and annotates every register in use at any instruction with the possible types it may hold. This includes information on how and in what scope the values are retrieved. These annotations may be used by further compile passes for refinement or code generation.
Definition at line 28 of file qqmljstypepropagator_p.h.