5#include <private/qv4identifierhashdata_p.h>
6#include <private/qprimefornumbits_p.h>
28 for (
const auto &
h : std::as_const(
idHashes))
29 h->identifierTable =
nullptr;
52 uint idx =
e->stringHash % newAlloc;
53 while (newEntries[idx]) {
68 uint idx =
e->identifier.id() % newAlloc;
69 while (newEntries[idx]) {
107 str->subtype = subtype;
111 return resolveStringEntry(
s,
hash, subtype);
118 if (
e->stringHash ==
hash &&
e->toQString() ==
s)
126 str->subtype = subtype;
139 if (
e->stringHash ==
hash &&
e->toQString() ==
s)
147 str->subtype = subtype;
156 if (
str->identifier.isValid())
157 return str->identifier;
161 return str->identifier;
166 if (
e->stringHash ==
hash &&
e->toQString() ==
str->toQString()) {
167 str->identifier =
e->identifier;
168 return e->identifier;
175 return str->identifier;
180 if (
i.isArrayIndex())
188 if (!
e ||
e->identifier ==
i)
198 Q_ASSERT(
s &&
s->internalClass->vtable->isString);
205 Q_ASSERT(!
s || !
s->internalClass->vtable->isString);
212 h->markObjects(markStack);
226 if (!
e->isMarked()) {
231 while (newTable[idx]) {
238 idx =
e->identifier.id() %
alloc;
\macro QT_RESTRICTED_CAST_FROM_ASCII
static QString fromLatin1(QByteArrayView ba)
This is an overloaded member function, provided for convenience. It differs from the above function o...
static QString number(int, int base=10)
This is an overloaded member function, provided for convenience. It differs from the above function o...
QHash< int, QWidget * > hash
[35multi]
Combined button and popup list for selecting options.
\qmltype Particle \inqmlmodule QtQuick.Particles
static int grow(QLayoutStruct &ls, int delta)
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLfloat GLfloat GLfloat GLfloat h
QT_BEGIN_NAMESPACE int qPrimeForNumBits(int numBits)
\inmodule QtCore \reentrant
Heap::String * newString(const QString &s=QString())
Heap::Symbol * symbolForId(PropertyKey i) const
PropertyKey asPropertyKey(const Heap::String *str)
Heap::Symbol * insertSymbol(const QString &s)
Heap::StringOrSymbol ** entriesById
IdentifierTable(ExecutionEngine *engine, int numBits=8)
Heap::String * stringForId(PropertyKey i) const
Heap::String * insertString(const QString &s)
QSet< IdentifierHashData * > idHashes
void addEntry(Heap::StringOrSymbol *str)
Heap::StringOrSymbol ** entriesByHash
PropertyKey asPropertyKeyImpl(const Heap::String *str)
Heap::StringOrSymbol * resolveId(PropertyKey i) const
void markObjects(MarkStack *markStack)
static PropertyKey fromStringOrSymbol(StringOrSymbol *b)
static PropertyKey fromArrayIndex(uint idx)
static uint createHashValue(const QChar *ch, int length, uint *subtype)
static V4_NEEDS_DESTROY Heap::Symbol * create(ExecutionEngine *e, const QString &s)