aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/compiler/qv4compiler.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2013-08-15 09:23:42 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2013-08-15 10:35:47 +0200
commit3ccd69b53688d6855d0136873876ed315d99b571 (patch)
tree6cf9a2308f671b080df72569e580b7af5cb72ae3 /src/qml/compiler/qv4compiler.cpp
parenta9346f9b43f0657dc97957e922e5764702c9c511 (diff)
Store the file name per compilation unit, not per compiled function
Change-Id: Id699897b241a9ff6495689e5685092d311acb8c2 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/qml/compiler/qv4compiler.cpp')
-rw-r--r--src/qml/compiler/qv4compiler.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/qml/compiler/qv4compiler.cpp b/src/qml/compiler/qv4compiler.cpp
index 61d2d94790..07687cca17 100644
--- a/src/qml/compiler/qv4compiler.cpp
+++ b/src/qml/compiler/qv4compiler.cpp
@@ -69,9 +69,9 @@ int QV4::Compiler::JSUnitGenerator::getStringId(const QString &string) const
QV4::CompiledData::Unit *QV4::Compiler::JSUnitGenerator::generateUnit()
{
+ registerString(irModule->fileName);
foreach (QQmlJS::V4IR::Function *f, irModule->functions) {
registerString(*f->name);
- registerString(f->sourceFile);
for (int i = 0; i < f->formals.size(); ++i)
registerString(*f->formals.at(i));
for (int i = 0; i < f->locals.size(); ++i)
@@ -98,6 +98,7 @@ QV4::CompiledData::Unit *QV4::Compiler::JSUnitGenerator::generateUnit()
unit->offsetToStringTable = sizeof(QV4::CompiledData::Unit);
unit->functionTableSize = irModule->functions.size();
unit->offsetToFunctionTable = unit->offsetToStringTable + unit->stringTableSize * sizeof(uint);
+ unit->sourceFileIndex = getStringId(irModule->fileName);
// write strings and string table
uint *stringTable = (uint *)(data + unit->offsetToStringTable);
@@ -141,7 +142,6 @@ void QV4::Compiler::JSUnitGenerator::writeFunction(char *f, int index, QQmlJS::V
QV4::CompiledData::Function *function = (QV4::CompiledData::Function *)f;
function->index = index;
function->nameIndex = getStringId(*irFunction->name);
- function->sourceFileIndex = getStringId(irFunction->sourceFile);
function->flags = 0;
if (irFunction->hasDirectEval)
function->flags |= CompiledData::Function::HasDirectEval;