aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/compiler/qv4compiler.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2013-08-14 20:06:03 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2013-08-15 10:35:40 +0200
commita9346f9b43f0657dc97957e922e5764702c9c511 (patch)
tree970741a9369293bb86959e95edfe855a008ca641 /src/qml/compiler/qv4compiler.cpp
parent335a903d4b1de7511be76d55f736c9f0c7643727 (diff)
Move codeRef out of QV4::Function
Change-Id: I65700b9cc4907aaa28623a95204e88f87fccfd49 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/qml/compiler/qv4compiler.cpp')
-rw-r--r--src/qml/compiler/qv4compiler.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/qml/compiler/qv4compiler.cpp b/src/qml/compiler/qv4compiler.cpp
index fcc6c19b02..61d2d94790 100644
--- a/src/qml/compiler/qv4compiler.cpp
+++ b/src/qml/compiler/qv4compiler.cpp
@@ -124,25 +124,22 @@ QV4::CompiledData::Unit *QV4::Compiler::JSUnitGenerator::generateUnit()
functionTable[i] = functionOffsets.value(irModule->functions.at(i));
char *f = data + unitSize + stringDataSize;
- writeFunction(f, irModule->rootFunction);
- f += QV4::CompiledData::Function::calculateSize(irModule->rootFunction);
- unit->indexOfRootFunction = 0;
-
for (uint i = 0; i < irModule->functions.size(); ++i) {
QQmlJS::V4IR::Function *function = irModule->functions.at(i);
if (function == irModule->rootFunction)
- continue;
+ unit->indexOfRootFunction = i;
- writeFunction(f, function);
+ writeFunction(f, i, function);
f += QV4::CompiledData::Function::calculateSize(function);
}
return unit;
}
-void QV4::Compiler::JSUnitGenerator::writeFunction(char *f, QQmlJS::V4IR::Function *irFunction)
+void QV4::Compiler::JSUnitGenerator::writeFunction(char *f, int index, QQmlJS::V4IR::Function *irFunction)
{
QV4::CompiledData::Function *function = (QV4::CompiledData::Function *)f;
+ function->index = index;
function->nameIndex = getStringId(*irFunction->name);
function->sourceFileIndex = getStringId(irFunction->sourceFile);
function->flags = 0;