diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2014-08-06 14:59:34 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2014-08-15 08:28:43 +0200 |
commit | 82fc19625263b26343ef6c1de5c5c13ae1c9ab25 (patch) | |
tree | d560318566581469dec5c117cac9d8dd77816b53 /src/qml/compiler | |
parent | ddb134af9903512408b7e52455f1787e4b6b62ea (diff) |
Cleanup
Merge QV4::CompiledData::QmlUnit into QV4::CompiledData::Unit. For pure JS
units it means a slight increase of memory usage by a few bytes, but overall it
makes the code a lot simpler.
Change-Id: Ib48927749720b056f004aac0fe22cb8ec729e3f6
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/qml/compiler')
-rw-r--r-- | src/qml/compiler/qqmlirbuilder.cpp | 14 | ||||
-rw-r--r-- | src/qml/compiler/qqmlirbuilder_p.h | 2 | ||||
-rw-r--r-- | src/qml/compiler/qqmltypecompiler.cpp | 38 | ||||
-rw-r--r-- | src/qml/compiler/qqmltypecompiler_p.h | 4 | ||||
-rw-r--r-- | src/qml/compiler/qv4compileddata_p.h | 164 | ||||
-rw-r--r-- | src/qml/compiler/qv4compiler.cpp | 14 | ||||
-rw-r--r-- | src/qml/compiler/qv4compiler_p.h | 3 |
7 files changed, 118 insertions, 121 deletions
diff --git a/src/qml/compiler/qqmlirbuilder.cpp b/src/qml/compiler/qqmlirbuilder.cpp index b61297ee09..a040cb2657 100644 --- a/src/qml/compiler/qqmlirbuilder.cpp +++ b/src/qml/compiler/qqmlirbuilder.cpp @@ -544,7 +544,7 @@ void Document::removeScriptPragmas(QString &script) Document::Document(bool debugMode) : jsModule(debugMode) , program(0) - , jsGenerator(&jsModule, sizeof(QV4::CompiledData::QmlUnit)) + , jsGenerator(&jsModule) , unitFlags(0) , javaScriptCompilationUnit(0) { @@ -1508,7 +1508,7 @@ bool IRBuilder::isStatementNodeScript(QQmlJS::AST::Statement *statement) return true; } -QV4::CompiledData::QmlUnit *QmlUnitGenerator::generate(Document &output) +QV4::CompiledData::Unit *QmlUnitGenerator::generate(Document &output) { QV4::CompiledData::CompilationUnit *compilationUnit = output.javaScriptCompilationUnit; QV4::CompiledData::Unit *jsUnit = compilationUnit->createUnitData(&output); @@ -1538,10 +1538,10 @@ QV4::CompiledData::QmlUnit *QmlUnitGenerator::generate(Document &output) free(jsUnit); jsUnit = 0; - QV4::CompiledData::QmlUnit *qmlUnit = reinterpret_cast<QV4::CompiledData::QmlUnit *>(data); - qmlUnit->qmlUnitSize = totalSize; - qmlUnit->header.flags |= output.unitFlags; - qmlUnit->header.flags |= QV4::CompiledData::Unit::IsQml; + QV4::CompiledData::Unit *qmlUnit = reinterpret_cast<QV4::CompiledData::Unit *>(data); + qmlUnit->unitSize = totalSize; + qmlUnit->flags |= output.unitFlags; + qmlUnit->flags |= QV4::CompiledData::Unit::IsQml; qmlUnit->offsetToImports = unitSize; qmlUnit->nImports = output.imports.count(); qmlUnit->offsetToObjects = unitSize + importSize; @@ -1633,7 +1633,7 @@ QV4::CompiledData::QmlUnit *QmlUnitGenerator::generate(Document &output) // enable flag if we encountered pragma Singleton foreach (Pragma *p, output.pragmas) { if (p->type == Pragma::PragmaSingleton) { - qmlUnit->header.flags |= QV4::CompiledData::Unit::IsSingleton; + qmlUnit->flags |= QV4::CompiledData::Unit::IsSingleton; break; } } diff --git a/src/qml/compiler/qqmlirbuilder_p.h b/src/qml/compiler/qqmlirbuilder_p.h index 1aac878776..30cd5b2585 100644 --- a/src/qml/compiler/qqmlirbuilder_p.h +++ b/src/qml/compiler/qqmlirbuilder_p.h @@ -425,7 +425,7 @@ public: struct Q_QML_PRIVATE_EXPORT QmlUnitGenerator { - QV4::CompiledData::QmlUnit *generate(Document &output); + QV4::CompiledData::Unit *generate(Document &output); private: typedef bool (Binding::*BindingFilter)() const; diff --git a/src/qml/compiler/qqmltypecompiler.cpp b/src/qml/compiler/qqmltypecompiler.cpp index a4130cb45f..583bc06b84 100644 --- a/src/qml/compiler/qqmltypecompiler.cpp +++ b/src/qml/compiler/qqmltypecompiler.cpp @@ -232,17 +232,15 @@ bool QQmlTypeCompiler::compile() // Generate QML compiled type data structures QmlIR::QmlUnitGenerator qmlGenerator; - QV4::CompiledData::QmlUnit *qmlUnit = qmlGenerator.generate(*document); + QV4::CompiledData::Unit *qmlUnit = qmlGenerator.generate(*document); Q_ASSERT(document->javaScriptCompilationUnit); - Q_ASSERT((void*)qmlUnit == (void*)&qmlUnit->header); // The js unit owns the data and will free the qml unit. - document->javaScriptCompilationUnit->data = &qmlUnit->header; + document->javaScriptCompilationUnit->data = qmlUnit; compiledData->compilationUnit = document->javaScriptCompilationUnit; if (compiledData->compilationUnit) compiledData->compilationUnit->ref(); - compiledData->qmlUnit = qmlUnit; // ownership transferred to m_compiledData // Add to type registry of composites if (compiledData->isCompositeType()) @@ -290,7 +288,7 @@ bool QQmlTypeCompiler::compile() compiledData->totalParserStatusCount = parserStatusCount; compiledData->totalObjectCount = objectCount; - Q_ASSERT(compiledData->propertyCaches.count() == static_cast<int>(compiledData->qmlUnit->nObjects)); + Q_ASSERT(compiledData->propertyCaches.count() == static_cast<int>(compiledData->compilationUnit->data->nObjects)); return errors.isEmpty(); } @@ -317,9 +315,9 @@ QV4::IR::Module *QQmlTypeCompiler::jsIRModule() const return &document->jsModule; } -const QV4::CompiledData::QmlUnit *QQmlTypeCompiler::qmlUnit() const +const QV4::CompiledData::Unit *QQmlTypeCompiler::qmlUnit() const { - return compiledData->qmlUnit; + return compiledData->compilationUnit->data; } const QQmlImports *QQmlTypeCompiler::imports() const @@ -2035,7 +2033,7 @@ bool QQmlPropertyValidator::validateLiteralBinding(QQmlPropertyCache *propertyCa if (binding->flags & QV4::CompiledData::Binding::IsResolvedEnum) return true; - QString value = binding->valueAsString(&qmlUnit->header); + QString value = binding->valueAsString(qmlUnit); QMetaProperty p = propertyCache->firstCppMetaObject()->property(property->coreIndex); bool ok; if (p.isFlagType()) { @@ -2117,7 +2115,7 @@ bool QQmlPropertyValidator::validateLiteralBinding(QQmlPropertyCache *propertyCa break; case QVariant::Color: { bool ok = false; - QQmlStringConverters::rgbaFromString(binding->valueAsString(&qmlUnit->header), &ok); + QQmlStringConverters::rgbaFromString(binding->valueAsString(qmlUnit), &ok); if (!ok) { recordError(binding->valueLocation, tr("Invalid property assignment: color expected")); return false; @@ -2127,7 +2125,7 @@ bool QQmlPropertyValidator::validateLiteralBinding(QQmlPropertyCache *propertyCa #ifndef QT_NO_DATESTRING case QVariant::Date: { bool ok = false; - QQmlStringConverters::dateFromString(binding->valueAsString(&qmlUnit->header), &ok); + QQmlStringConverters::dateFromString(binding->valueAsString(qmlUnit), &ok); if (!ok) { recordError(binding->valueLocation, tr("Invalid property assignment: date expected")); return false; @@ -2136,7 +2134,7 @@ bool QQmlPropertyValidator::validateLiteralBinding(QQmlPropertyCache *propertyCa break; case QVariant::Time: { bool ok = false; - QQmlStringConverters::timeFromString(binding->valueAsString(&qmlUnit->header), &ok); + QQmlStringConverters::timeFromString(binding->valueAsString(qmlUnit), &ok); if (!ok) { recordError(binding->valueLocation, tr("Invalid property assignment: time expected")); return false; @@ -2145,7 +2143,7 @@ bool QQmlPropertyValidator::validateLiteralBinding(QQmlPropertyCache *propertyCa break; case QVariant::DateTime: { bool ok = false; - QQmlStringConverters::dateTimeFromString(binding->valueAsString(&qmlUnit->header), &ok); + QQmlStringConverters::dateTimeFromString(binding->valueAsString(qmlUnit), &ok); if (!ok) { recordError(binding->valueLocation, tr("Invalid property assignment: datetime expected")); return false; @@ -2155,7 +2153,7 @@ bool QQmlPropertyValidator::validateLiteralBinding(QQmlPropertyCache *propertyCa #endif // QT_NO_DATESTRING case QVariant::Point: { bool ok = false; - QQmlStringConverters::pointFFromString(binding->valueAsString(&qmlUnit->header), &ok); + QQmlStringConverters::pointFFromString(binding->valueAsString(qmlUnit), &ok); if (!ok) { recordError(binding->valueLocation, tr("Invalid property assignment: point expected")); return false; @@ -2164,7 +2162,7 @@ bool QQmlPropertyValidator::validateLiteralBinding(QQmlPropertyCache *propertyCa break; case QVariant::PointF: { bool ok = false; - QQmlStringConverters::pointFFromString(binding->valueAsString(&qmlUnit->header), &ok); + QQmlStringConverters::pointFFromString(binding->valueAsString(qmlUnit), &ok); if (!ok) { recordError(binding->valueLocation, tr("Invalid property assignment: point expected")); return false; @@ -2173,7 +2171,7 @@ bool QQmlPropertyValidator::validateLiteralBinding(QQmlPropertyCache *propertyCa break; case QVariant::Size: { bool ok = false; - QQmlStringConverters::sizeFFromString(binding->valueAsString(&qmlUnit->header), &ok); + QQmlStringConverters::sizeFFromString(binding->valueAsString(qmlUnit), &ok); if (!ok) { recordError(binding->valueLocation, tr("Invalid property assignment: size expected")); return false; @@ -2182,7 +2180,7 @@ bool QQmlPropertyValidator::validateLiteralBinding(QQmlPropertyCache *propertyCa break; case QVariant::SizeF: { bool ok = false; - QQmlStringConverters::sizeFFromString(binding->valueAsString(&qmlUnit->header), &ok); + QQmlStringConverters::sizeFFromString(binding->valueAsString(qmlUnit), &ok); if (!ok) { recordError(binding->valueLocation, tr("Invalid property assignment: size expected")); return false; @@ -2191,7 +2189,7 @@ bool QQmlPropertyValidator::validateLiteralBinding(QQmlPropertyCache *propertyCa break; case QVariant::Rect: { bool ok = false; - QQmlStringConverters::rectFFromString(binding->valueAsString(&qmlUnit->header), &ok); + QQmlStringConverters::rectFFromString(binding->valueAsString(qmlUnit), &ok); if (!ok) { recordError(binding->valueLocation, tr("Invalid property assignment: rect expected")); return false; @@ -2200,7 +2198,7 @@ bool QQmlPropertyValidator::validateLiteralBinding(QQmlPropertyCache *propertyCa break; case QVariant::RectF: { bool ok = false; - QQmlStringConverters::rectFFromString(binding->valueAsString(&qmlUnit->header), &ok); + QQmlStringConverters::rectFFromString(binding->valueAsString(qmlUnit), &ok); if (!ok) { recordError(binding->valueLocation, tr("Invalid property assignment: point expected")); return false; @@ -2220,7 +2218,7 @@ bool QQmlPropertyValidator::validateLiteralBinding(QQmlPropertyCache *propertyCa float yp; float zy; } vec; - if (!QQmlStringConverters::createFromString(QMetaType::QVector3D, binding->valueAsString(&qmlUnit->header), &vec, sizeof(vec))) { + if (!QQmlStringConverters::createFromString(QMetaType::QVector3D, binding->valueAsString(qmlUnit), &vec, sizeof(vec))) { recordError(binding->valueLocation, tr("Invalid property assignment: 3D vector expected")); return false; } @@ -2233,7 +2231,7 @@ bool QQmlPropertyValidator::validateLiteralBinding(QQmlPropertyCache *propertyCa float zy; float wp; } vec; - if (!QQmlStringConverters::createFromString(QMetaType::QVector4D, binding->valueAsString(&qmlUnit->header), &vec, sizeof(vec))) { + if (!QQmlStringConverters::createFromString(QMetaType::QVector4D, binding->valueAsString(qmlUnit), &vec, sizeof(vec))) { recordError(binding->valueLocation, tr("Invalid property assignment: 4D vector expected")); return false; } diff --git a/src/qml/compiler/qqmltypecompiler_p.h b/src/qml/compiler/qqmltypecompiler_p.h index caf1f93923..7223767ba5 100644 --- a/src/qml/compiler/qqmltypecompiler_p.h +++ b/src/qml/compiler/qqmltypecompiler_p.h @@ -82,7 +82,7 @@ public: QV4::IR::Module *jsIRModule() const; - const QV4::CompiledData::QmlUnit *qmlUnit() const; + const QV4::CompiledData::Unit *qmlUnit() const; QUrl url() const { return typeData->finalUrl(); } QQmlEnginePrivate *enginePrivate() const { return engine; } @@ -293,7 +293,7 @@ private: bool canCoerce(int to, QQmlPropertyCache *fromMo); QQmlEnginePrivate *enginePrivate; - const QV4::CompiledData::QmlUnit *qmlUnit; + const QV4::CompiledData::Unit *qmlUnit; const QHash<int, QQmlCompiledData::TypeReference*> &resolvedTypes; const QHash<int, QQmlCustomParser*> &customParsers; const QVector<QQmlPropertyCache *> &propertyCaches; diff --git a/src/qml/compiler/qv4compileddata_p.h b/src/qml/compiler/qv4compileddata_p.h index 5fb94af140..869caad8bd 100644 --- a/src/qml/compiler/qv4compileddata_p.h +++ b/src/qml/compiler/qv4compileddata_p.h @@ -68,6 +68,7 @@ struct String; struct Function; struct Lookup; struct RegExp; +struct Unit; #if defined(Q_CC_MSVC) || defined(Q_CC_GNU) #pragma pack(push, 1) @@ -140,85 +141,6 @@ struct String } }; -static const char magic_str[] = "qv4cdata"; - -struct Unit -{ - char magic[8]; - qint16 architecture; - qint16 version; - quint32 unitSize; // Size of the Unit and any depending data. Does _not_ include size of data needed by QmlUnit. - - enum { - IsJavascript = 0x1, - IsQml = 0x2, - StaticData = 0x4, // Unit data persistent in memory? - IsSingleton = 0x8, - IsSharedLibrary = 0x10 // .pragma shared? - }; - quint32 flags; - uint stringTableSize; - uint offsetToStringTable; - uint functionTableSize; - uint offsetToFunctionTable; - uint lookupTableSize; - uint offsetToLookupTable; - uint regexpTableSize; - uint offsetToRegexpTable; - uint constantTableSize; - uint offsetToConstantTable; - uint jsClassTableSize; - uint offsetToJSClassTable; - qint32 indexOfRootFunction; - quint32 sourceFileIndex; - - QString stringAt(int idx) const { - const uint *offsetTable = reinterpret_cast<const uint*>((reinterpret_cast<const char *>(this)) + offsetToStringTable); - const uint offset = offsetTable[idx]; - const String *str = reinterpret_cast<const String*>(reinterpret_cast<const char *>(this) + offset); - if (str->size == 0) - return QString(); - const QChar *characters = reinterpret_cast<const QChar *>(str + 1); - if (flags & StaticData) - return QString::fromRawData(characters, str->size); - return QString(characters, str->size); - } - - const uint *functionOffsetTable() const { return reinterpret_cast<const uint*>((reinterpret_cast<const char *>(this)) + offsetToFunctionTable); } - - const Function *functionAt(int idx) const { - const uint *offsetTable = functionOffsetTable(); - const uint offset = offsetTable[idx]; - return reinterpret_cast<const Function*>(reinterpret_cast<const char *>(this) + offset); - } - - const Lookup *lookupTable() const { return reinterpret_cast<const Lookup*>(reinterpret_cast<const char *>(this) + offsetToLookupTable); } - const RegExp *regexpAt(int index) const { - return reinterpret_cast<const RegExp*>(reinterpret_cast<const char *>(this) + offsetToRegexpTable + index * sizeof(RegExp)); - } - const QV4::Value *constants() const { - return reinterpret_cast<const QV4::Value*>(reinterpret_cast<const char *>(this) + offsetToConstantTable); - } - - const JSClassMember *jsClassAt(int idx, int *nMembers) const { - const uint *offsetTable = reinterpret_cast<const uint *>(reinterpret_cast<const char *>(this) + offsetToJSClassTable); - const uint offset = offsetTable[idx]; - const char *ptr = reinterpret_cast<const char *>(this) + offset; - const JSClass *klass = reinterpret_cast<const JSClass *>(ptr); - *nMembers = klass->nMembers; - return reinterpret_cast<const JSClassMember*>(ptr + sizeof(JSClass)); - } - - static int calculateSize(uint headerSize, uint nFunctions, uint nRegExps, uint nConstants, - uint nLookups, uint nClasses) { - return (headerSize - + (nFunctions + nClasses) * sizeof(uint) - + nRegExps * RegExp::calculateSize() - + nConstants * sizeof(QV4::ReturnedValue) - + nLookups * Lookup::calculateSize() - + 7) & ~7; } -}; - struct Function { enum Flags { @@ -509,10 +431,39 @@ struct Import Import(): type(0), uriIndex(0), qualifierIndex(0), majorVersion(0), minorVersion(0) {} }; -struct QmlUnit +static const char magic_str[] = "qv4cdata"; + +struct Unit { - Unit header; - quint32 qmlUnitSize; // size including header and all surrounding data. + char magic[8]; + qint16 architecture; + qint16 version; + quint32 unitSize; // Size of the Unit and any depending data. + + enum { + IsJavascript = 0x1, + IsQml = 0x2, + StaticData = 0x4, // Unit data persistent in memory? + IsSingleton = 0x8, + IsSharedLibrary = 0x10 // .pragma shared? + }; + quint32 flags; + uint stringTableSize; + uint offsetToStringTable; + uint functionTableSize; + uint offsetToFunctionTable; + uint lookupTableSize; + uint offsetToLookupTable; + uint regexpTableSize; + uint offsetToRegexpTable; + uint constantTableSize; + uint offsetToConstantTable; + uint jsClassTableSize; + uint offsetToJSClassTable; + qint32 indexOfRootFunction; + quint32 sourceFileIndex; + + /* QML specific fields */ quint32 nImports; quint32 offsetToImports; quint32 nObjects; @@ -530,8 +481,55 @@ struct QmlUnit } bool isSingleton() const { - return header.flags & Unit::IsSingleton; + return flags & Unit::IsSingleton; } + /* end QML specific fields*/ + + QString stringAt(int idx) const { + const uint *offsetTable = reinterpret_cast<const uint*>((reinterpret_cast<const char *>(this)) + offsetToStringTable); + const uint offset = offsetTable[idx]; + const String *str = reinterpret_cast<const String*>(reinterpret_cast<const char *>(this) + offset); + if (str->size == 0) + return QString(); + const QChar *characters = reinterpret_cast<const QChar *>(str + 1); + if (flags & StaticData) + return QString::fromRawData(characters, str->size); + return QString(characters, str->size); + } + + const uint *functionOffsetTable() const { return reinterpret_cast<const uint*>((reinterpret_cast<const char *>(this)) + offsetToFunctionTable); } + + const Function *functionAt(int idx) const { + const uint *offsetTable = functionOffsetTable(); + const uint offset = offsetTable[idx]; + return reinterpret_cast<const Function*>(reinterpret_cast<const char *>(this) + offset); + } + + const Lookup *lookupTable() const { return reinterpret_cast<const Lookup*>(reinterpret_cast<const char *>(this) + offsetToLookupTable); } + const RegExp *regexpAt(int index) const { + return reinterpret_cast<const RegExp*>(reinterpret_cast<const char *>(this) + offsetToRegexpTable + index * sizeof(RegExp)); + } + const QV4::Value *constants() const { + return reinterpret_cast<const QV4::Value*>(reinterpret_cast<const char *>(this) + offsetToConstantTable); + } + + const JSClassMember *jsClassAt(int idx, int *nMembers) const { + const uint *offsetTable = reinterpret_cast<const uint *>(reinterpret_cast<const char *>(this) + offsetToJSClassTable); + const uint offset = offsetTable[idx]; + const char *ptr = reinterpret_cast<const char *>(this) + offset; + const JSClass *klass = reinterpret_cast<const JSClass *>(ptr); + *nMembers = klass->nMembers; + return reinterpret_cast<const JSClassMember*>(ptr + sizeof(JSClass)); + } + + static int calculateSize(uint nFunctions, uint nRegExps, uint nConstants, + uint nLookups, uint nClasses) { + return (sizeof(Unit) + + (nFunctions + nClasses) * sizeof(uint) + + nRegExps * RegExp::calculateSize() + + nConstants * sizeof(QV4::ReturnedValue) + + nLookups * Lookup::calculateSize() + + 7) & ~7; } }; #if defined(Q_CC_MSVC) || defined(Q_CC_GNU) diff --git a/src/qml/compiler/qv4compiler.cpp b/src/qml/compiler/qv4compiler.cpp index 144ef8a79e..ee0e96784f 100644 --- a/src/qml/compiler/qv4compiler.cpp +++ b/src/qml/compiler/qv4compiler.cpp @@ -89,13 +89,10 @@ void QV4::Compiler::StringTableGenerator::serialize(uint *stringTable, char *dat } } -QV4::Compiler::JSUnitGenerator::JSUnitGenerator(QV4::IR::Module *module, int headerSize) +QV4::Compiler::JSUnitGenerator::JSUnitGenerator(QV4::IR::Module *module) : irModule(module) , jsClassDataSize(0) { - if (headerSize == -1) - headerSize = sizeof(QV4::CompiledData::Unit); - this->headerSize = headerSize; // Make sure the empty string always gets index 0 registerString(QString()); } @@ -212,7 +209,7 @@ QV4::CompiledData::Unit *QV4::Compiler::JSUnitGenerator::generateUnit() registerString(*f->locals.at(i)); } - int unitSize = QV4::CompiledData::Unit::calculateSize(headerSize, irModule->functions.size(), regexps.size(), + int unitSize = QV4::CompiledData::Unit::calculateSize(irModule->functions.size(), regexps.size(), constants.size(), lookups.size(), jsClasses.count()); uint functionDataSize = 0; @@ -236,7 +233,7 @@ QV4::CompiledData::Unit *QV4::Compiler::JSUnitGenerator::generateUnit() unit->version = 1; unit->unitSize = totalSize; unit->functionTableSize = irModule->functions.size(); - unit->offsetToFunctionTable = headerSize; + unit->offsetToFunctionTable = sizeof(*unit); unit->lookupTableSize = lookups.count(); unit->offsetToLookupTable = unit->offsetToFunctionTable + unit->functionTableSize * sizeof(uint); unit->regexpTableSize = regexps.size(); @@ -249,6 +246,11 @@ QV4::CompiledData::Unit *QV4::Compiler::JSUnitGenerator::generateUnit() unit->offsetToStringTable = unitSize + functionDataSize + jsClassDataSize; unit->indexOfRootFunction = -1; unit->sourceFileIndex = getStringId(irModule->fileName); + unit->nImports = 0; + unit->offsetToImports = 0; + unit->nObjects = 0; + unit->offsetToObjects = 0; + unit->indexOfRootObject = 0; uint *functionTable = (uint *)(data + unit->offsetToFunctionTable); for (int i = 0; i < irModule->functions.size(); ++i) diff --git a/src/qml/compiler/qv4compiler_p.h b/src/qml/compiler/qv4compiler_p.h index a52128f653..32e298a3a7 100644 --- a/src/qml/compiler/qv4compiler_p.h +++ b/src/qml/compiler/qv4compiler_p.h @@ -80,7 +80,7 @@ private: }; struct Q_QML_PRIVATE_EXPORT JSUnitGenerator { - JSUnitGenerator(IR::Module *module, int headerSize = -1); + JSUnitGenerator(IR::Module *module); int registerString(const QString &str) { return stringTable.registerString(str); } int getStringId(const QString &string) const { return stringTable.getStringId(string); } @@ -112,7 +112,6 @@ private: QVector<ReturnedValue> constants; QList<QList<CompiledData::JSClassMember> > jsClasses; uint jsClassDataSize; - uint headerSize; }; } |