29 QList<ObjectOrArrayDefinition> objectAndArrayDefinitions)
30 :
QQmlJSCompilePass(unitGenerator, typeResolver, logger, basicBlocks, annotations),
31 m_objectAndArrayDefinitions{ objectAndArrayDefinitions }
42 QList<QQmlJSScope::ConstPtr> trackedTypes;
43 QHash<int, QQmlJSScope::ConstPtr> typeReaders;
44 QHash<int, Conversions> registerReadersAndConversions;
50 return ProcessInstruction;
54 void populateBasicBlocks();
55 void populateReaderLocations();
57 bool canMove(
int instructionOffset,
const RegisterAccess &
access)
const;
59 QHash<int, RegisterAccess> m_readerLocations;
60 QList<ObjectOrArrayDefinition> m_objectAndArrayDefinitions;
QQmlJSOptimizations(const QV4::Compiler::JSUnitGenerator *unitGenerator, const QQmlJSTypeResolver *typeResolver, QQmlJSLogger *logger, BasicBlocks basicBlocks, InstructionAnnotations annotations, QList< ObjectOrArrayDefinition > objectAndArrayDefinitions)