1// Copyright (C) 2018 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 QV4ATOMICS_H
4#define QV4ATOMICS_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 "qv4object_p.h"
18#include "qv4functionobject_p.h"
19
20QT_BEGIN_NAMESPACE
21
22namespace QV4 {
23
24namespace Heap {
25
26struct Atomics : Object {
27 void init();
28};
29
30}
31
32struct Atomics : Object
33{
34 V4_OBJECT2(Atomics, Object)
35
36 static ReturnedValue method_add(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
37 static ReturnedValue method_and(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
38 static ReturnedValue method_compareExchange(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
39 static ReturnedValue method_exchange(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
40 static ReturnedValue method_isLockFree(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
41 static ReturnedValue method_load(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
42 static ReturnedValue method_or(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
43 static ReturnedValue method_store(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
44 static ReturnedValue method_sub(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
45 static ReturnedValue method_wait(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
46 static ReturnedValue method_wake(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
47 static ReturnedValue method_xor(const FunctionObject *, const Value *thisObject, const Value *argv, int argc);
48};
49
50
51} // namespace QV4
52
53QT_END_NAMESPACE
54
55#endif
56

source code of qtdeclarative/src/qml/jsruntime/qv4atomics_p.h