diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2023-02-09 15:56:37 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2023-02-10 08:38:27 +0100 |
commit | 7de70a0f46b7cc4b2d3542252570b7a0dc924dce (patch) | |
tree | 807b381d1a41faeba55be9f2a34ccd9b15787701 /src/qml/compiler/qv4compiler.cpp | |
parent | 969d7dcfc5c8c971d860792a6fcc533c0729f627 (diff) |
Qml: Disambiguate helper roundUpToMultipleOf from MASM
MASM can then be built with CMake Unity (Jumbo) builds, too.
Pick-to: 6.5
Task-number: QTBUG-109394
Change-Id: Ic071dfe92732e1b6994b65582d69015e44daaf2a
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'src/qml/compiler/qv4compiler.cpp')
-rw-r--r-- | src/qml/compiler/qv4compiler.cpp | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/src/qml/compiler/qv4compiler.cpp b/src/qml/compiler/qv4compiler.cpp index 051a87a6c7..8df61e51ab 100644 --- a/src/qml/compiler/qv4compiler.cpp +++ b/src/qml/compiler/qv4compiler.cpp @@ -15,12 +15,17 @@ #include <QtEndian> // Efficient implementation that takes advantage of powers of two. + +QT_BEGIN_NAMESPACE +namespace QtPrivate { // Disambiguate from WTF::roundUpToMultipleOf static inline size_t roundUpToMultipleOf(size_t divisor, size_t x) { Q_ASSERT(divisor && !(divisor & (divisor - 1))); const size_t remainderMask = divisor - 1; return (x + remainderMask) & ~remainderMask; } +} +QT_END_NAMESPACE QV4::Compiler::StringTableGenerator::StringTableGenerator() { @@ -66,7 +71,8 @@ void QV4::Compiler::StringTableGenerator::serialize(CompiledData::Unit *unit) { char *dataStart = reinterpret_cast<char *>(unit); quint32_le *stringTable = reinterpret_cast<quint32_le *>(dataStart + unit->offsetToStringTable); - char *stringData = reinterpret_cast<char *>(stringTable) + roundUpToMultipleOf(8, unit->stringTableSize * sizeof(uint)); + char *stringData = reinterpret_cast<char *>(stringTable) + + QtPrivate::roundUpToMultipleOf(8, unit->stringTableSize * sizeof(uint)); for (int i = backingUnitTableSize ; i < strings.size(); ++i) { const int index = i - backingUnitTableSize; stringTable[index] = stringData - dataStart; @@ -398,7 +404,7 @@ void QV4::Compiler::JSUnitGenerator::writeFunction(char *f, QV4::Compiler::Conte { QV4::CompiledData::Function *function = (QV4::CompiledData::Function *)f; - quint32 currentOffset = static_cast<quint32>(roundUpToMultipleOf(8, sizeof(*function))); + quint32 currentOffset = static_cast<quint32>(QtPrivate::roundUpToMultipleOf(8, sizeof(*function))); function->nameIndex = getStringId(irFunction->name); function->flags = 0; @@ -573,7 +579,7 @@ void QV4::Compiler::JSUnitGenerator::writeBlock(char *b, QV4::Compiler::Context { QV4::CompiledData::Block *block = reinterpret_cast<QV4::CompiledData::Block *>(b); - quint32 currentOffset = static_cast<quint32>(roundUpToMultipleOf(8, sizeof(*block))); + quint32 currentOffset = static_cast<quint32>(QtPrivate::roundUpToMultipleOf(8, sizeof(*block))); block->sizeOfLocalTemporalDeadZone = irBlock->sizeOfLocalTemporalDeadZone; block->nLocals = irBlock->locals.size(); @@ -636,7 +642,7 @@ QV4::CompiledData::Unit QV4::Compiler::JSUnitGenerator::generateHeader(QV4::Comp unit.constantTableSize = constants.size(); // Ensure we load constants from well-aligned addresses into for example SSE registers. - nextOffset = static_cast<quint32>(roundUpToMultipleOf(16, nextOffset)); + nextOffset = static_cast<quint32>(QtPrivate::roundUpToMultipleOf(16, nextOffset)); unit.offsetToConstantTable = nextOffset; nextOffset += unit.constantTableSize * sizeof(ReturnedValue); @@ -647,19 +653,19 @@ QV4::CompiledData::Unit QV4::Compiler::JSUnitGenerator::generateHeader(QV4::Comp *jsClassDataOffset = nextOffset; nextOffset += jsClassData.size(); - nextOffset = static_cast<quint32>(roundUpToMultipleOf(8, nextOffset)); + nextOffset = static_cast<quint32>(QtPrivate::roundUpToMultipleOf(8, nextOffset)); unit.translationTableSize = translations.size(); unit.offsetToTranslationTable = nextOffset; nextOffset += unit.translationTableSize * sizeof(CompiledData::TranslationData); - nextOffset = static_cast<quint32>(roundUpToMultipleOf(8, nextOffset)); + nextOffset = static_cast<quint32>(QtPrivate::roundUpToMultipleOf(8, nextOffset)); const auto reserveExportTable = [&nextOffset](int count, quint32_le *tableSizePtr, quint32_le *offsetPtr) { *tableSizePtr = count; *offsetPtr = nextOffset; nextOffset += count * sizeof(CompiledData::ExportEntry); - nextOffset = static_cast<quint32>(roundUpToMultipleOf(8, nextOffset)); + nextOffset = static_cast<quint32>(QtPrivate::roundUpToMultipleOf(8, nextOffset)); }; reserveExportTable(module->localExportEntries.size(), &unit.localExportEntryTableSize, &unit.offsetToLocalExportEntryTable); @@ -669,12 +675,12 @@ QV4::CompiledData::Unit QV4::Compiler::JSUnitGenerator::generateHeader(QV4::Comp unit.importEntryTableSize = module->importEntries.size(); unit.offsetToImportEntryTable = nextOffset; nextOffset += unit.importEntryTableSize * sizeof(CompiledData::ImportEntry); - nextOffset = static_cast<quint32>(roundUpToMultipleOf(8, nextOffset)); + nextOffset = static_cast<quint32>(QtPrivate::roundUpToMultipleOf(8, nextOffset)); unit.moduleRequestTableSize = module->moduleRequests.size(); unit.offsetToModuleRequestTable = nextOffset; nextOffset += unit.moduleRequestTableSize * sizeof(uint); - nextOffset = static_cast<quint32>(roundUpToMultipleOf(8, nextOffset)); + nextOffset = static_cast<quint32>(QtPrivate::roundUpToMultipleOf(8, nextOffset)); quint32 functionSize = 0; for (int i = 0; i < module->functions.size(); ++i) { @@ -715,7 +721,7 @@ QV4::CompiledData::Unit QV4::Compiler::JSUnitGenerator::generateHeader(QV4::Comp if (option == GenerateWithStringTable) { unit.stringTableSize = stringTable.stringCount(); - nextOffset = static_cast<quint32>(roundUpToMultipleOf(8, nextOffset)); + nextOffset = static_cast<quint32>(QtPrivate::roundUpToMultipleOf(8, nextOffset)); unit.offsetToStringTable = nextOffset; nextOffset += stringTable.sizeOfTableAndData(); } else { |