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
QQmlJSCompilePass::State Struct Reference

#include <qqmljscompilepass_p.h>

Inheritance diagram for QQmlJSCompilePass::State:
Collaboration diagram for QQmlJSCompilePass::State:

Public Member Functions

QQmlJSRegisterContent accumulatorIn () const
 The accumulatorIn is the input register of the current instruction.
QQmlJSRegisterContent accumulatorOut () const
 The accumulatorOut is the output register of the current instruction.
void setRegister (int registerIndex, QQmlJSRegisterContent content)
void clearChangedRegister ()
int changedRegisterIndex () const
QQmlJSRegisterContent changedRegister () const
void addReadRegister (int registerIndex, QQmlJSRegisterContent reg)
void addReadAccumulator (QQmlJSRegisterContent reg)
VirtualRegisters takeReadRegisters () const
void setReadRegisters (VirtualRegisters readReagisters)
QQmlJSRegisterContent readRegister (int registerIndex) const
bool canMoveReadRegister (int registerIndex) const
bool isRegisterAffectedBySideEffects (int registerIndex) const
QQmlJSRegisterContent readAccumulator () const
 The readAccumulator is the register content expected by the current instruction.
bool readsRegister (int registerIndex) const
bool hasInternalSideEffects () const
bool hasExternalSideEffects () const
void resetSideEffects ()
void applyExternalSideEffects (bool hasExternalSideEffects)
void setHasInternalSideEffects ()
void setHasExternalSideEffects ()
bool isRename () const
void setIsRename (bool isRename)
bool isShadowable () const
void setIsShadowable (bool isShadowable)
int renameSourceRegisterIndex () const
void applyAnnotation (const InstructionAnnotation &annotation)

Public Attributes

VirtualRegisters registers
VirtualRegisters lookups

Detailed Description

Definition at line 130 of file qqmljscompilepass_p.h.

Member Function Documentation

◆ accumulatorIn()

QQmlJSRegisterContent QQmlJSCompilePass::State::accumulatorIn ( ) const
inline

The accumulatorIn is the input register of the current instruction.

It holds a content, a type that content is acctually stored in, and an enclosing type of the stored type called the scope. Note that passes after the original type propagation may change the type of this register to a different type that the original one can be coerced to. Therefore, when analyzing the same instruction in a later pass, the type may differ from what was seen or requested ealier. See \l {readAccumulator()}. The input type may then need to be converted to the expected type.

Definition at line 146 of file qqmljscompilepass_p.h.

◆ accumulatorOut()

QQmlJSRegisterContent QQmlJSCompilePass::State::accumulatorOut ( ) const
inline

The accumulatorOut is the output register of the current instruction.

Definition at line 157 of file qqmljscompilepass_p.h.

◆ addReadAccumulator()

void QQmlJSCompilePass::State::addReadAccumulator ( QQmlJSRegisterContent reg)
inline

Definition at line 191 of file qqmljscompilepass_p.h.

◆ addReadRegister()

void QQmlJSCompilePass::State::addReadRegister ( int registerIndex,
QQmlJSRegisterContent reg )
inline

Definition at line 182 of file qqmljscompilepass_p.h.

◆ applyAnnotation()

void QQmlJSCompilePass::State::applyAnnotation ( const InstructionAnnotation & annotation)
inline

Definition at line 280 of file qqmljscompilepass_p.h.

◆ applyExternalSideEffects()

void QQmlJSCompilePass::State::applyExternalSideEffects ( bool hasExternalSideEffects)
inline

Definition at line 246 of file qqmljscompilepass_p.h.

◆ canMoveReadRegister()

bool QQmlJSCompilePass::State::canMoveReadRegister ( int registerIndex) const
inline

Definition at line 208 of file qqmljscompilepass_p.h.

◆ changedRegister()

QQmlJSRegisterContent QQmlJSCompilePass::State::changedRegister ( ) const
inline

Definition at line 180 of file qqmljscompilepass_p.h.

◆ changedRegisterIndex()

int QQmlJSCompilePass::State::changedRegisterIndex ( ) const
inline

Definition at line 179 of file qqmljscompilepass_p.h.

◆ clearChangedRegister()

void QQmlJSCompilePass::State::clearChangedRegister ( )
inline

Definition at line 173 of file qqmljscompilepass_p.h.

◆ hasExternalSideEffects()

bool QQmlJSCompilePass::State::hasExternalSideEffects ( ) const
inline

Definition at line 238 of file qqmljscompilepass_p.h.

◆ hasInternalSideEffects()

bool QQmlJSCompilePass::State::hasInternalSideEffects ( ) const
inline

Definition at line 237 of file qqmljscompilepass_p.h.

◆ isRegisterAffectedBySideEffects()

bool QQmlJSCompilePass::State::isRegisterAffectedBySideEffects ( int registerIndex) const
inline

Definition at line 214 of file qqmljscompilepass_p.h.

◆ isRename()

bool QQmlJSCompilePass::State::isRename ( ) const
inline

Definition at line 267 of file qqmljscompilepass_p.h.

◆ isShadowable()

bool QQmlJSCompilePass::State::isShadowable ( ) const
inline

Definition at line 270 of file qqmljscompilepass_p.h.

◆ readAccumulator()

QQmlJSRegisterContent QQmlJSCompilePass::State::readAccumulator ( ) const
inline

The readAccumulator is the register content expected by the current instruction.

It may differ from the actual input type of the accumulatorIn register and usage of the value may require a conversion.

Definition at line 227 of file qqmljscompilepass_p.h.

◆ readRegister()

QQmlJSRegisterContent QQmlJSCompilePass::State::readRegister ( int registerIndex) const
inline

Definition at line 202 of file qqmljscompilepass_p.h.

◆ readsRegister()

bool QQmlJSCompilePass::State::readsRegister ( int registerIndex) const
inline

Definition at line 232 of file qqmljscompilepass_p.h.

◆ renameSourceRegisterIndex()

int QQmlJSCompilePass::State::renameSourceRegisterIndex ( ) const
inline

Definition at line 273 of file qqmljscompilepass_p.h.

◆ resetSideEffects()

void QQmlJSCompilePass::State::resetSideEffects ( )
inline

Definition at line 240 of file qqmljscompilepass_p.h.

◆ setHasExternalSideEffects()

void QQmlJSCompilePass::State::setHasExternalSideEffects ( )
inline

Definition at line 259 of file qqmljscompilepass_p.h.

◆ setHasInternalSideEffects()

void QQmlJSCompilePass::State::setHasInternalSideEffects ( )
inline

Definition at line 258 of file qqmljscompilepass_p.h.

◆ setIsRename()

void QQmlJSCompilePass::State::setIsRename ( bool isRename)
inline

Definition at line 268 of file qqmljscompilepass_p.h.

◆ setIsShadowable()

void QQmlJSCompilePass::State::setIsShadowable ( bool isShadowable)
inline

Definition at line 271 of file qqmljscompilepass_p.h.

◆ setReadRegisters()

void QQmlJSCompilePass::State::setReadRegisters ( VirtualRegisters readReagisters)
inline

Definition at line 197 of file qqmljscompilepass_p.h.

◆ setRegister()

void QQmlJSCompilePass::State::setRegister ( int registerIndex,
QQmlJSRegisterContent content )
inline

Definition at line 163 of file qqmljscompilepass_p.h.

◆ takeReadRegisters()

VirtualRegisters QQmlJSCompilePass::State::takeReadRegisters ( ) const
inline

Definition at line 196 of file qqmljscompilepass_p.h.

Member Data Documentation

◆ lookups

VirtualRegisters QQmlJSCompilePass::State::lookups

Definition at line 133 of file qqmljscompilepass_p.h.

◆ registers

VirtualRegisters QQmlJSCompilePass::State::registers

Definition at line 132 of file qqmljscompilepass_p.h.


The documentation for this struct was generated from the following file: