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>.
|
#include <qv4bytecodegenerator_p.h>
Classes | |
struct | ExceptionHandler |
struct | Jump |
struct | Label |
Public Attributes | |
int | currentReg = 0 |
Friends | |
struct | Jump |
struct | Label |
struct | ExceptionHandler |
Definition at line 38 of file qv4bytecodegenerator_p.h.
|
inline |
Definition at line 40 of file qv4bytecodegenerator_p.h.
|
inline |
Definition at line 253 of file qv4bytecodegenerator_p.h.
References addJumpInstruction(), and QV4::Moth::BytecodeGenerator::Jump::link().
Referenced by QV4::Compiler::Codegen::addCJump().
|
inline |
Definition at line 133 of file qv4bytecodegenerator_p.h.
Referenced by QV4::Compiler::ControlFlowWith::ControlFlowWith(), QV4::Compiler::ControlFlowFinally::~ControlFlowFinally(), QV4::Compiler::ControlFlowWith::~ControlFlowWith(), QV4::Compiler::Codegen::binopHelper(), checkException(), QV4::Compiler::Codegen::createTemplateObject(), QV4::Compiler::Codegen::defineFunction(), QV4::Compiler::Codegen::destructureElementList(), QV4::Compiler::Codegen::destructurePropertyList(), QV4::Compiler::Context::emitBlockFooter(), QV4::Compiler::Context::emitBlockHeader(), QV4::Compiler::Codegen::emitReturn(), QV4::Compiler::ControlFlowUnwind::emitUnwindHandler(), QV4::Compiler::Codegen::handleCall(), QV4::Compiler::Codegen::initializeAndDestructureBindingElement(), QV4::Compiler::Codegen::jumpBinop(), jumpStrictEqual(), jumpStrictNotEqual(), QV4::Compiler::Codegen::loadClosure(), setUnwindHandler(), QV4::Compiler::Codegen::unop(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), and QV4::Compiler::Codegen::visit().
|
inline |
Definition at line 246 of file qv4bytecodegenerator_p.h.
References Jump.
Referenced by addCJumpInstruction(), QV4::Compiler::Codegen::destructureElementList(), jump(), jumpFalse(), jumpNoException(), jumpNotUndefined(), jumpOptionalLookup(), jumpOptionalProperty(), jumpStrictEqual(), jumpStrictNotEqual(), jumpTrue(), setUnwindHandler(), unwindToLabel(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), and QV4::Compiler::Codegen::visit().
Definition at line 266 of file qv4bytecodegenerator_p.h.
Referenced by QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), and QV4::Compiler::Codegen::visit().
|
inline |
Definition at line 201 of file qv4bytecodegenerator_p.h.
References addInstruction().
Referenced by QV4::Compiler::Codegen::destructureElementList(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), and QV4::Compiler::Codegen::visit().
|
inline |
Definition at line 261 of file qv4bytecodegenerator_p.h.
Referenced by QV4::Moth::BytecodeGenerator::Label::link().
|
inline |
Definition at line 241 of file qv4bytecodegenerator_p.h.
References currentReg.
Referenced by QV4::Compiler::Context::setupFunctionIndices().
|
inline |
Definition at line 234 of file qv4bytecodegenerator_p.h.
void BytecodeGenerator::finalize | ( | Compiler::Context * | context | ) |
Definition at line 131 of file qv4bytecodegenerator.cpp.
References QString::append(), QV4::CompiledData::CodeOffsetToLineAndStatement::codeOffset, context, i, line, Q_UNUSED, and QString::size().
Referenced by QV4::Compiler::Codegen::defineFunction().
void BytecodeGenerator::incrementStatement | ( | ) |
Definition at line 18 of file qv4bytecodegenerator.cpp.
Referenced by QV4::Compiler::Codegen::statement(), and QV4::Compiler::Codegen::statement().
|
inline |
Definition at line 140 of file qv4bytecodegenerator_p.h.
References addJumpInstruction(), QT_WARNING_DISABLE_GCC, QT_WARNING_POP, and QT_WARNING_PUSH.
Referenced by unwindToLabel(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), and QV4::Compiler::Codegen::visit().
|
inline |
Definition at line 154 of file qv4bytecodegenerator_p.h.
References addJumpInstruction().
Referenced by QV4::Compiler::Codegen::condition(), QV4::Compiler::Codegen::destructureElementList(), and QV4::Compiler::Codegen::visit().
|
inline |
Definition at line 165 of file qv4bytecodegenerator_p.h.
References addJumpInstruction().
Referenced by QV4::Compiler::ControlFlowCatch::~ControlFlowCatch().
|
inline |
Definition at line 159 of file qv4bytecodegenerator_p.h.
References addJumpInstruction().
Referenced by QV4::Compiler::Codegen::initializeAndDestructureBindingElement(), and QV4::Compiler::Codegen::visit().
|
inline |
Definition at line 171 of file qv4bytecodegenerator_p.h.
References addJumpInstruction(), and QV4::Moth::BytecodeGenerator::Jump::index.
|
inline |
Definition at line 178 of file qv4bytecodegenerator_p.h.
References addJumpInstruction().
|
inline |
Definition at line 185 of file qv4bytecodegenerator_p.h.
References addInstruction(), addJumpInstruction(), and QV4::Moth::BytecodeGenerator::Jump::link().
Referenced by QV4::Compiler::Codegen::visit().
|
inline |
Definition at line 193 of file qv4bytecodegenerator_p.h.
References addInstruction(), addJumpInstruction(), and QV4::Moth::BytecodeGenerator::Jump::link().
|
inline |
Definition at line 149 of file qv4bytecodegenerator_p.h.
References addJumpInstruction().
Referenced by QV4::Compiler::Codegen::condition(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), and QV4::Compiler::Codegen::visit().
|
inline |
Definition at line 120 of file qv4bytecodegenerator_p.h.
References Label, and QV4::Moth::BytecodeGenerator::Label::LinkNow.
Referenced by QV4::Moth::BytecodeGenerator::Jump::link(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), and QV4::Compiler::Codegen::visit().
|
inline |
Definition at line 128 of file qv4bytecodegenerator_p.h.
References ExceptionHandler.
Referenced by QV4::Compiler::ControlFlowUnwind::setupUnwindHandler().
|
inline |
Definition at line 124 of file qv4bytecodegenerator_p.h.
References Label, and QV4::Moth::BytecodeGenerator::Label::LinkLater.
Referenced by QV4::Compiler::Codegen::destructureElementList(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), and QV4::Compiler::Codegen::visit().
int BytecodeGenerator::newRegister | ( | ) |
Definition at line 23 of file qv4bytecodegenerator.cpp.
References currentReg.
Referenced by QV4::Compiler::ControlFlowFinally::~ControlFlowFinally(), QV4::Compiler::Codegen::defineFunction(), QV4::Compiler::Codegen::Reference::fromStackSlot(), QV4::Compiler::Codegen::handleTaggedTemplate(), QV4::Compiler::Context::setupFunctionIndices(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), QV4::Compiler::Codegen::visit(), and QV4::Compiler::Codegen::visit().
int BytecodeGenerator::newRegisterArray | ( | int | n | ) |
Definition at line 31 of file qv4bytecodegenerator.cpp.
References currentReg.
Referenced by QV4::Compiler::Codegen::defineFunction(), QV4::Compiler::Codegen::pushArgs(), QV4::Compiler::Codegen::pushTemplateArgs(), QV4::Compiler::Context::setupFunctionIndices(), and QV4::Compiler::Codegen::visit().
|
inline |
Definition at line 240 of file qv4bytecodegenerator_p.h.
Referenced by QV4::Compiler::Codegen::defineFunction().
void BytecodeGenerator::setLocation | ( | const QQmlJS::SourceLocation & | loc | ) |
Definition at line 12 of file qv4bytecodegenerator.cpp.
References QQmlJS::SourceLocation::startLine.
Referenced by QV4::Compiler::Codegen::binopHelper(), QV4::Compiler::Codegen::condition(), QV4::Compiler::Codegen::defineFunction(), QV4::Compiler::Codegen::handleCall(), setJumpOutLocation(), QV4::Compiler::Codegen::statement(), QV4::Compiler::Codegen::visit(), and QV4::Compiler::Codegen::visit().
|
inline |
Definition at line 207 of file qv4bytecodegenerator_p.h.
References addInstruction(), addJumpInstruction(), and QV4::Moth::BytecodeGenerator::Jump::link().
Referenced by QV4::Compiler::ControlFlowBlock::ControlFlowBlock(), QV4::Compiler::ControlFlowCatch::ControlFlowCatch(), QV4::Compiler::ControlFlowFinally::ControlFlowFinally(), QV4::Compiler::ControlFlowUnwindCleanup::ControlFlowUnwindCleanup(), QV4::Compiler::ControlFlowWith::ControlFlowWith(), QV4::Compiler::ControlFlowBlock::~ControlFlowBlock(), QV4::Compiler::ControlFlowCatch::~ControlFlowCatch(), QV4::Compiler::ControlFlowFinally::~ControlFlowFinally(), QV4::Compiler::ControlFlowUnwindCleanup::~ControlFlowUnwindCleanup(), and QV4::Compiler::ControlFlowWith::~ControlFlowWith().
Definition at line 218 of file qv4bytecodegenerator_p.h.
References addJumpInstruction(), jump(), and QV4::Moth::BytecodeGenerator::Jump::link().
Referenced by QV4::Compiler::Codegen::emitReturn(), QV4::Compiler::Codegen::visit(), and QV4::Compiler::Codegen::visit().
|
friend |
Definition at line 274 of file qv4bytecodegenerator_p.h.
Referenced by newExceptionHandler().
|
friend |
Definition at line 272 of file qv4bytecodegenerator_p.h.
Referenced by addJumpInstruction().
|
friend |
Definition at line 273 of file qv4bytecodegenerator_p.h.
Referenced by QV4::Compiler::ControlFlowLoop::getUnwindTarget(), QV4::Compiler::ControlFlow::getUnwindTarget(), label(), and newLabel().
int QV4::Moth::BytecodeGenerator::currentReg = 0 |
Definition at line 298 of file qv4bytecodegenerator_p.h.
Referenced by currentRegister(), newRegister(), and newRegisterArray().