50 if (!
buffer->isSharedArrayBuffer()) {
64 if (idx < 0 || idx >=
a.length()) {
68 return static_cast<int>(idx);
89 int bytesPerElement =
a.d()->type->bytesPerElement;
90 int byteOffset =
a.d()->byteOffset +
index * bytesPerElement;
92 return a.d()->type->atomicModifyOps[modify](
buffer->arrayData() + byteOffset,
v);
126 int bytesPerElement =
a.d()->type->bytesPerElement;
127 int byteOffset =
a.d()->byteOffset +
index * bytesPerElement;
129 return a.d()->type->atomicCompareExchange(
buffer->arrayData() + byteOffset,
expected,
v);
146#ifdef Q_ATOMIC_INT8_IS_SUPPORTED
167 int bytesPerElement =
a.d()->type->bytesPerElement;
168 int byteOffset =
a.d()->byteOffset +
index * bytesPerElement;
170 return a.d()->type->atomicLoad(
buffer->arrayData() + byteOffset);
196 int bytesPerElement =
a.d()->type->bytesPerElement;
197 int byteOffset =
a.d()->byteOffset +
index * bytesPerElement;
199 return a.d()->type->atomicStore(
buffer->arrayData() + byteOffset,
v);
209 return f->engine()->throwTypeError();
214 return f->engine()->throwTypeError();
\qmltype Particle \inqmlmodule QtQuick.Particles
GLsizei const GLfloat * v
[13]
GLboolean GLboolean GLboolean GLboolean a
[7]
#define QStringLiteral(str)
static int validateAtomicAccess(Scope &scope, const TypedArray &typedArray, const Value &index)
static SharedArrayBuffer * validateSharedIntegerTypedArray(Scope &scope, const Value &typedArray, bool onlyInt32=false)
ReturnedValue atomicReadModifyWrite(const FunctionObject *f, const Value *argv, int argc, AtomicModifyOps modify)
#define DEFINE_OBJECT_VTABLE(classname)
static ReturnedValue method_wait(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_or(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_sub(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_wake(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_exchange(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_store(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_isLockFree(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_compareExchange(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_add(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_load(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_and(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_xor(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static constexpr ReturnedValue undefined()
Heap::String * newString(const QString &s=QString())
ReturnedValue throwRangeError(const Value &value)
Symbol * symbol_toStringTag() const
ReturnedValue throwTypeError()
Heap::InternalClass * internalClass() const
bool hasException() const
static constexpr Value undefinedValue()
static constexpr Value fromReturnedValue(ReturnedValue val)
ReturnedValue convertedToNumber() const