aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/qml/compiler/qqmlirbuilder.cpp2
-rw-r--r--src/qml/compiler/qv4compileddata_p.h20
2 files changed, 9 insertions, 13 deletions
diff --git a/src/qml/compiler/qqmlirbuilder.cpp b/src/qml/compiler/qqmlirbuilder.cpp
index 28e7daecd5..9ac1a8b5ac 100644
--- a/src/qml/compiler/qqmlirbuilder.cpp
+++ b/src/qml/compiler/qqmlirbuilder.cpp
@@ -1570,9 +1570,7 @@ void QmlUnitGenerator::generate(Document &output, const QV4::CompiledData::Depen
// We may already have unit data if we're loading an ahead-of-time generated cache file.
if (compilationUnit->data) {
jsUnit = compilationUnit->data;
-#ifndef V4_BOOTSTRAP
output.javaScriptCompilationUnit->dynamicStrings = output.jsGenerator.stringTable.allStrings();
-#endif
} else {
QV4::CompiledData::Unit *createdUnit;
jsUnit = createdUnit = output.jsGenerator.generateUnit();
diff --git a/src/qml/compiler/qv4compileddata_p.h b/src/qml/compiler/qv4compileddata_p.h
index dd7ba471c3..f604cc0d46 100644
--- a/src/qml/compiler/qv4compileddata_p.h
+++ b/src/qml/compiler/qv4compileddata_p.h
@@ -1089,6 +1089,7 @@ struct Q_QML_PRIVATE_EXPORT CompilationUnit final : public CompilationUnitBase
{
const Unit *data = nullptr;
const QmlUnit *qmlData = nullptr;
+ QStringList dynamicStrings;
public:
CompilationUnit(const Unit *unitData = nullptr, const QString &fileName = QString(), const QString &finalUrlString = QString());
~CompilationUnit();
@@ -1114,6 +1115,13 @@ public:
void setUnitData(const Unit *unitData, const QmlUnit *qmlUnit = nullptr,
const QString &fileName = QString(), const QString &finalUrlString = QString());
+ QString stringAt(int index) const
+ {
+ if (uint(index) >= data->stringTableSize)
+ return dynamicStrings.at(index - data->stringTableSize);
+ return data->stringAtInternal(index);
+ }
+
#ifndef V4_BOOTSTRAP
QIntrusiveListNode nextCompilationUnit;
ExecutionEngine *engine = nullptr;
@@ -1176,7 +1184,6 @@ public:
bool isRegisteredWithEngine = false;
QScopedPointer<CompilationUnitMapper> backingFile;
- QStringList dynamicStrings;
// --- interface for QQmlPropertyCacheCreator
typedef Object CompiledObject;
@@ -1184,12 +1191,6 @@ public:
const Object *objectAt(int index) const { return qmlData->objectAt(index); }
int importCount() const { return qmlData->nImports; }
const Import *importAt(int index) const { return qmlData->importAt(index); }
- QString stringAt(int index) const
- {
- if (uint(index) >= data->stringTableSize)
- return dynamicStrings.at(index - data->stringTableSize);
- return data->stringAtInternal(index);
- }
Heap::Object *templateObjectAt(int index) const;
@@ -1230,10 +1231,7 @@ public:
protected:
quint32 totalStringCount() const
{ return data->stringTableSize; }
-
-#else // V4_BOOTSTRAP
- QString stringAt(int index) const { return data->stringAtInternal(index); }
-#endif // V4_BOOTSTRAP
+#endif
private:
void destroy();