Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qv4identifierhashdata_p.h
Go to the documentation of this file.
1// Copyright (C) 2020 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3#ifndef QV4IDENTIFIERHASHDATA_H
4#define QV4IDENTIFIERHASHDATA_H
5
6//
7// W A R N I N G
8// -------------
9//
10// This file is not part of the Qt API. It exists purely as an
11// implementation detail. This header file may change from version to
12// version without notice, or even be removed.
13//
14// We mean it.
15//
16
17#include <private/qv4global_p.h>
18#include <private/qv4propertykey_p.h>
19#include <private/qv4identifiertable_p.h>
20#include <QtCore/qatomic.h>
21
23
24namespace QV4 {
25
28 int value;
29};
30
32{
34 : size(0)
37 {
41 memset(entries, 0, alloc*sizeof(IdentifierHashEntry));
43 }
44
46 : size(other->size)
49 {
51 alloc = other->alloc;
53 memcpy(entries, other->entries, alloc*sizeof(IdentifierHashEntry));
55 }
56
58 free(entries);
61 }
62
63 void markObjects(MarkStack *markStack) const
64 {
67 while (e < end) {
68 if (Heap::Base *o = e->identifier.asStringOrSymbol())
69 o->mark(markStack);
70 ++e;
71 }
72 }
73
75 int alloc;
76 int size;
80};
81
82} // namespace QV4
83
85
86#endif // QV4IDENTIFIERHASHDATA_P_H
void storeRelaxed(T newValue) noexcept
double e
Combined button and popup list for selecting options.
\qmltype Particle \inqmlmodule QtQuick.Particles
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLuint GLuint end
GLenum GLenum GLsizei void * table
QT_BEGIN_NAMESPACE int qPrimeForNumBits(int numBits)
QSharedPointer< T > other(t)
[5]
void markObjects(MarkStack *markStack) const
IdentifierHashData(IdentifierHashData *other)
IdentifierHashData(IdentifierTable *table, int numBits)
IdentifierHashEntry * entries
void removeIdentifierHash(IdentifierHashData *h)
void addIdentifierHash(IdentifierHashData *h)