Disambiguate different allocation functions in the memory manager
Some compilers (in this case MingW 5.3) don't manage to properly disambiguate the template overloads, and try to instantiate the wrong template function. Solve this by renaming the one of the template functions. Change-Id: I3574e617fe96c4bd52920a0127a1dfe39cc3d302 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
This commit is contained in:
parent
6c2f6e029e
commit
278b144a35
|
@ -148,7 +148,7 @@ public:
|
||||||
|
|
||||||
static Heap::QQmlSqlDatabaseWrapper *create(QV4::ExecutionEngine *engine)
|
static Heap::QQmlSqlDatabaseWrapper *create(QV4::ExecutionEngine *engine)
|
||||||
{
|
{
|
||||||
return engine->memoryManager->allocObject<QQmlSqlDatabaseWrapper>();
|
return engine->memoryManager->allocate<QQmlSqlDatabaseWrapper>();
|
||||||
}
|
}
|
||||||
|
|
||||||
~QQmlSqlDatabaseWrapper() {
|
~QQmlSqlDatabaseWrapper() {
|
||||||
|
|
|
@ -518,7 +518,7 @@ QQuickV4ParticleData::QQuickV4ParticleData(QV4::ExecutionEngine* v4, QQuickParti
|
||||||
|
|
||||||
QV4::Scope scope(v4);
|
QV4::Scope scope(v4);
|
||||||
QV4ParticleDataDeletable *d = particleV4Data(scope.engine);
|
QV4ParticleDataDeletable *d = particleV4Data(scope.engine);
|
||||||
QV4::ScopedObject o(scope, v4->memoryManager->allocObject<QV4ParticleData>(datum, system));
|
QV4::ScopedObject o(scope, v4->memoryManager->allocate<QV4ParticleData>(datum, system));
|
||||||
QV4::ScopedObject p(scope, d->proto.value());
|
QV4::ScopedObject p(scope, d->proto.value());
|
||||||
o->setPrototype(p);
|
o->setPrototype(p);
|
||||||
m_v4Value = o;
|
m_v4Value = o;
|
||||||
|
|
|
@ -69,7 +69,7 @@ ReturnedValue DataViewCtor::callAsConstructor(const FunctionObject *f, const Val
|
||||||
if (bo != byteOffset || bl != byteLength || byteOffset + byteLength > bufferLength)
|
if (bo != byteOffset || bl != byteLength || byteOffset + byteLength > bufferLength)
|
||||||
return scope.engine->throwRangeError(QStringLiteral("DataView: constructor arguments out of range"));
|
return scope.engine->throwRangeError(QStringLiteral("DataView: constructor arguments out of range"));
|
||||||
|
|
||||||
Scoped<DataView> a(scope, scope.engine->memoryManager->allocObject<DataView>());
|
Scoped<DataView> a(scope, scope.engine->memoryManager->allocate<DataView>());
|
||||||
a->d()->buffer.set(scope.engine, buffer->d());
|
a->d()->buffer.set(scope.engine, buffer->d());
|
||||||
a->d()->byteLength = byteLength;
|
a->d()->byteLength = byteLength;
|
||||||
a->d()->byteOffset = byteOffset;
|
a->d()->byteOffset = byteOffset;
|
||||||
|
|
|
@ -258,7 +258,7 @@ ExecutionEngine::ExecutionEngine(QJSEngine *jsEngine)
|
||||||
Q_ASSERT(ic->prototype);
|
Q_ASSERT(ic->prototype);
|
||||||
jsObjects[ArrayProto] = memoryManager->allocObject<ArrayPrototype>(ic);
|
jsObjects[ArrayProto] = memoryManager->allocObject<ArrayPrototype>(ic);
|
||||||
internalClasses[Class_ArrayObject] = ic->changePrototype(arrayPrototype()->d());
|
internalClasses[Class_ArrayObject] = ic->changePrototype(arrayPrototype()->d());
|
||||||
jsObjects[PropertyListProto] = memoryManager->allocObject<PropertyListPrototype>();
|
jsObjects[PropertyListProto] = memoryManager->allocate<PropertyListPrototype>();
|
||||||
|
|
||||||
InternalClass *argsClass = newInternalClass(ArgumentsObject::staticVTable(), objectPrototype());
|
InternalClass *argsClass = newInternalClass(ArgumentsObject::staticVTable(), objectPrototype());
|
||||||
argsClass = argsClass->addMember(id_length(), Attr_NotEnumerable);
|
argsClass = argsClass->addMember(id_length(), Attr_NotEnumerable);
|
||||||
|
@ -278,9 +278,9 @@ ExecutionEngine::ExecutionEngine(QJSEngine *jsEngine)
|
||||||
internalClasses[Class_StringObject] = ic->changePrototype(stringPrototype()->d());
|
internalClasses[Class_StringObject] = ic->changePrototype(stringPrototype()->d());
|
||||||
Q_ASSERT(internalClasses[EngineBase::Class_StringObject]->find(id_length()) == Heap::StringObject::LengthPropertyIndex);
|
Q_ASSERT(internalClasses[EngineBase::Class_StringObject]->find(id_length()) == Heap::StringObject::LengthPropertyIndex);
|
||||||
|
|
||||||
jsObjects[NumberProto] = memoryManager->allocObject<NumberPrototype>();
|
jsObjects[NumberProto] = memoryManager->allocate<NumberPrototype>();
|
||||||
jsObjects[BooleanProto] = memoryManager->allocObject<BooleanPrototype>();
|
jsObjects[BooleanProto] = memoryManager->allocate<BooleanPrototype>();
|
||||||
jsObjects[DateProto] = memoryManager->allocObject<DatePrototype>();
|
jsObjects[DateProto] = memoryManager->allocate<DatePrototype>();
|
||||||
|
|
||||||
uint index;
|
uint index;
|
||||||
ic = newInternalClass(QV4::FunctionPrototype::staticVTable(), objectPrototype());
|
ic = newInternalClass(QV4::FunctionPrototype::staticVTable(), objectPrototype());
|
||||||
|
@ -350,7 +350,7 @@ ExecutionEngine::ExecutionEngine(QJSEngine *jsEngine)
|
||||||
jsObjects[TypeErrorProto] = memoryManager->allocObject<TypeErrorPrototype>(internalClasses[EngineBase::Class_ErrorProto]->changePrototype(errorPrototype()->d()));
|
jsObjects[TypeErrorProto] = memoryManager->allocObject<TypeErrorPrototype>(internalClasses[EngineBase::Class_ErrorProto]->changePrototype(errorPrototype()->d()));
|
||||||
jsObjects[URIErrorProto] = memoryManager->allocObject<URIErrorPrototype>(internalClasses[EngineBase::Class_ErrorProto]->changePrototype(errorPrototype()->d()));
|
jsObjects[URIErrorProto] = memoryManager->allocObject<URIErrorPrototype>(internalClasses[EngineBase::Class_ErrorProto]->changePrototype(errorPrototype()->d()));
|
||||||
|
|
||||||
jsObjects[VariantProto] = memoryManager->allocObject<VariantPrototype>();
|
jsObjects[VariantProto] = memoryManager->allocate<VariantPrototype>();
|
||||||
Q_ASSERT(variantPrototype()->prototype() == objectPrototype()->d());
|
Q_ASSERT(variantPrototype()->prototype() == objectPrototype()->d());
|
||||||
|
|
||||||
#if QT_CONFIG(qml_sequence_object)
|
#if QT_CONFIG(qml_sequence_object)
|
||||||
|
@ -359,21 +359,21 @@ ExecutionEngine::ExecutionEngine(QJSEngine *jsEngine)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ExecutionContext *global = rootContext();
|
ExecutionContext *global = rootContext();
|
||||||
jsObjects[Object_Ctor] = memoryManager->allocObject<ObjectCtor>(global);
|
jsObjects[Object_Ctor] = memoryManager->allocate<ObjectCtor>(global);
|
||||||
jsObjects[String_Ctor] = memoryManager->allocObject<StringCtor>(global);
|
jsObjects[String_Ctor] = memoryManager->allocate<StringCtor>(global);
|
||||||
jsObjects[Number_Ctor] = memoryManager->allocObject<NumberCtor>(global);
|
jsObjects[Number_Ctor] = memoryManager->allocate<NumberCtor>(global);
|
||||||
jsObjects[Boolean_Ctor] = memoryManager->allocObject<BooleanCtor>(global);
|
jsObjects[Boolean_Ctor] = memoryManager->allocate<BooleanCtor>(global);
|
||||||
jsObjects[Array_Ctor] = memoryManager->allocObject<ArrayCtor>(global);
|
jsObjects[Array_Ctor] = memoryManager->allocate<ArrayCtor>(global);
|
||||||
jsObjects[Function_Ctor] = memoryManager->allocObject<FunctionCtor>(global);
|
jsObjects[Function_Ctor] = memoryManager->allocate<FunctionCtor>(global);
|
||||||
jsObjects[Date_Ctor] = memoryManager->allocObject<DateCtor>(global);
|
jsObjects[Date_Ctor] = memoryManager->allocate<DateCtor>(global);
|
||||||
jsObjects[RegExp_Ctor] = memoryManager->allocObject<RegExpCtor>(global);
|
jsObjects[RegExp_Ctor] = memoryManager->allocate<RegExpCtor>(global);
|
||||||
jsObjects[Error_Ctor] = memoryManager->allocObject<ErrorCtor>(global);
|
jsObjects[Error_Ctor] = memoryManager->allocate<ErrorCtor>(global);
|
||||||
jsObjects[EvalError_Ctor] = memoryManager->allocObject<EvalErrorCtor>(global);
|
jsObjects[EvalError_Ctor] = memoryManager->allocate<EvalErrorCtor>(global);
|
||||||
jsObjects[RangeError_Ctor] = memoryManager->allocObject<RangeErrorCtor>(global);
|
jsObjects[RangeError_Ctor] = memoryManager->allocate<RangeErrorCtor>(global);
|
||||||
jsObjects[ReferenceError_Ctor] = memoryManager->allocObject<ReferenceErrorCtor>(global);
|
jsObjects[ReferenceError_Ctor] = memoryManager->allocate<ReferenceErrorCtor>(global);
|
||||||
jsObjects[SyntaxError_Ctor] = memoryManager->allocObject<SyntaxErrorCtor>(global);
|
jsObjects[SyntaxError_Ctor] = memoryManager->allocate<SyntaxErrorCtor>(global);
|
||||||
jsObjects[TypeError_Ctor] = memoryManager->allocObject<TypeErrorCtor>(global);
|
jsObjects[TypeError_Ctor] = memoryManager->allocate<TypeErrorCtor>(global);
|
||||||
jsObjects[URIError_Ctor] = memoryManager->allocObject<URIErrorCtor>(global);
|
jsObjects[URIError_Ctor] = memoryManager->allocate<URIErrorCtor>(global);
|
||||||
|
|
||||||
static_cast<ObjectPrototype *>(objectPrototype())->init(this, objectCtor());
|
static_cast<ObjectPrototype *>(objectPrototype())->init(this, objectCtor());
|
||||||
static_cast<StringPrototype *>(stringPrototype())->init(this, stringCtor());
|
static_cast<StringPrototype *>(stringPrototype())->init(this, stringCtor());
|
||||||
|
@ -399,19 +399,19 @@ ExecutionEngine::ExecutionEngine(QJSEngine *jsEngine)
|
||||||
|
|
||||||
// typed arrays
|
// typed arrays
|
||||||
|
|
||||||
jsObjects[ArrayBuffer_Ctor] = memoryManager->allocObject<ArrayBufferCtor>(global);
|
jsObjects[ArrayBuffer_Ctor] = memoryManager->allocate<ArrayBufferCtor>(global);
|
||||||
jsObjects[ArrayBufferProto] = memoryManager->allocObject<ArrayBufferPrototype>();
|
jsObjects[ArrayBufferProto] = memoryManager->allocate<ArrayBufferPrototype>();
|
||||||
static_cast<ArrayBufferPrototype *>(arrayBufferPrototype())->init(this, arrayBufferCtor());
|
static_cast<ArrayBufferPrototype *>(arrayBufferPrototype())->init(this, arrayBufferCtor());
|
||||||
|
|
||||||
jsObjects[DataView_Ctor] = memoryManager->allocObject<DataViewCtor>(global);
|
jsObjects[DataView_Ctor] = memoryManager->allocate<DataViewCtor>(global);
|
||||||
jsObjects[DataViewProto] = memoryManager->allocObject<DataViewPrototype>();
|
jsObjects[DataViewProto] = memoryManager->allocate<DataViewPrototype>();
|
||||||
static_cast<DataViewPrototype *>(dataViewPrototype())->init(this, dataViewCtor());
|
static_cast<DataViewPrototype *>(dataViewPrototype())->init(this, dataViewCtor());
|
||||||
jsObjects[ValueTypeProto] = (Heap::Base *) nullptr;
|
jsObjects[ValueTypeProto] = (Heap::Base *) nullptr;
|
||||||
jsObjects[SignalHandlerProto] = (Heap::Base *) nullptr;
|
jsObjects[SignalHandlerProto] = (Heap::Base *) nullptr;
|
||||||
|
|
||||||
for (int i = 0; i < Heap::TypedArray::NTypes; ++i) {
|
for (int i = 0; i < Heap::TypedArray::NTypes; ++i) {
|
||||||
static_cast<Value &>(typedArrayCtors[i]) = memoryManager->allocObject<TypedArrayCtor>(global, Heap::TypedArray::Type(i));
|
static_cast<Value &>(typedArrayCtors[i]) = memoryManager->allocate<TypedArrayCtor>(global, Heap::TypedArray::Type(i));
|
||||||
static_cast<Value &>(typedArrayPrototype[i]) = memoryManager->allocObject<TypedArrayPrototype>(Heap::TypedArray::Type(i));
|
static_cast<Value &>(typedArrayPrototype[i]) = memoryManager->allocate<TypedArrayPrototype>(Heap::TypedArray::Type(i));
|
||||||
typedArrayPrototype[i].as<TypedArrayPrototype>()->init(this, static_cast<TypedArrayCtor *>(typedArrayCtors[i].as<Object>()));
|
typedArrayPrototype[i].as<TypedArrayPrototype>()->init(this, static_cast<TypedArrayCtor *>(typedArrayCtors[i].as<Object>()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -443,15 +443,15 @@ ExecutionEngine::ExecutionEngine(QJSEngine *jsEngine)
|
||||||
for (int i = 0; i < Heap::TypedArray::NTypes; ++i)
|
for (int i = 0; i < Heap::TypedArray::NTypes; ++i)
|
||||||
globalObject->defineDefaultProperty((str = typedArrayCtors[i].as<FunctionObject>()->name())->toQString(), typedArrayCtors[i]);
|
globalObject->defineDefaultProperty((str = typedArrayCtors[i].as<FunctionObject>()->name())->toQString(), typedArrayCtors[i]);
|
||||||
ScopedObject o(scope);
|
ScopedObject o(scope);
|
||||||
globalObject->defineDefaultProperty(QStringLiteral("Math"), (o = memoryManager->allocObject<MathObject>()));
|
globalObject->defineDefaultProperty(QStringLiteral("Math"), (o = memoryManager->allocate<MathObject>()));
|
||||||
globalObject->defineDefaultProperty(QStringLiteral("JSON"), (o = memoryManager->allocObject<JsonObject>()));
|
globalObject->defineDefaultProperty(QStringLiteral("JSON"), (o = memoryManager->allocate<JsonObject>()));
|
||||||
|
|
||||||
globalObject->defineReadonlyProperty(QStringLiteral("undefined"), Primitive::undefinedValue());
|
globalObject->defineReadonlyProperty(QStringLiteral("undefined"), Primitive::undefinedValue());
|
||||||
globalObject->defineReadonlyProperty(QStringLiteral("NaN"), Primitive::fromDouble(std::numeric_limits<double>::quiet_NaN()));
|
globalObject->defineReadonlyProperty(QStringLiteral("NaN"), Primitive::fromDouble(std::numeric_limits<double>::quiet_NaN()));
|
||||||
globalObject->defineReadonlyProperty(QStringLiteral("Infinity"), Primitive::fromDouble(Q_INFINITY));
|
globalObject->defineReadonlyProperty(QStringLiteral("Infinity"), Primitive::fromDouble(Q_INFINITY));
|
||||||
|
|
||||||
|
|
||||||
jsObjects[Eval_Function] = memoryManager->allocObject<EvalFunction>(global);
|
jsObjects[Eval_Function] = memoryManager->allocate<EvalFunction>(global);
|
||||||
globalObject->defineDefaultProperty(QStringLiteral("eval"), *evalFunction());
|
globalObject->defineDefaultProperty(QStringLiteral("eval"), *evalFunction());
|
||||||
|
|
||||||
// ES6: 20.1.2.12 & 20.1.2.13:
|
// ES6: 20.1.2.12 & 20.1.2.13:
|
||||||
|
@ -545,7 +545,7 @@ InternalClass *ExecutionEngine::newInternalClass(const VTable *vtable, Object *p
|
||||||
|
|
||||||
Heap::Object *ExecutionEngine::newObject()
|
Heap::Object *ExecutionEngine::newObject()
|
||||||
{
|
{
|
||||||
return memoryManager->allocObject<Object>();
|
return memoryManager->allocate<Object>();
|
||||||
}
|
}
|
||||||
|
|
||||||
Heap::Object *ExecutionEngine::newObject(InternalClass *internalClass, QV4::Object *prototype)
|
Heap::Object *ExecutionEngine::newObject(InternalClass *internalClass, QV4::Object *prototype)
|
||||||
|
@ -567,23 +567,23 @@ Heap::String *ExecutionEngine::newIdentifier(const QString &text)
|
||||||
|
|
||||||
Heap::Object *ExecutionEngine::newStringObject(const String *string)
|
Heap::Object *ExecutionEngine::newStringObject(const String *string)
|
||||||
{
|
{
|
||||||
return memoryManager->allocObject<StringObject>(string);
|
return memoryManager->allocate<StringObject>(string);
|
||||||
}
|
}
|
||||||
|
|
||||||
Heap::Object *ExecutionEngine::newNumberObject(double value)
|
Heap::Object *ExecutionEngine::newNumberObject(double value)
|
||||||
{
|
{
|
||||||
return memoryManager->allocObject<NumberObject>(value);
|
return memoryManager->allocate<NumberObject>(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
Heap::Object *ExecutionEngine::newBooleanObject(bool b)
|
Heap::Object *ExecutionEngine::newBooleanObject(bool b)
|
||||||
{
|
{
|
||||||
return memoryManager->allocObject<BooleanObject>(b);
|
return memoryManager->allocate<BooleanObject>(b);
|
||||||
}
|
}
|
||||||
|
|
||||||
Heap::ArrayObject *ExecutionEngine::newArrayObject(int count)
|
Heap::ArrayObject *ExecutionEngine::newArrayObject(int count)
|
||||||
{
|
{
|
||||||
Scope scope(this);
|
Scope scope(this);
|
||||||
ScopedArrayObject object(scope, memoryManager->allocObject<ArrayObject>());
|
ScopedArrayObject object(scope, memoryManager->allocate<ArrayObject>());
|
||||||
|
|
||||||
if (count) {
|
if (count) {
|
||||||
if (count < 0x1000)
|
if (count < 0x1000)
|
||||||
|
@ -596,7 +596,7 @@ Heap::ArrayObject *ExecutionEngine::newArrayObject(int count)
|
||||||
Heap::ArrayObject *ExecutionEngine::newArrayObject(const Value *values, int length)
|
Heap::ArrayObject *ExecutionEngine::newArrayObject(const Value *values, int length)
|
||||||
{
|
{
|
||||||
Scope scope(this);
|
Scope scope(this);
|
||||||
ScopedArrayObject a(scope, memoryManager->allocObject<ArrayObject>());
|
ScopedArrayObject a(scope, memoryManager->allocate<ArrayObject>());
|
||||||
|
|
||||||
if (length) {
|
if (length) {
|
||||||
size_t size = sizeof(Heap::ArrayData) + (length-1)*sizeof(Value);
|
size_t size = sizeof(Heap::ArrayData) + (length-1)*sizeof(Value);
|
||||||
|
@ -624,7 +624,7 @@ Heap::ArrayObject *ExecutionEngine::newArrayObject(const Value *values, int leng
|
||||||
Heap::ArrayObject *ExecutionEngine::newArrayObject(const QStringList &list)
|
Heap::ArrayObject *ExecutionEngine::newArrayObject(const QStringList &list)
|
||||||
{
|
{
|
||||||
Scope scope(this);
|
Scope scope(this);
|
||||||
ScopedArrayObject object(scope, memoryManager->allocObject<ArrayObject>(list));
|
ScopedArrayObject object(scope, memoryManager->allocate<ArrayObject>(list));
|
||||||
return object->d();
|
return object->d();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -638,31 +638,31 @@ Heap::ArrayObject *ExecutionEngine::newArrayObject(InternalClass *internalClass,
|
||||||
|
|
||||||
Heap::ArrayBuffer *ExecutionEngine::newArrayBuffer(const QByteArray &array)
|
Heap::ArrayBuffer *ExecutionEngine::newArrayBuffer(const QByteArray &array)
|
||||||
{
|
{
|
||||||
return memoryManager->allocObject<ArrayBuffer>(array);
|
return memoryManager->allocate<ArrayBuffer>(array);
|
||||||
}
|
}
|
||||||
|
|
||||||
Heap::ArrayBuffer *ExecutionEngine::newArrayBuffer(size_t length)
|
Heap::ArrayBuffer *ExecutionEngine::newArrayBuffer(size_t length)
|
||||||
{
|
{
|
||||||
return memoryManager->allocObject<ArrayBuffer>(length);
|
return memoryManager->allocate<ArrayBuffer>(length);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Heap::DateObject *ExecutionEngine::newDateObject(const Value &value)
|
Heap::DateObject *ExecutionEngine::newDateObject(const Value &value)
|
||||||
{
|
{
|
||||||
return memoryManager->allocObject<DateObject>(value);
|
return memoryManager->allocate<DateObject>(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
Heap::DateObject *ExecutionEngine::newDateObject(const QDateTime &dt)
|
Heap::DateObject *ExecutionEngine::newDateObject(const QDateTime &dt)
|
||||||
{
|
{
|
||||||
Scope scope(this);
|
Scope scope(this);
|
||||||
Scoped<DateObject> object(scope, memoryManager->allocObject<DateObject>(dt));
|
Scoped<DateObject> object(scope, memoryManager->allocate<DateObject>(dt));
|
||||||
return object->d();
|
return object->d();
|
||||||
}
|
}
|
||||||
|
|
||||||
Heap::DateObject *ExecutionEngine::newDateObjectFromTime(const QTime &t)
|
Heap::DateObject *ExecutionEngine::newDateObjectFromTime(const QTime &t)
|
||||||
{
|
{
|
||||||
Scope scope(this);
|
Scope scope(this);
|
||||||
Scoped<DateObject> object(scope, memoryManager->allocObject<DateObject>(t));
|
Scoped<DateObject> object(scope, memoryManager->allocate<DateObject>(t));
|
||||||
return object->d();
|
return object->d();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -679,12 +679,12 @@ Heap::RegExpObject *ExecutionEngine::newRegExpObject(const QString &pattern, int
|
||||||
|
|
||||||
Heap::RegExpObject *ExecutionEngine::newRegExpObject(RegExp *re)
|
Heap::RegExpObject *ExecutionEngine::newRegExpObject(RegExp *re)
|
||||||
{
|
{
|
||||||
return memoryManager->allocObject<RegExpObject>(re);
|
return memoryManager->allocate<RegExpObject>(re);
|
||||||
}
|
}
|
||||||
|
|
||||||
Heap::RegExpObject *ExecutionEngine::newRegExpObject(const QRegExp &re)
|
Heap::RegExpObject *ExecutionEngine::newRegExpObject(const QRegExp &re)
|
||||||
{
|
{
|
||||||
return memoryManager->allocObject<RegExpObject>(re);
|
return memoryManager->allocate<RegExpObject>(re);
|
||||||
}
|
}
|
||||||
|
|
||||||
Heap::Object *ExecutionEngine::newErrorObject(const Value &value)
|
Heap::Object *ExecutionEngine::newErrorObject(const Value &value)
|
||||||
|
@ -731,13 +731,13 @@ Heap::Object *ExecutionEngine::newURIErrorObject(const Value &message)
|
||||||
|
|
||||||
Heap::Object *ExecutionEngine::newVariantObject(const QVariant &v)
|
Heap::Object *ExecutionEngine::newVariantObject(const QVariant &v)
|
||||||
{
|
{
|
||||||
return memoryManager->allocObject<VariantObject>(v);
|
return memoryManager->allocate<VariantObject>(v);
|
||||||
}
|
}
|
||||||
|
|
||||||
Heap::Object *ExecutionEngine::newForEachIteratorObject(Object *o)
|
Heap::Object *ExecutionEngine::newForEachIteratorObject(Object *o)
|
||||||
{
|
{
|
||||||
Scope scope(this);
|
Scope scope(this);
|
||||||
ScopedObject obj(scope, memoryManager->allocObject<ForEachIteratorObject>(o));
|
ScopedObject obj(scope, memoryManager->allocate<ForEachIteratorObject>(o));
|
||||||
return obj->d();
|
return obj->d();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -905,8 +905,8 @@ void ExecutionEngine::requireArgumentsAccessors(int n)
|
||||||
}
|
}
|
||||||
ExecutionContext *global = rootContext();
|
ExecutionContext *global = rootContext();
|
||||||
for (int i = oldSize; i < nArgumentsAccessors; ++i) {
|
for (int i = oldSize; i < nArgumentsAccessors; ++i) {
|
||||||
argumentsAccessors[i].value = ScopedValue(scope, memoryManager->allocObject<ArgumentsGetterFunction>(global, i));
|
argumentsAccessors[i].value = ScopedValue(scope, memoryManager->allocate<ArgumentsGetterFunction>(global, i));
|
||||||
argumentsAccessors[i].set = ScopedValue(scope, memoryManager->allocObject<ArgumentsSetterFunction>(global, i));
|
argumentsAccessors[i].set = ScopedValue(scope, memoryManager->allocate<ArgumentsSetterFunction>(global, i));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -173,7 +173,7 @@ ReturnedValue FunctionObject::call(const FunctionObject *, const Value *, const
|
||||||
|
|
||||||
Heap::FunctionObject *FunctionObject::createScriptFunction(ExecutionContext *scope, Function *function)
|
Heap::FunctionObject *FunctionObject::createScriptFunction(ExecutionContext *scope, Function *function)
|
||||||
{
|
{
|
||||||
return scope->engine()->memoryManager->allocObject<ScriptFunction>(scope, function);
|
return scope->engine()->memoryManager->allocate<ScriptFunction>(scope, function);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool FunctionObject::isBinding() const
|
bool FunctionObject::isBinding() const
|
||||||
|
|
|
@ -167,7 +167,7 @@ struct Q_QML_EXPORT FunctionObject: Object {
|
||||||
static Heap::FunctionObject *createBuiltinFunction(ExecutionContext *scope, String *name,
|
static Heap::FunctionObject *createBuiltinFunction(ExecutionContext *scope, String *name,
|
||||||
ReturnedValue (*code)(const FunctionObject *, const Value *thisObject, const Value *argv, int argc))
|
ReturnedValue (*code)(const FunctionObject *, const Value *thisObject, const Value *argv, int argc))
|
||||||
{
|
{
|
||||||
return scope->engine()->memoryManager->allocObject<FunctionObject>(scope, name, code);
|
return scope->engine()->memoryManager->allocate<FunctionObject>(scope, name, code);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool strictMode() const { return d()->function ? d()->function->isStrict() : false; }
|
bool strictMode() const { return d()->function ? d()->function->isStrict() : false; }
|
||||||
|
@ -234,7 +234,7 @@ struct BoundFunction: FunctionObject {
|
||||||
|
|
||||||
static Heap::BoundFunction *create(ExecutionContext *scope, FunctionObject *target, const Value &boundThis, QV4::MemberData *boundArgs)
|
static Heap::BoundFunction *create(ExecutionContext *scope, FunctionObject *target, const Value &boundThis, QV4::MemberData *boundArgs)
|
||||||
{
|
{
|
||||||
return scope->engine()->memoryManager->allocObject<BoundFunction>(scope, target, boundThis, boundArgs);
|
return scope->engine()->memoryManager->allocate<BoundFunction>(scope, target, boundThis, boundArgs);
|
||||||
}
|
}
|
||||||
|
|
||||||
Heap::FunctionObject *target() const { return d()->target; }
|
Heap::FunctionObject *target() const { return d()->target; }
|
||||||
|
|
|
@ -312,7 +312,7 @@ Heap::QmlContext *QmlContext::createWorkerContext(ExecutionContext *parent, cons
|
||||||
context->isInternal = true;
|
context->isInternal = true;
|
||||||
context->isJSContext = true;
|
context->isJSContext = true;
|
||||||
|
|
||||||
Scoped<QQmlContextWrapper> qml(scope, scope.engine->memoryManager->allocObject<QQmlContextWrapper>(context, (QObject*)nullptr));
|
Scoped<QQmlContextWrapper> qml(scope, scope.engine->memoryManager->allocate<QQmlContextWrapper>(context, (QObject*)nullptr));
|
||||||
qml->d()->isNullWrapper = true;
|
qml->d()->isNullWrapper = true;
|
||||||
|
|
||||||
qml->setReadOnly(false);
|
qml->setReadOnly(false);
|
||||||
|
@ -330,7 +330,7 @@ Heap::QmlContext *QmlContext::create(ExecutionContext *parent, QQmlContextData *
|
||||||
{
|
{
|
||||||
Scope scope(parent);
|
Scope scope(parent);
|
||||||
|
|
||||||
Scoped<QQmlContextWrapper> qml(scope, scope.engine->memoryManager->allocObject<QQmlContextWrapper>(context, scopeObject));
|
Scoped<QQmlContextWrapper> qml(scope, scope.engine->memoryManager->allocate<QQmlContextWrapper>(context, scopeObject));
|
||||||
Heap::QmlContext *c = scope.engine->memoryManager->alloc<QmlContext>(parent, qml);
|
Heap::QmlContext *c = scope.engine->memoryManager->alloc<QmlContext>(parent, qml);
|
||||||
Q_ASSERT(c->vtable() == staticVTable());
|
Q_ASSERT(c->vtable() == staticVTable());
|
||||||
return c;
|
return c;
|
||||||
|
|
|
@ -248,7 +248,7 @@ ReturnedValue QObjectWrapper::getProperty(ExecutionEngine *engine, QObject *obje
|
||||||
return QV4::QObjectMethod::create(global, object, property->coreIndex());
|
return QV4::QObjectMethod::create(global, object, property->coreIndex());
|
||||||
} else if (property->isSignalHandler()) {
|
} else if (property->isSignalHandler()) {
|
||||||
QmlSignalHandler::initProto(engine);
|
QmlSignalHandler::initProto(engine);
|
||||||
return engine->memoryManager->allocObject<QV4::QmlSignalHandler>(object, property->coreIndex())->asReturnedValue();
|
return engine->memoryManager->allocate<QV4::QmlSignalHandler>(object, property->coreIndex())->asReturnedValue();
|
||||||
} else {
|
} else {
|
||||||
ExecutionContext *global = engine->rootContext();
|
ExecutionContext *global = engine->rootContext();
|
||||||
return QV4::QObjectMethod::create(global, object, property->coreIndex());
|
return QV4::QObjectMethod::create(global, object, property->coreIndex());
|
||||||
|
@ -687,7 +687,7 @@ ReturnedValue QObjectWrapper::create(ExecutionEngine *engine, QObject *object)
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return (engine->memoryManager->allocObject<QV4::QObjectWrapper>(object))->asReturnedValue();
|
return (engine->memoryManager->allocate<QV4::QObjectWrapper>(object))->asReturnedValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
QV4::ReturnedValue QObjectWrapper::get(const Managed *m, String *name, bool *hasProperty)
|
QV4::ReturnedValue QObjectWrapper::get(const Managed *m, String *name, bool *hasProperty)
|
||||||
|
@ -1840,7 +1840,7 @@ QV4::ReturnedValue CallArgument::toValue(QV4::ExecutionEngine *engine)
|
||||||
ReturnedValue QObjectMethod::create(ExecutionContext *scope, QObject *object, int index)
|
ReturnedValue QObjectMethod::create(ExecutionContext *scope, QObject *object, int index)
|
||||||
{
|
{
|
||||||
Scope valueScope(scope);
|
Scope valueScope(scope);
|
||||||
Scoped<QObjectMethod> method(valueScope, valueScope.engine->memoryManager->allocObject<QObjectMethod>(scope));
|
Scoped<QObjectMethod> method(valueScope, valueScope.engine->memoryManager->allocate<QObjectMethod>(scope));
|
||||||
method->d()->setObject(object);
|
method->d()->setObject(object);
|
||||||
|
|
||||||
if (QQmlData *ddata = QQmlData::get(object))
|
if (QQmlData *ddata = QQmlData::get(object))
|
||||||
|
@ -1853,7 +1853,7 @@ ReturnedValue QObjectMethod::create(ExecutionContext *scope, QObject *object, in
|
||||||
ReturnedValue QObjectMethod::create(ExecutionContext *scope, const QQmlValueTypeWrapper *valueType, int index)
|
ReturnedValue QObjectMethod::create(ExecutionContext *scope, const QQmlValueTypeWrapper *valueType, int index)
|
||||||
{
|
{
|
||||||
Scope valueScope(scope);
|
Scope valueScope(scope);
|
||||||
Scoped<QObjectMethod> method(valueScope, valueScope.engine->memoryManager->allocObject<QObjectMethod>(scope));
|
Scoped<QObjectMethod> method(valueScope, valueScope.engine->memoryManager->allocate<QObjectMethod>(scope));
|
||||||
method->d()->setPropertyCache(valueType->d()->propertyCache());
|
method->d()->setPropertyCache(valueType->d()->propertyCache());
|
||||||
method->d()->index = index;
|
method->d()->index = index;
|
||||||
method->d()->valueTypeWrapper.set(valueScope.engine, valueType->d());
|
method->d()->valueTypeWrapper.set(valueScope.engine, valueType->d());
|
||||||
|
@ -2026,7 +2026,7 @@ void Heap::QMetaObjectWrapper::ensureConstructorsCache() {
|
||||||
ReturnedValue QMetaObjectWrapper::create(ExecutionEngine *engine, const QMetaObject* metaObject) {
|
ReturnedValue QMetaObjectWrapper::create(ExecutionEngine *engine, const QMetaObject* metaObject) {
|
||||||
|
|
||||||
QV4::Scope scope(engine);
|
QV4::Scope scope(engine);
|
||||||
Scoped<QMetaObjectWrapper> mo(scope, engine->memoryManager->allocObject<QV4::QMetaObjectWrapper>(metaObject)->asReturnedValue());
|
Scoped<QMetaObjectWrapper> mo(scope, engine->memoryManager->allocate<QV4::QMetaObjectWrapper>(metaObject)->asReturnedValue());
|
||||||
mo->init(engine);
|
mo->init(engine);
|
||||||
return mo->asReturnedValue();
|
return mo->asReturnedValue();
|
||||||
}
|
}
|
||||||
|
|
|
@ -691,7 +691,7 @@ bool SequencePrototype::isSequenceType(int sequenceTypeId)
|
||||||
|
|
||||||
#define NEW_REFERENCE_SEQUENCE(ElementType, ElementTypeName, SequenceType, unused) \
|
#define NEW_REFERENCE_SEQUENCE(ElementType, ElementTypeName, SequenceType, unused) \
|
||||||
if (sequenceType == qMetaTypeId<SequenceType>()) { \
|
if (sequenceType == qMetaTypeId<SequenceType>()) { \
|
||||||
QV4::ScopedObject obj(scope, engine->memoryManager->allocObject<QQml##ElementTypeName##List>(object, propertyIndex)); \
|
QV4::ScopedObject obj(scope, engine->memoryManager->allocate<QQml##ElementTypeName##List>(object, propertyIndex)); \
|
||||||
return obj.asReturnedValue(); \
|
return obj.asReturnedValue(); \
|
||||||
} else
|
} else
|
||||||
|
|
||||||
|
@ -709,7 +709,7 @@ ReturnedValue SequencePrototype::newSequence(QV4::ExecutionEngine *engine, int s
|
||||||
|
|
||||||
#define NEW_COPY_SEQUENCE(ElementType, ElementTypeName, SequenceType, unused) \
|
#define NEW_COPY_SEQUENCE(ElementType, ElementTypeName, SequenceType, unused) \
|
||||||
if (sequenceType == qMetaTypeId<SequenceType>()) { \
|
if (sequenceType == qMetaTypeId<SequenceType>()) { \
|
||||||
QV4::ScopedObject obj(scope, engine->memoryManager->allocObject<QQml##ElementTypeName##List>(v.value<SequenceType >())); \
|
QV4::ScopedObject obj(scope, engine->memoryManager->allocate<QQml##ElementTypeName##List>(v.value<SequenceType >())); \
|
||||||
return obj.asReturnedValue(); \
|
return obj.asReturnedValue(); \
|
||||||
} else
|
} else
|
||||||
|
|
||||||
|
|
|
@ -225,7 +225,7 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename ObjectType, typename... Args>
|
template <typename ObjectType, typename... Args>
|
||||||
typename ObjectType::Data *allocObject(Args... args)
|
typename ObjectType::Data *allocate(Args... args)
|
||||||
{
|
{
|
||||||
Scope scope(engine);
|
Scope scope(engine);
|
||||||
Scoped<ObjectType> t(scope, allocateObject<ObjectType>());
|
Scoped<ObjectType> t(scope, allocateObject<ObjectType>());
|
||||||
|
|
|
@ -1421,7 +1421,7 @@ void QQmlComponent::incubateObject(QQmlV4Function *args)
|
||||||
|
|
||||||
QQmlComponentExtension *e = componentExtension(args->v4engine());
|
QQmlComponentExtension *e = componentExtension(args->v4engine());
|
||||||
|
|
||||||
QV4::Scoped<QV4::QmlIncubatorObject> r(scope, v4->memoryManager->allocObject<QV4::QmlIncubatorObject>(mode));
|
QV4::Scoped<QV4::QmlIncubatorObject> r(scope, v4->memoryManager->allocate<QV4::QmlIncubatorObject>(mode));
|
||||||
QV4::ScopedObject p(scope, e->incubationProto.value());
|
QV4::ScopedObject p(scope, e->incubationProto.value());
|
||||||
r->setPrototype(p);
|
r->setPrototype(p);
|
||||||
|
|
||||||
|
|
|
@ -74,7 +74,7 @@ ReturnedValue QmlListWrapper::create(ExecutionEngine *engine, QObject *object, i
|
||||||
|
|
||||||
Scope scope(engine);
|
Scope scope(engine);
|
||||||
|
|
||||||
Scoped<QmlListWrapper> r(scope, engine->memoryManager->allocObject<QmlListWrapper>());
|
Scoped<QmlListWrapper> r(scope, engine->memoryManager->allocate<QmlListWrapper>());
|
||||||
r->d()->object = object;
|
r->d()->object = object;
|
||||||
r->d()->propertyType = propType;
|
r->d()->propertyType = propType;
|
||||||
void *args[] = { &r->d()->property(), nullptr };
|
void *args[] = { &r->d()->property(), nullptr };
|
||||||
|
@ -86,7 +86,7 @@ ReturnedValue QmlListWrapper::create(ExecutionEngine *engine, const QQmlListProp
|
||||||
{
|
{
|
||||||
Scope scope(engine);
|
Scope scope(engine);
|
||||||
|
|
||||||
Scoped<QmlListWrapper> r(scope, engine->memoryManager->allocObject<QmlListWrapper>());
|
Scoped<QmlListWrapper> r(scope, engine->memoryManager->allocate<QmlListWrapper>());
|
||||||
r->d()->object = prop.object;
|
r->d()->object = prop.object;
|
||||||
r->d()->property() = prop;
|
r->d()->property() = prop;
|
||||||
r->d()->propertyType = propType;
|
r->d()->propertyType = propType;
|
||||||
|
|
|
@ -825,7 +825,7 @@ QV4::ReturnedValue QQmlLocale::wrap(ExecutionEngine *v4, const QLocale &locale)
|
||||||
{
|
{
|
||||||
QV4::Scope scope(v4);
|
QV4::Scope scope(v4);
|
||||||
QV4LocaleDataDeletable *d = localeV4Data(scope.engine);
|
QV4LocaleDataDeletable *d = localeV4Data(scope.engine);
|
||||||
QV4::Scoped<QQmlLocaleData> wrapper(scope, v4->memoryManager->allocObject<QQmlLocaleData>());
|
QV4::Scoped<QQmlLocaleData> wrapper(scope, v4->memoryManager->allocate<QQmlLocaleData>());
|
||||||
*wrapper->d()->locale = locale;
|
*wrapper->d()->locale = locale;
|
||||||
QV4::ScopedObject p(scope, d->prototype.value());
|
QV4::ScopedObject p(scope, d->prototype.value());
|
||||||
wrapper->setPrototype(p);
|
wrapper->setPrototype(p);
|
||||||
|
|
|
@ -111,7 +111,7 @@ ReturnedValue QQmlTypeWrapper::create(QV4::ExecutionEngine *engine, QObject *o,
|
||||||
Q_ASSERT(t.isValid());
|
Q_ASSERT(t.isValid());
|
||||||
Scope scope(engine);
|
Scope scope(engine);
|
||||||
|
|
||||||
Scoped<QQmlTypeWrapper> w(scope, engine->memoryManager->allocObject<QQmlTypeWrapper>());
|
Scoped<QQmlTypeWrapper> w(scope, engine->memoryManager->allocate<QQmlTypeWrapper>());
|
||||||
w->d()->mode = mode; w->d()->object = o;
|
w->d()->mode = mode; w->d()->object = o;
|
||||||
w->d()->typePrivate = t.priv();
|
w->d()->typePrivate = t.priv();
|
||||||
QQmlType::refHandle(w->d()->typePrivate);
|
QQmlType::refHandle(w->d()->typePrivate);
|
||||||
|
@ -127,7 +127,7 @@ ReturnedValue QQmlTypeWrapper::create(QV4::ExecutionEngine *engine, QObject *o,
|
||||||
Q_ASSERT(importNamespace);
|
Q_ASSERT(importNamespace);
|
||||||
Scope scope(engine);
|
Scope scope(engine);
|
||||||
|
|
||||||
Scoped<QQmlTypeWrapper> w(scope, engine->memoryManager->allocObject<QQmlTypeWrapper>());
|
Scoped<QQmlTypeWrapper> w(scope, engine->memoryManager->allocate<QQmlTypeWrapper>());
|
||||||
w->d()->mode = mode; w->d()->object = o; w->d()->typeNamespace = t; w->d()->importNamespace = importNamespace;
|
w->d()->mode = mode; w->d()->object = o; w->d()->typeNamespace = t; w->d()->importNamespace = importNamespace;
|
||||||
t->addref();
|
t->addref();
|
||||||
return w.asReturnedValue();
|
return w.asReturnedValue();
|
||||||
|
@ -232,7 +232,7 @@ ReturnedValue QQmlTypeWrapper::get(const Managed *m, String *name, bool *hasProp
|
||||||
|
|
||||||
value = type.scopedEnumIndex(QQmlEnginePrivate::get(v4->qmlEngine()), name, &ok);
|
value = type.scopedEnumIndex(QQmlEnginePrivate::get(v4->qmlEngine()), name, &ok);
|
||||||
if (ok) {
|
if (ok) {
|
||||||
Scoped<QQmlScopedEnumWrapper> enumWrapper(scope, v4->memoryManager->allocObject<QQmlScopedEnumWrapper>());
|
Scoped<QQmlScopedEnumWrapper> enumWrapper(scope, v4->memoryManager->allocate<QQmlScopedEnumWrapper>());
|
||||||
enumWrapper->d()->typePrivate = type.priv();
|
enumWrapper->d()->typePrivate = type.priv();
|
||||||
QQmlType::refHandle(enumWrapper->d()->typePrivate);
|
QQmlType::refHandle(enumWrapper->d()->typePrivate);
|
||||||
enumWrapper->d()->scopeEnumIndex = value;
|
enumWrapper->d()->scopeEnumIndex = value;
|
||||||
|
|
|
@ -186,7 +186,7 @@ ReturnedValue QQmlValueTypeWrapper::create(ExecutionEngine *engine, QObject *obj
|
||||||
Scope scope(engine);
|
Scope scope(engine);
|
||||||
initProto(engine);
|
initProto(engine);
|
||||||
|
|
||||||
Scoped<QQmlValueTypeReference> r(scope, engine->memoryManager->allocObject<QQmlValueTypeReference>());
|
Scoped<QQmlValueTypeReference> r(scope, engine->memoryManager->allocate<QQmlValueTypeReference>());
|
||||||
r->d()->object = object;
|
r->d()->object = object;
|
||||||
r->d()->property = property;
|
r->d()->property = property;
|
||||||
r->d()->setPropertyCache(QJSEnginePrivate::get(engine)->cache(metaObject));
|
r->d()->setPropertyCache(QJSEnginePrivate::get(engine)->cache(metaObject));
|
||||||
|
@ -200,7 +200,7 @@ ReturnedValue QQmlValueTypeWrapper::create(ExecutionEngine *engine, const QVaria
|
||||||
Scope scope(engine);
|
Scope scope(engine);
|
||||||
initProto(engine);
|
initProto(engine);
|
||||||
|
|
||||||
Scoped<QQmlValueTypeWrapper> r(scope, engine->memoryManager->allocObject<QQmlValueTypeWrapper>());
|
Scoped<QQmlValueTypeWrapper> r(scope, engine->memoryManager->allocate<QQmlValueTypeWrapper>());
|
||||||
r->d()->setPropertyCache(QJSEnginePrivate::get(engine)->cache(metaObject));
|
r->d()->setPropertyCache(QJSEnginePrivate::get(engine)->cache(metaObject));
|
||||||
r->d()->valueType = QQmlValueTypeFactory::valueType(typeId);
|
r->d()->valueType = QQmlValueTypeFactory::valueType(typeId);
|
||||||
r->d()->gadgetPtr = nullptr;
|
r->d()->gadgetPtr = nullptr;
|
||||||
|
|
|
@ -595,7 +595,7 @@ ReturnedValue NodePrototype::getProto(ExecutionEngine *v4)
|
||||||
Scope scope(v4);
|
Scope scope(v4);
|
||||||
QQmlXMLHttpRequestData *d = xhrdata(v4);
|
QQmlXMLHttpRequestData *d = xhrdata(v4);
|
||||||
if (d->nodePrototype.isUndefined()) {
|
if (d->nodePrototype.isUndefined()) {
|
||||||
ScopedObject p(scope, v4->memoryManager->allocObject<NodePrototype>());
|
ScopedObject p(scope, v4->memoryManager->allocate<NodePrototype>());
|
||||||
d->nodePrototype.set(v4, p);
|
d->nodePrototype.set(v4, p);
|
||||||
v4->v8Engine->freezeObject(p);
|
v4->v8Engine->freezeObject(p);
|
||||||
}
|
}
|
||||||
|
@ -606,7 +606,7 @@ ReturnedValue Node::create(ExecutionEngine *v4, NodeImpl *data)
|
||||||
{
|
{
|
||||||
Scope scope(v4);
|
Scope scope(v4);
|
||||||
|
|
||||||
Scoped<Node> instance(scope, v4->memoryManager->allocObject<Node>(data));
|
Scoped<Node> instance(scope, v4->memoryManager->allocate<Node>(data));
|
||||||
ScopedObject p(scope);
|
ScopedObject p(scope);
|
||||||
|
|
||||||
switch (data->type) {
|
switch (data->type) {
|
||||||
|
@ -876,7 +876,7 @@ ReturnedValue Document::load(ExecutionEngine *v4, const QByteArray &data)
|
||||||
return Encode::null();
|
return Encode::null();
|
||||||
}
|
}
|
||||||
|
|
||||||
ScopedObject instance(scope, v4->memoryManager->allocObject<Node>(document));
|
ScopedObject instance(scope, v4->memoryManager->allocate<Node>(document));
|
||||||
document->release(); // the GC should own the NodeImpl via Node now
|
document->release(); // the GC should own the NodeImpl via Node now
|
||||||
ScopedObject p(scope);
|
ScopedObject p(scope);
|
||||||
instance->setPrototype((p = Document::prototype(v4)));
|
instance->setPrototype((p = Document::prototype(v4)));
|
||||||
|
@ -930,7 +930,7 @@ ReturnedValue NamedNodeMap::get(const Managed *m, String *name, bool *hasPropert
|
||||||
|
|
||||||
ReturnedValue NamedNodeMap::create(ExecutionEngine *v4, NodeImpl *data, const QList<NodeImpl *> &list)
|
ReturnedValue NamedNodeMap::create(ExecutionEngine *v4, NodeImpl *data, const QList<NodeImpl *> &list)
|
||||||
{
|
{
|
||||||
return (v4->memoryManager->allocObject<NamedNodeMap>(data, list))->asReturnedValue();
|
return (v4->memoryManager->allocate<NamedNodeMap>(data, list))->asReturnedValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
ReturnedValue NodeList::getIndexed(const Managed *m, uint index, bool *hasProperty)
|
ReturnedValue NodeList::getIndexed(const Managed *m, uint index, bool *hasProperty)
|
||||||
|
@ -964,7 +964,7 @@ ReturnedValue NodeList::get(const Managed *m, String *name, bool *hasProperty)
|
||||||
|
|
||||||
ReturnedValue NodeList::create(ExecutionEngine *v4, NodeImpl *data)
|
ReturnedValue NodeList::create(ExecutionEngine *v4, NodeImpl *data)
|
||||||
{
|
{
|
||||||
return (v4->memoryManager->allocObject<NodeList>(data))->asReturnedValue();
|
return (v4->memoryManager->allocate<NodeList>(data))->asReturnedValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
ReturnedValue Document::method_documentElement(const FunctionObject *b, const Value *thisObject, const Value *, int)
|
ReturnedValue Document::method_documentElement(const FunctionObject *b, const Value *thisObject, const Value *, int)
|
||||||
|
@ -1643,7 +1643,7 @@ struct QQmlXMLHttpRequestCtor : public FunctionObject
|
||||||
const QQmlXMLHttpRequestCtor *ctor = static_cast<const QQmlXMLHttpRequestCtor *>(f);
|
const QQmlXMLHttpRequestCtor *ctor = static_cast<const QQmlXMLHttpRequestCtor *>(f);
|
||||||
|
|
||||||
QQmlXMLHttpRequest *r = new QQmlXMLHttpRequest(scope.engine->v8Engine->networkAccessManager(), scope.engine);
|
QQmlXMLHttpRequest *r = new QQmlXMLHttpRequest(scope.engine->v8Engine->networkAccessManager(), scope.engine);
|
||||||
Scoped<QQmlXMLHttpRequestWrapper> w(scope, scope.engine->memoryManager->allocObject<QQmlXMLHttpRequestWrapper>(r));
|
Scoped<QQmlXMLHttpRequestWrapper> w(scope, scope.engine->memoryManager->allocate<QQmlXMLHttpRequestWrapper>(r));
|
||||||
ScopedObject proto(scope, ctor->d()->proto);
|
ScopedObject proto(scope, ctor->d()->proto);
|
||||||
w->setPrototype(proto);
|
w->setPrototype(proto);
|
||||||
return w.asReturnedValue();
|
return w.asReturnedValue();
|
||||||
|
@ -2049,7 +2049,7 @@ void *qt_add_qmlxmlhttprequest(ExecutionEngine *v4)
|
||||||
{
|
{
|
||||||
Scope scope(v4);
|
Scope scope(v4);
|
||||||
|
|
||||||
Scoped<QQmlXMLHttpRequestCtor> ctor(scope, v4->memoryManager->allocObject<QQmlXMLHttpRequestCtor>(v4));
|
Scoped<QQmlXMLHttpRequestCtor> ctor(scope, v4->memoryManager->allocate<QQmlXMLHttpRequestCtor>(v4));
|
||||||
ScopedString s(scope, v4->newString(QStringLiteral("XMLHttpRequest")));
|
ScopedString s(scope, v4->newString(QStringLiteral("XMLHttpRequest")));
|
||||||
v4->globalObject->defineReadonlyProperty(s, ctor);
|
v4->globalObject->defineReadonlyProperty(s, ctor);
|
||||||
|
|
||||||
|
|
|
@ -1418,7 +1418,7 @@ ReturnedValue QtObject::method_binding(const FunctionObject *b, const Value *, c
|
||||||
if (!f)
|
if (!f)
|
||||||
THROW_TYPE_ERROR_WITH_MESSAGE("binding(): argument (binding expression) must be a function");
|
THROW_TYPE_ERROR_WITH_MESSAGE("binding(): argument (binding expression) must be a function");
|
||||||
|
|
||||||
return Encode(scope.engine->memoryManager->allocObject<QQmlBindingFunction>(f));
|
return Encode(scope.engine->memoryManager->allocate<QQmlBindingFunction>(f));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1797,7 +1797,7 @@ void QV4::GlobalExtensions::init(Object *globalObject, QJSEngine::Extensions ext
|
||||||
globalObject->defineDefaultProperty(QStringLiteral("print"), QV4::ConsoleObject::method_log);
|
globalObject->defineDefaultProperty(QStringLiteral("print"), QV4::ConsoleObject::method_log);
|
||||||
|
|
||||||
|
|
||||||
QV4::ScopedObject console(scope, globalObject->engine()->memoryManager->allocObject<QV4::ConsoleObject>());
|
QV4::ScopedObject console(scope, globalObject->engine()->memoryManager->allocate<QV4::ConsoleObject>());
|
||||||
globalObject->defineDefaultProperty(QStringLiteral("console"), console);
|
globalObject->defineDefaultProperty(QStringLiteral("console"), console);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -188,7 +188,7 @@ void QV8Engine::initializeGlobal()
|
||||||
QV4::Scope scope(m_v4Engine);
|
QV4::Scope scope(m_v4Engine);
|
||||||
QV4::GlobalExtensions::init(m_v4Engine->globalObject, QJSEngine::AllExtensions);
|
QV4::GlobalExtensions::init(m_v4Engine->globalObject, QJSEngine::AllExtensions);
|
||||||
|
|
||||||
QV4::ScopedObject qt(scope, m_v4Engine->memoryManager->allocObject<QV4::QtObject>(m_engine));
|
QV4::ScopedObject qt(scope, m_v4Engine->memoryManager->allocate<QV4::QtObject>(m_engine));
|
||||||
m_v4Engine->globalObject->defineDefaultProperty(QStringLiteral("Qt"), qt);
|
m_v4Engine->globalObject->defineDefaultProperty(QStringLiteral("Qt"), qt);
|
||||||
|
|
||||||
#if QT_CONFIG(qml_locale)
|
#if QT_CONFIG(qml_locale)
|
||||||
|
|
|
@ -93,7 +93,7 @@ struct DelegateModelGroupFunction : QV4::FunctionObject
|
||||||
|
|
||||||
static Heap::DelegateModelGroupFunction *create(QV4::ExecutionContext *scope, uint flag, QV4::ReturnedValue (*code)(QQmlDelegateModelItem *item, uint flag, const QV4::Value &arg))
|
static Heap::DelegateModelGroupFunction *create(QV4::ExecutionContext *scope, uint flag, QV4::ReturnedValue (*code)(QQmlDelegateModelItem *item, uint flag, const QV4::Value &arg))
|
||||||
{
|
{
|
||||||
return scope->engine()->memoryManager->allocObject<DelegateModelGroupFunction>(scope, flag, code);
|
return scope->engine()->memoryManager->allocate<DelegateModelGroupFunction>(scope, flag, code);
|
||||||
}
|
}
|
||||||
|
|
||||||
static ReturnedValue call(const QV4::FunctionObject *that, const Value *thisObject, const Value *argv, int argc)
|
static ReturnedValue call(const QV4::FunctionObject *that, const Value *thisObject, const Value *argv, int argc)
|
||||||
|
@ -2521,7 +2521,7 @@ QQmlV4Handle QQmlDelegateModelGroup::get(int index)
|
||||||
model->m_cacheMetaType->initializePrototype();
|
model->m_cacheMetaType->initializePrototype();
|
||||||
QV4::ExecutionEngine *v4 = model->m_cacheMetaType->v4Engine;
|
QV4::ExecutionEngine *v4 = model->m_cacheMetaType->v4Engine;
|
||||||
QV4::Scope scope(v4);
|
QV4::Scope scope(v4);
|
||||||
QV4::ScopedObject o(scope, v4->memoryManager->allocObject<QQmlDelegateModelItemObject>(cacheItem));
|
QV4::ScopedObject o(scope, v4->memoryManager->allocate<QQmlDelegateModelItemObject>(cacheItem));
|
||||||
QV4::ScopedObject p(scope, model->m_cacheMetaType->modelItemProto.value());
|
QV4::ScopedObject p(scope, model->m_cacheMetaType->modelItemProto.value());
|
||||||
o->setPrototype(p);
|
o->setPrototype(p);
|
||||||
++cacheItem->scriptRef;
|
++cacheItem->scriptRef;
|
||||||
|
@ -3279,7 +3279,7 @@ struct QQmlDelegateModelGroupChange : QV4::Object
|
||||||
V4_OBJECT2(QQmlDelegateModelGroupChange, QV4::Object)
|
V4_OBJECT2(QQmlDelegateModelGroupChange, QV4::Object)
|
||||||
|
|
||||||
static QV4::Heap::QQmlDelegateModelGroupChange *create(QV4::ExecutionEngine *e) {
|
static QV4::Heap::QQmlDelegateModelGroupChange *create(QV4::ExecutionEngine *e) {
|
||||||
return e->memoryManager->allocObject<QQmlDelegateModelGroupChange>();
|
return e->memoryManager->allocate<QQmlDelegateModelGroupChange>();
|
||||||
}
|
}
|
||||||
|
|
||||||
static QV4::ReturnedValue method_get_index(const QV4::FunctionObject *b, const QV4::Value *thisObject, const QV4::Value *, int) {
|
static QV4::ReturnedValue method_get_index(const QV4::FunctionObject *b, const QV4::Value *thisObject, const QV4::Value *, int) {
|
||||||
|
@ -3316,7 +3316,7 @@ struct QQmlDelegateModelGroupChangeArray : public QV4::Object
|
||||||
public:
|
public:
|
||||||
static QV4::Heap::QQmlDelegateModelGroupChangeArray *create(QV4::ExecutionEngine *engine, const QVector<QQmlChangeSet::Change> &changes)
|
static QV4::Heap::QQmlDelegateModelGroupChangeArray *create(QV4::ExecutionEngine *engine, const QVector<QQmlChangeSet::Change> &changes)
|
||||||
{
|
{
|
||||||
return engine->memoryManager->allocObject<QQmlDelegateModelGroupChangeArray>(changes);
|
return engine->memoryManager->allocate<QQmlDelegateModelGroupChangeArray>(changes);
|
||||||
}
|
}
|
||||||
|
|
||||||
quint32 count() const { return d()->changes->count(); }
|
quint32 count() const { return d()->changes->count(); }
|
||||||
|
|
|
@ -2434,7 +2434,7 @@ QQmlV4Handle QQmlListModel::get(int index) const
|
||||||
QObject *object = m_listModel->getOrCreateModelObject(const_cast<QQmlListModel *>(this), index);
|
QObject *object = m_listModel->getOrCreateModelObject(const_cast<QQmlListModel *>(this), index);
|
||||||
QQmlData *ddata = QQmlData::get(object);
|
QQmlData *ddata = QQmlData::get(object);
|
||||||
if (ddata->jsWrapper.isNullOrUndefined()) {
|
if (ddata->jsWrapper.isNullOrUndefined()) {
|
||||||
result = scope.engine->memoryManager->allocObject<QV4::ModelObject>(object, const_cast<QQmlListModel *>(this));
|
result = scope.engine->memoryManager->allocate<QV4::ModelObject>(object, const_cast<QQmlListModel *>(this));
|
||||||
// Keep track of the QObjectWrapper in persistent value storage
|
// Keep track of the QObjectWrapper in persistent value storage
|
||||||
ddata->jsWrapper.set(scope.engine, result);
|
ddata->jsWrapper.set(scope.engine, result);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -228,8 +228,8 @@ public:
|
||||||
|
|
||||||
QV4::ScopedString name(scope, v4->newString(QString::fromUtf8(propertyName)));
|
QV4::ScopedString name(scope, v4->newString(QString::fromUtf8(propertyName)));
|
||||||
QV4::ExecutionContext *global = v4->rootContext();
|
QV4::ExecutionContext *global = v4->rootContext();
|
||||||
QV4::ScopedFunctionObject g(scope, v4->memoryManager->allocObject<QV4::IndexedBuiltinFunction>(global, propertyId, QQmlDMCachedModelData::get_property));
|
QV4::ScopedFunctionObject g(scope, v4->memoryManager->allocate<QV4::IndexedBuiltinFunction>(global, propertyId, QQmlDMCachedModelData::get_property));
|
||||||
QV4::ScopedFunctionObject s(scope, v4->memoryManager->allocObject<QV4::IndexedBuiltinFunction>(global, propertyId, QQmlDMCachedModelData::set_property));
|
QV4::ScopedFunctionObject s(scope, v4->memoryManager->allocate<QV4::IndexedBuiltinFunction>(global, propertyId, QQmlDMCachedModelData::set_property));
|
||||||
p->setGetter(g);
|
p->setGetter(g);
|
||||||
p->setSetter(s);
|
p->setSetter(s);
|
||||||
proto->insertMember(name, p, QV4::Attr_Accessor|QV4::Attr_NotEnumerable|QV4::Attr_NotConfigurable);
|
proto->insertMember(name, p, QV4::Attr_Accessor|QV4::Attr_NotEnumerable|QV4::Attr_NotConfigurable);
|
||||||
|
@ -442,7 +442,7 @@ public:
|
||||||
}
|
}
|
||||||
QV4::Scope scope(v4);
|
QV4::Scope scope(v4);
|
||||||
QV4::ScopedObject proto(scope, type->prototype.value());
|
QV4::ScopedObject proto(scope, type->prototype.value());
|
||||||
QV4::ScopedObject o(scope, proto->engine()->memoryManager->allocObject<QQmlDelegateModelItemObject>(this));
|
QV4::ScopedObject o(scope, proto->engine()->memoryManager->allocate<QQmlDelegateModelItemObject>(this));
|
||||||
o->setPrototype(proto);
|
o->setPrototype(proto);
|
||||||
++scriptRef;
|
++scriptRef;
|
||||||
return o.asReturnedValue();
|
return o.asReturnedValue();
|
||||||
|
@ -648,7 +648,7 @@ public:
|
||||||
{
|
{
|
||||||
QQmlAdaptorModelEngineData *data = engineData(v4);
|
QQmlAdaptorModelEngineData *data = engineData(v4);
|
||||||
QV4::Scope scope(v4);
|
QV4::Scope scope(v4);
|
||||||
QV4::ScopedObject o(scope, v4->memoryManager->allocObject<QQmlDelegateModelItemObject>(this));
|
QV4::ScopedObject o(scope, v4->memoryManager->allocate<QQmlDelegateModelItemObject>(this));
|
||||||
QV4::ScopedObject p(scope, data->listItemProto.value());
|
QV4::ScopedObject p(scope, data->listItemProto.value());
|
||||||
o->setPrototype(p);
|
o->setPrototype(p);
|
||||||
++scriptRef;
|
++scriptRef;
|
||||||
|
|
|
@ -596,7 +596,7 @@ public:
|
||||||
static QV4::Heap::QQuickJSContext2DPrototype *create(QV4::ExecutionEngine *engine)
|
static QV4::Heap::QQuickJSContext2DPrototype *create(QV4::ExecutionEngine *engine)
|
||||||
{
|
{
|
||||||
QV4::Scope scope(engine);
|
QV4::Scope scope(engine);
|
||||||
QV4::Scoped<QQuickJSContext2DPrototype> o(scope, engine->memoryManager->allocObject<QQuickJSContext2DPrototype>());
|
QV4::Scoped<QQuickJSContext2DPrototype> o(scope, engine->memoryManager->allocate<QQuickJSContext2DPrototype>());
|
||||||
|
|
||||||
o->defineDefaultProperty(QStringLiteral("quadraticCurveTo"), method_quadraticCurveTo, 0);
|
o->defineDefaultProperty(QStringLiteral("quadraticCurveTo"), method_quadraticCurveTo, 0);
|
||||||
o->defineDefaultProperty(QStringLiteral("restore"), method_restore, 0);
|
o->defineDefaultProperty(QStringLiteral("restore"), method_restore, 0);
|
||||||
|
@ -954,7 +954,7 @@ static QV4::ReturnedValue qt_create_image_data(qreal w, qreal h, QV4::ExecutionE
|
||||||
{
|
{
|
||||||
QV4::Scope scope(v4);
|
QV4::Scope scope(v4);
|
||||||
QQuickContext2DEngineData *ed = engineData(scope.engine);
|
QQuickContext2DEngineData *ed = engineData(scope.engine);
|
||||||
QV4::Scoped<QQuickJSContext2DPixelData> pixelData(scope, scope.engine->memoryManager->allocObject<QQuickJSContext2DPixelData>());
|
QV4::Scoped<QQuickJSContext2DPixelData> pixelData(scope, scope.engine->memoryManager->allocate<QQuickJSContext2DPixelData>());
|
||||||
QV4::ScopedObject p(scope, ed->pixelArrayProto.value());
|
QV4::ScopedObject p(scope, ed->pixelArrayProto.value());
|
||||||
pixelData->setPrototype(p);
|
pixelData->setPrototype(p);
|
||||||
|
|
||||||
|
@ -966,7 +966,7 @@ static QV4::ReturnedValue qt_create_image_data(qreal w, qreal h, QV4::ExecutionE
|
||||||
*pixelData->d()->image = image.format() == QImage::Format_ARGB32 ? image : image.convertToFormat(QImage::Format_ARGB32);
|
*pixelData->d()->image = image.format() == QImage::Format_ARGB32 ? image : image.convertToFormat(QImage::Format_ARGB32);
|
||||||
}
|
}
|
||||||
|
|
||||||
QV4::Scoped<QQuickJSContext2DImageData> imageData(scope, scope.engine->memoryManager->allocObject<QQuickJSContext2DImageData>());
|
QV4::Scoped<QQuickJSContext2DImageData> imageData(scope, scope.engine->memoryManager->allocate<QQuickJSContext2DImageData>());
|
||||||
imageData->d()->pixelData = pixelData.asReturnedValue();
|
imageData->d()->pixelData = pixelData.asReturnedValue();
|
||||||
return imageData.asReturnedValue();
|
return imageData.asReturnedValue();
|
||||||
}
|
}
|
||||||
|
@ -1582,7 +1582,7 @@ QV4::ReturnedValue QQuickJSContext2DPrototype::method_createLinearGradient(const
|
||||||
}
|
}
|
||||||
QQuickContext2DEngineData *ed = engineData(scope.engine);
|
QQuickContext2DEngineData *ed = engineData(scope.engine);
|
||||||
|
|
||||||
QV4::Scoped<QQuickContext2DStyle> gradient(scope, scope.engine->memoryManager->allocObject<QQuickContext2DStyle>());
|
QV4::Scoped<QQuickContext2DStyle> gradient(scope, scope.engine->memoryManager->allocate<QQuickContext2DStyle>());
|
||||||
QV4::ScopedObject p(scope, ed->gradientProto.value());
|
QV4::ScopedObject p(scope, ed->gradientProto.value());
|
||||||
gradient->setPrototype(p);
|
gradient->setPrototype(p);
|
||||||
*gradient->d()->brush = QLinearGradient(x0, y0, x1, y1);
|
*gradient->d()->brush = QLinearGradient(x0, y0, x1, y1);
|
||||||
|
@ -1634,7 +1634,7 @@ QV4::ReturnedValue QQuickJSContext2DPrototype::method_createRadialGradient(const
|
||||||
|
|
||||||
QQuickContext2DEngineData *ed = engineData(scope.engine);
|
QQuickContext2DEngineData *ed = engineData(scope.engine);
|
||||||
|
|
||||||
QV4::Scoped<QQuickContext2DStyle> gradient(scope, scope.engine->memoryManager->allocObject<QQuickContext2DStyle>());
|
QV4::Scoped<QQuickContext2DStyle> gradient(scope, scope.engine->memoryManager->allocate<QQuickContext2DStyle>());
|
||||||
QV4::ScopedObject p(scope, ed->gradientProto.value());
|
QV4::ScopedObject p(scope, ed->gradientProto.value());
|
||||||
gradient->setPrototype(p);
|
gradient->setPrototype(p);
|
||||||
*gradient->d()->brush = QRadialGradient(QPointF(x1, y1), r0+r1, QPointF(x0, y0));
|
*gradient->d()->brush = QRadialGradient(QPointF(x1, y1), r0+r1, QPointF(x0, y0));
|
||||||
|
@ -1678,7 +1678,7 @@ QV4::ReturnedValue QQuickJSContext2DPrototype::method_createConicalGradient(cons
|
||||||
|
|
||||||
QQuickContext2DEngineData *ed = engineData(scope.engine);
|
QQuickContext2DEngineData *ed = engineData(scope.engine);
|
||||||
|
|
||||||
QV4::Scoped<QQuickContext2DStyle> gradient(scope, scope.engine->memoryManager->allocObject<QQuickContext2DStyle>());
|
QV4::Scoped<QQuickContext2DStyle> gradient(scope, scope.engine->memoryManager->allocate<QQuickContext2DStyle>());
|
||||||
QV4::ScopedObject p(scope, ed->gradientProto.value());
|
QV4::ScopedObject p(scope, ed->gradientProto.value());
|
||||||
gradient->setPrototype(p);
|
gradient->setPrototype(p);
|
||||||
*gradient->d()->brush = QConicalGradient(x, y, angle);
|
*gradient->d()->brush = QConicalGradient(x, y, angle);
|
||||||
|
@ -1738,7 +1738,7 @@ QV4::ReturnedValue QQuickJSContext2DPrototype::method_createPattern(const QV4::F
|
||||||
CHECK_CONTEXT(r)
|
CHECK_CONTEXT(r)
|
||||||
|
|
||||||
if (argc >= 2) {
|
if (argc >= 2) {
|
||||||
QV4::Scoped<QQuickContext2DStyle> pattern(scope, scope.engine->memoryManager->allocObject<QQuickContext2DStyle>());
|
QV4::Scoped<QQuickContext2DStyle> pattern(scope, scope.engine->memoryManager->allocate<QQuickContext2DStyle>());
|
||||||
|
|
||||||
QColor color = scope.engine->toVariant(argv[0], qMetaTypeId<QColor>()).value<QColor>();
|
QColor color = scope.engine->toVariant(argv[0], qMetaTypeId<QColor>()).value<QColor>();
|
||||||
if (color.isValid()) {
|
if (color.isValid()) {
|
||||||
|
@ -4399,7 +4399,7 @@ void QQuickContext2D::setV4Engine(QV4::ExecutionEngine *engine)
|
||||||
|
|
||||||
QQuickContext2DEngineData *ed = engineData(engine);
|
QQuickContext2DEngineData *ed = engineData(engine);
|
||||||
QV4::Scope scope(engine);
|
QV4::Scope scope(engine);
|
||||||
QV4::Scoped<QQuickJSContext2D> wrapper(scope, engine->memoryManager->allocObject<QQuickJSContext2D>());
|
QV4::Scoped<QQuickJSContext2D> wrapper(scope, engine->memoryManager->allocate<QQuickJSContext2D>());
|
||||||
QV4::ScopedObject p(scope, ed->contextPrototype.value());
|
QV4::ScopedObject p(scope, ed->contextPrototype.value());
|
||||||
wrapper->setPrototype(p);
|
wrapper->setPrototype(p);
|
||||||
wrapper->d()->context = this;
|
wrapper->d()->context = this;
|
||||||
|
|
|
@ -8677,7 +8677,7 @@ void QV4::Heap::QQuickItemWrapper::markObjects(QV4::Heap::Base *that, QV4::MarkS
|
||||||
|
|
||||||
quint64 QQuickItemPrivate::_q_createJSWrapper(QV4::ExecutionEngine *engine)
|
quint64 QQuickItemPrivate::_q_createJSWrapper(QV4::ExecutionEngine *engine)
|
||||||
{
|
{
|
||||||
return (engine->memoryManager->allocObject<QQuickItemWrapper>(q_func()))->asReturnedValue();
|
return (engine->memoryManager->allocate<QQuickItemWrapper>(q_func()))->asReturnedValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
|
|
@ -7388,7 +7388,7 @@ void tst_qqmlecmascript::onDestructionViaGC()
|
||||||
QVERIFY2(!weakReferenceMutator.isNull(), qPrintable(component.errorString()));
|
QVERIFY2(!weakReferenceMutator.isNull(), qPrintable(component.errorString()));
|
||||||
weakReferenceMutator->init(v4, weakRef.data(), &mutatorResult);
|
weakReferenceMutator->init(v4, weakRef.data(), &mutatorResult);
|
||||||
|
|
||||||
v4->memoryManager->allocObject<QV4::WeakReferenceSentinel>(weakRef.data(), &sentinelResult);
|
v4->memoryManager->allocate<QV4::WeakReferenceSentinel>(weakRef.data(), &sentinelResult);
|
||||||
}
|
}
|
||||||
gc(engine);
|
gc(engine);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue