aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/compiler/qv4compilercontext_p.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2018-04-03 21:15:18 +0200
committerLars Knoll <lars.knoll@qt.io>2018-05-02 14:17:25 +0000
commit9934514db7ec46f1c57d82e54e61c02b35bfd357 (patch)
tree422d1db77b9c65b52e559a38a4cf3e84adc9613c /src/qml/compiler/qv4compilercontext_p.h
parent851c28d140c398990513640047a20aab36ccc655 (diff)
Split out the generation of indices for locals and registers
Change-Id: I0e98ccba9ae3026cd8bfdc4cae100f280b5aa22c Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/qml/compiler/qv4compilercontext_p.h')
-rw-r--r--src/qml/compiler/qv4compilercontext_p.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/qml/compiler/qv4compilercontext_p.h b/src/qml/compiler/qv4compilercontext_p.h
index 1047af973d..65091bb67e 100644
--- a/src/qml/compiler/qv4compilercontext_p.h
+++ b/src/qml/compiler/qv4compilercontext_p.h
@@ -105,7 +105,7 @@ struct Context {
QString name;
int line = 0;
int column = 0;
- int registerCount = 0;
+ int registerCountInFunction = 0;
int functionIndex = -1;
enum MemberType {
@@ -139,6 +139,8 @@ struct Context {
QVector<CompiledData::CodeOffsetToLine> lineNumberMapping;
int maxNumberOfArguments = 0;
+ int nRegisters = 0;
+ int registerOffset = -1;
bool hasDirectEval = false;
bool hasNestedFunctions = false;
bool isStrict = false;
@@ -283,6 +285,7 @@ struct Context {
};
ResolvedName resolveName(const QString &name);
void emitHeaderBytecode(Compiler::Codegen *codegen);
+ void setupFunctionIndices(Moth::BytecodeGenerator *bytecodeGenerator);
};