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
QQmlJSOptimizations Class Reference

#include <qqmljsoptimizations_p.h>

+ Inheritance diagram for QQmlJSOptimizations:
+ Collaboration diagram for QQmlJSOptimizations:

Public Types

using Conversions = QSet<int>
 
- Public Types inherited from QQmlJSCompilePass
enum  RegisterShortcuts { InvalidRegister = -1 , Accumulator = QV4::CallData::Accumulator , This = QV4::CallData::This , FirstArgument = QV4::CallData::OffsetCount }
 
using SourceLocationTable = QV4::Compiler::Context::SourceLocationTable
 
using VirtualRegisters = QFlatMap<int, VirtualRegister>
 
using BasicBlocks = QFlatMap<int, BasicBlock>
 
using InstructionAnnotations = QFlatMap<int, InstructionAnnotation>
 

Public Member Functions

 QQmlJSOptimizations (const QV4::Compiler::JSUnitGenerator *unitGenerator, const QQmlJSTypeResolver *typeResolver, QQmlJSLogger *logger, BasicBlocks basicBlocks, InstructionAnnotations annotations, QList< ObjectOrArrayDefinition > objectAndArrayDefinitions)
 
 ~QQmlJSOptimizations ()=default
 
BlocksAndAnnotations run (const Function *function, QQmlJS::DiagnosticMessage *error)
 
- Public Member Functions inherited from QQmlJSCompilePass
 QQmlJSCompilePass (const QV4::Compiler::JSUnitGenerator *jsUnitGenerator, const QQmlJSTypeResolver *typeResolver, QQmlJSLogger *logger, BasicBlocks basicBlocks={}, InstructionAnnotations annotations={})
 
- Public Member Functions inherited from QV4::Moth::ByteCodeHandler
 ByteCodeHandler ()=default
 
virtual ~ByteCodeHandler ()
 
void decode (const char *code, uint len)
 
void reset ()
 
int currentInstructionOffset () const
 
int nextInstructionOffset () const
 
int absoluteOffset (int relativeOffset) const
 

Private Member Functions

QV4::Moth::ByteCodeHandler::Verdict startInstruction (QV4::Moth::Instr::Type) override
 
void endInstruction (QV4::Moth::Instr::Type) override
 

Additional Inherited Members

- Protected Types inherited from QV4::Moth::ByteCodeHandler
enum  Verdict { ProcessInstruction , SkipInstruction }
 
- Protected Member Functions inherited from QQmlJSCompilePass
int firstRegisterIndex () const
 
bool isArgument (int registerIndex) const
 
QQmlJSRegisterContent argumentType (int registerIndex) const
 
State initialState (const Function *function)
 
State nextStateFromAnnotations (const State &oldState, const InstructionAnnotations &annotations)
 
QQmlJS::SourceLocation sourceLocation (int instructionOffset) const
 
QQmlJS::SourceLocation currentSourceLocation () const
 
void setError (const QString &message, int instructionOffset)
 
void setError (const QString &message)
 
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
 
- Static Protected Member Functions inherited from QQmlJSCompilePass
static bool instructionManipulatesContext (QV4::Moth::Instr::Type type)
 
- Protected Attributes inherited from QQmlJSCompilePass
const QV4::Compiler::JSUnitGeneratorm_jsUnitGenerator = nullptr
 
const QQmlJSTypeResolverm_typeResolver = nullptr
 
QQmlJSLoggerm_logger = nullptr
 
const Functionm_function = nullptr
 
BasicBlocks m_basicBlocks
 
InstructionAnnotations m_annotations
 
QQmlJS::DiagnosticMessagem_error = nullptr
 

Detailed Description

Definition at line 21 of file qqmljsoptimizations_p.h.

Member Typedef Documentation

◆ Conversions

Definition at line 24 of file qqmljsoptimizations_p.h.

Constructor & Destructor Documentation

◆ QQmlJSOptimizations()

QQmlJSOptimizations::QQmlJSOptimizations ( const QV4::Compiler::JSUnitGenerator * unitGenerator,
const QQmlJSTypeResolver * typeResolver,
QQmlJSLogger * logger,
BasicBlocks basicBlocks,
InstructionAnnotations annotations,
QList< ObjectOrArrayDefinition > objectAndArrayDefinitions )
inline

Definition at line 26 of file qqmljsoptimizations_p.h.

◆ ~QQmlJSOptimizations()

QQmlJSOptimizations::~QQmlJSOptimizations ( )
default

Member Function Documentation

◆ endInstruction()

void QQmlJSOptimizations::endInstruction ( QV4::Moth::Instr::Type )
inlineoverrideprivatevirtual

Implements QV4::Moth::ByteCodeHandler.

Definition at line 52 of file qqmljsoptimizations_p.h.

◆ run()

◆ startInstruction()

QV4::Moth::ByteCodeHandler::Verdict QQmlJSOptimizations::startInstruction ( QV4::Moth::Instr::Type )
inlineoverrideprivatevirtual

Implements QV4::Moth::ByteCodeHandler.

Definition at line 48 of file qqmljsoptimizations_p.h.


The documentation for this class was generated from the following files: