aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@qt.io>2016-06-06 13:12:02 +0200
committerSimon Hausmann <simon.hausmann@qt.io>2016-06-07 03:32:06 +0000
commit4f322f7f2c46e7ffc172400010a944afd4b51489 (patch)
tree90ea5bc2c027f4947e4a3aba4309c5540601dc9e
parent921c1e0e4f6f00f449136f116c6fc5f55fbf1df6 (diff)
Clean up CompiledData::Function
* We don't need 64 bits for the flags, for now 8 bits are sufficient. * Removed the unused index member. It's symmetric to the index of the function object in the function table anyway. Change-Id: I18248e8ed79b3c3af87e17689dadf7323d5d9bb3 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
-rw-r--r--src/qml/compiler/qv4compileddata_p.h3
-rw-r--r--src/qml/compiler/qv4compiler.cpp5
-rw-r--r--src/qml/compiler/qv4compiler_p.h2
3 files changed, 4 insertions, 6 deletions
diff --git a/src/qml/compiler/qv4compileddata_p.h b/src/qml/compiler/qv4compileddata_p.h
index 744d2bb8da..9be45184a7 100644
--- a/src/qml/compiler/qv4compileddata_p.h
+++ b/src/qml/compiler/qv4compileddata_p.h
@@ -179,9 +179,8 @@ struct Function
HasCatchOrWith = 0x10
};
- quint32 index; // in CompilationUnit's function table
+ quint8 flags;
quint32 nameIndex;
- qint64 flags;
quint32 nFormals;
quint32 formalsOffset;
quint32 nLocals;
diff --git a/src/qml/compiler/qv4compiler.cpp b/src/qml/compiler/qv4compiler.cpp
index aacf0e9928..81f407485f 100644
--- a/src/qml/compiler/qv4compiler.cpp
+++ b/src/qml/compiler/qv4compiler.cpp
@@ -268,7 +268,7 @@ QV4::CompiledData::Unit *QV4::Compiler::JSUnitGenerator::generateUnit(GeneratorO
if (function == irModule->rootFunction)
unit->indexOfRootFunction = i;
- const int bytes = writeFunction(f, i, function);
+ const int bytes = writeFunction(f, function);
f += bytes;
}
@@ -307,13 +307,12 @@ QV4::CompiledData::Unit *QV4::Compiler::JSUnitGenerator::generateUnit(GeneratorO
return unit;
}
-int QV4::Compiler::JSUnitGenerator::writeFunction(char *f, int index, QV4::IR::Function *irFunction)
+int QV4::Compiler::JSUnitGenerator::writeFunction(char *f, QV4::IR::Function *irFunction)
{
QV4::CompiledData::Function *function = (QV4::CompiledData::Function *)f;
quint32 currentOffset = sizeof(QV4::CompiledData::Function);
- function->index = index;
function->nameIndex = getStringId(*irFunction->name);
function->flags = 0;
if (irFunction->hasDirectEval)
diff --git a/src/qml/compiler/qv4compiler_p.h b/src/qml/compiler/qv4compiler_p.h
index 0321a83b4f..df10e9919b 100644
--- a/src/qml/compiler/qv4compiler_p.h
+++ b/src/qml/compiler/qv4compiler_p.h
@@ -114,7 +114,7 @@ struct Q_QML_PRIVATE_EXPORT JSUnitGenerator {
QV4::CompiledData::Unit *generateUnit(GeneratorOption option = GenerateWithStringTable);
// Returns bytes written
- int writeFunction(char *f, int index, IR::Function *irFunction);
+ int writeFunction(char *f, IR::Function *irFunction);
StringTableGenerator stringTable;
private: