Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qv4writebarrier.cpp
Go to the documentation of this file.
1
// Copyright (C) 2023 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
#include <private/qv4value_p.h>
4
#include <private/qv4mm_p.h>
5
6
QT_BEGIN_NAMESPACE
7
8
namespace
{
9
void
markHeapBase
(
QV4::MarkStack
* markStack,
QV4::Heap::Base
*
base
){
10
if
(!
base
)
11
return
;
12
base
->mark(markStack);
13
}
14
}
15
namespace
QV4
{
16
17
void
WriteBarrier::write_slowpath
(
EngineBase
*
engine
,
Heap::Base
*
base
,
ReturnedValue
*slot,
ReturnedValue
value
)
18
{
19
Q_UNUSED
(
base
);
20
Q_UNUSED
(slot);
21
MarkStack
* markStack =
engine
->memoryManager->markStack();
22
if
constexpr
(
isInsertionBarrier
)
23
markHeapBase(markStack,
Value::fromReturnedValue
(
value
).heapObject());
24
}
25
26
void
WriteBarrier::write_slowpath
(
EngineBase
*
engine
,
Heap::Base
*
base
,
Heap::Base
**slot,
Heap::Base
*
value
)
27
{
28
Q_UNUSED
(
base
);
29
Q_UNUSED
(slot);
30
MarkStack
* markStack =
engine
->memoryManager->markStack();
31
if
constexpr
(
isInsertionBarrier
)
32
markHeapBase(markStack,
value
);
33
}
34
35
}
36
QT_END_NAMESPACE
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qstandardpaths_haiku.cpp:21
QT_BEGIN_NAMESPACE::markHeapBase
void markHeapBase(QV4::MarkStack *markStack, QV4::Heap::Base *base)
Definition
qv4writebarrier.cpp:9
QT_END_NAMESPACE
Definition
qsharedpointer.cpp:1590
QV4
Definition
qv4debugservice.h:28
QV4::ReturnedValue
quint64 ReturnedValue
Definition
qv4staticvalue_p.h:38
value
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
Definition
qeglstreamconvenience_p.h:46
Q_UNUSED
#define Q_UNUSED(x)
Definition
qtpreprocessorsupport.h:20
base
static const uint base
Definition
qurlidna.cpp:20
engine
QJSEngine engine
[0]
Definition
src_script_qjsvalue.cpp:14
QV4::EngineBase
Definition
qv4enginebase_p.h:27
QV4::Heap::Base
Definition
qv4heap_p.h:58
QV4::MarkStack
Definition
qv4mmdefs_p.h:232
QV4::Value::fromReturnedValue
static constexpr Value fromReturnedValue(ReturnedValue val)
Definition
qv4value_p.h:165
QV4::WriteBarrier::isInsertionBarrier
static constexpr bool isInsertionBarrier
Definition
qv4writebarrier_p.h:28
QV4::WriteBarrier::write_slowpath
Q_QML_EXPORT static Q_NEVER_INLINE void write_slowpath(EngineBase *engine, Heap::Base *base, ReturnedValue *slot, ReturnedValue value)
Definition
qv4writebarrier.cpp:17
qtdeclarative
src
qml
memory
qv4writebarrier.cpp
Generated by
1.10.0