diff options
author | Lars Knoll <lars.knoll@digia.com> | 2014-03-03 14:41:31 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-03-07 16:55:12 +0100 |
commit | 245f5ce7bb194438fc643e5c928382f47556e2f2 (patch) | |
tree | 73d82c57dddf8e8e0c206cd50fe8af4542d3f299 /src/qml/compiler/qv4compiler.cpp | |
parent | 4c4bddb0254acbc53b80e804bbbc26cfdd4e87a1 (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.cpp | 22 |
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) |