aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/compiler/qv4compiler.cpp
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2014-03-03 14:41:31 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-03-07 16:55:12 +0100
commit245f5ce7bb194438fc643e5c928382f47556e2f2 (patch)
tree73d82c57dddf8e8e0c206cd50fe8af4542d3f299 /src/qml/compiler/qv4compiler.cpp
parent4c4bddb0254acbc53b80e804bbbc26cfdd4e87a1 (diff)
Add a Line instruction to the interpreter
This unifies the way we handle line numbers in the JIT and Interpreter. Remove the now unused lineNumberMapping code and data. Change-Id: I1d60b1fbb77e70b531fa73d93410683e84dd1e3c Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/compiler/qv4compiler.cpp')
-rw-r--r--src/qml/compiler/qv4compiler.cpp22
1 files changed, 0 insertions, 22 deletions
diff --git a/src/qml/compiler/qv4compiler.cpp b/src/qml/compiler/qv4compiler.cpp
index b28195960f..a93252b26e 100644
--- a/src/qml/compiler/qv4compiler.cpp
+++ b/src/qml/compiler/qv4compiler.cpp
@@ -146,11 +146,6 @@ int QV4::Compiler::JSUnitGenerator::registerConstant(QV4::ReturnedValue v)
return constants.size() - 1;
}
-void QV4::Compiler::JSUnitGenerator::registerLineNumberMapping(QV4::IR::Function *function, const QVector<uint> &mappings)
-{
- lineNumberMappingsPerFunction.insert(function, mappings);
-}
-
int QV4::Compiler::JSUnitGenerator::registerJSClass(int count, IR::ExprList *args)
{
// ### re-use existing class definitions.
@@ -200,9 +195,6 @@ QV4::CompiledData::Unit *QV4::Compiler::JSUnitGenerator::generateUnit(int *total
functionOffsets.insert(f, functionDataSize + unitSize + stringDataSize);
int lineNumberMappingCount = 0;
- QHash<QV4::IR::Function *, QVector<uint> >::ConstIterator lineNumberMapping = lineNumberMappingsPerFunction.find(f);
- if (lineNumberMapping != lineNumberMappingsPerFunction.constEnd())
- lineNumberMappingCount = lineNumberMapping->count() / 2;
const int qmlIdDepsCount = f->idObjectDependencies.count();
const int qmlPropertyDepsCount = f->scopeObjectPropertyDependencies.count() + f->contextObjectPropertyDependencies.count();
@@ -327,14 +319,6 @@ int QV4::Compiler::JSUnitGenerator::writeFunction(char *f, int index, QV4::IR::F
function->localsOffset = currentOffset;
currentOffset += function->nLocals * sizeof(quint32);
- function->nLineNumberMappingEntries = 0;
- QHash<QV4::IR::Function *, QVector<uint> >::ConstIterator lineNumberMapping = lineNumberMappingsPerFunction.find(irFunction);
- if (lineNumberMapping != lineNumberMappingsPerFunction.constEnd()) {
- function->nLineNumberMappingEntries = lineNumberMapping->count() / 2;
- }
- function->lineNumberMappingOffset = currentOffset;
- currentOffset += function->nLineNumberMappingEntries * 2 * sizeof(quint32);
-
function->nInnerFunctions = irFunction->nestedFunctions.size();
function->innerFunctionsOffset = currentOffset;
currentOffset += function->nInnerFunctions * sizeof(quint32);
@@ -374,12 +358,6 @@ int QV4::Compiler::JSUnitGenerator::writeFunction(char *f, int index, QV4::IR::F
for (int i = 0; i < irFunction->locals.size(); ++i)
locals[i] = getStringId(*irFunction->locals.at(i));
- // write line number mappings
- if (function->nLineNumberMappingEntries) {
- quint32 *mappingsToWrite = (quint32*)(f + function->lineNumberMappingOffset);
- memcpy(mappingsToWrite, lineNumberMapping->constData(), 2 * function->nLineNumberMappingEntries * sizeof(quint32));
- }
-
// write inner functions
quint32 *innerFunctions = (quint32 *)(f + function->innerFunctionsOffset);
for (int i = 0; i < irFunction->nestedFunctions.size(); ++i)