Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qv4writebarrier_p.h
Go to the documentation of this file.
1// Copyright (C) 2016 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 QV4WRITEBARRIER_P_H
4#define QV4WRITEBARRIER_P_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
20
21#define WRITEBARRIER_none 1
22
23#define WRITEBARRIER(x) (1/WRITEBARRIER_##x == 1)
24
25namespace QV4 {
26struct EngineBase;
27
28namespace WriteBarrier {
29
30enum Type {
33};
34
39};
40
41// ### this needs to be filled with a real memory fence once marking is concurrent
43
44#if WRITEBARRIER(none)
45
46template <NewValueType type>
47static constexpr inline bool isRequired() {
48 return false;
49}
50
52{
55 *slot = value;
56}
57
59{
62 *slot = value;
63}
64
65#endif
66
67}
68
69}
70
72
73#endif
Combined button and popup list for selecting options.
Q_ALWAYS_INLINE void fence()
void write(EngineBase *engine, Heap::Base *base, ReturnedValue *slot, ReturnedValue value)
static constexpr bool isRequired()
\qmltype Particle \inqmlmodule QtQuick.Particles
quint64 ReturnedValue
#define Q_ALWAYS_INLINE
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
#define Q_UNUSED(x)
QJSEngine engine
[0]
Definition moc.h:24