diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2013-08-14 20:06:03 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2013-08-15 10:35:40 +0200 |
commit | a9346f9b43f0657dc97957e922e5764702c9c511 (patch) | |
tree | 970741a9369293bb86959e95edfe855a008ca641 /src/qml/compiler/qv4compiler.cpp | |
parent | 335a903d4b1de7511be76d55f736c9f0c7643727 (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.cpp | 11 |
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; |