aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2014-11-14 09:31:59 +0100
committerSimon Hausmann <simon.hausmann@digia.com>2014-11-22 07:56:58 +0100
commit6d2904ce547757fa554cdab6724a088c80abf5ac (patch)
treef3cd50654b8a140d843656961d107db6231bdce3 /src
parent9f717b650ea0a7efc4240240f957beba8d027bda (diff)
Remove two reinterpret_casts in Object
Change-Id: I921cd8129acb47cffd58be9551a6925c4f296d41 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src')
-rw-r--r--src/qml/jsruntime/qv4argumentsobject.cpp4
-rw-r--r--src/qml/jsruntime/qv4functionobject.cpp6
-rw-r--r--src/qml/jsruntime/qv4functionobject_p.h2
-rw-r--r--src/qml/jsruntime/qv4internalclass.cpp6
-rw-r--r--src/qml/jsruntime/qv4lookup.cpp56
-rw-r--r--src/qml/jsruntime/qv4object.cpp10
-rw-r--r--src/qml/jsruntime/qv4object_p.h10
-rw-r--r--src/qml/jsruntime/qv4regexpobject.cpp4
-rw-r--r--src/qml/jsruntime/qv4runtime.cpp2
9 files changed, 50 insertions, 50 deletions
diff --git a/src/qml/jsruntime/qv4argumentsobject.cpp b/src/qml/jsruntime/qv4argumentsobject.cpp
index 14f9b0e68a..78c8d6fccf 100644
--- a/src/qml/jsruntime/qv4argumentsobject.cpp
+++ b/src/qml/jsruntime/qv4argumentsobject.cpp
@@ -65,10 +65,10 @@ Heap::ArgumentsObject::ArgumentsObject(QV4::CallContext *context)
} else {
args->setHasAccessorProperty();
Q_ASSERT(CalleePropertyIndex == args->internalClass()->find(context->d()->engine->id_callee));
- args->memberData()->data()[CalleePropertyIndex] = context->d()->function->asReturnedValue();
+ args->memberData()->data[CalleePropertyIndex] = context->d()->function->asReturnedValue();
}
Q_ASSERT(LengthPropertyIndex == args->internalClass()->find(context->d()->engine->id_length));
- args->memberData()->data()[LengthPropertyIndex] = Primitive::fromInt32(context->d()->realArgumentCount);
+ args->memberData()->data[LengthPropertyIndex] = Primitive::fromInt32(context->d()->realArgumentCount);
}
void ArgumentsObject::fullyCreate()
diff --git a/src/qml/jsruntime/qv4functionobject.cpp b/src/qml/jsruntime/qv4functionobject.cpp
index 7c2ab2cc80..ea82923cc5 100644
--- a/src/qml/jsruntime/qv4functionobject.cpp
+++ b/src/qml/jsruntime/qv4functionobject.cpp
@@ -150,10 +150,10 @@ void FunctionObject::init(String *n, bool createProto)
if (createProto) {
Scoped<Object> proto(s, scope()->engine->newObject(scope()->engine->protoClass));
proto->ensureMemberIndex(s.engine, Heap::FunctionObject::Index_ProtoConstructor);
- proto->memberData()->data()[Heap::FunctionObject::Index_ProtoConstructor] = this->asReturnedValue();
- memberData()->data()[Heap::FunctionObject::Index_Prototype] = proto.asReturnedValue();
+ proto->memberData()->data[Heap::FunctionObject::Index_ProtoConstructor] = this->asReturnedValue();
+ memberData()->data[Heap::FunctionObject::Index_Prototype] = proto.asReturnedValue();
} else {
- memberData()->data()[Heap::FunctionObject::Index_Prototype] = Encode::undefined();
+ memberData()->data[Heap::FunctionObject::Index_Prototype] = Encode::undefined();
}
ScopedValue v(s, n);
diff --git a/src/qml/jsruntime/qv4functionobject_p.h b/src/qml/jsruntime/qv4functionobject_p.h
index 1621e52b4f..711b16a498 100644
--- a/src/qml/jsruntime/qv4functionobject_p.h
+++ b/src/qml/jsruntime/qv4functionobject_p.h
@@ -139,7 +139,7 @@ struct Q_QML_EXPORT FunctionObject: Object {
static Heap::FunctionObject *createScriptFunction(ExecutionContext *scope, Function *function, bool createProto = true);
- ReturnedValue protoProperty() { return memberData()->data()[Heap::FunctionObject::Index_Prototype].asReturnedValue(); }
+ ReturnedValue protoProperty() { return memberData()->data[Heap::FunctionObject::Index_Prototype].asReturnedValue(); }
bool needsActivation() const { return d()->needsActivation; }
bool strictMode() const { return d()->strictMode; }
diff --git a/src/qml/jsruntime/qv4internalclass.cpp b/src/qml/jsruntime/qv4internalclass.cpp
index bd76fa6ec7..f24263a251 100644
--- a/src/qml/jsruntime/qv4internalclass.cpp
+++ b/src/qml/jsruntime/qv4internalclass.cpp
@@ -153,10 +153,10 @@ void InternalClass::changeMember(Object *object, String *string, PropertyAttribu
if (newClass->size > object->internalClass()->size) {
Q_ASSERT(newClass->size == object->internalClass()->size + 1);
- memmove(object->memberData()->data() + idx + 2, object->memberData()->data() + idx + 1, (object->internalClass()->size - idx - 1)*sizeof(Value));
+ memmove(object->memberData()->data + idx + 2, object->memberData()->data + idx + 1, (object->internalClass()->size - idx - 1)*sizeof(Value));
} else if (newClass->size < object->internalClass()->size) {
Q_ASSERT(newClass->size == object->internalClass()->size - 1);
- memmove(object->memberData()->data() + idx + 1, object->memberData()->data() + idx + 2, (object->internalClass()->size - idx - 2)*sizeof(Value));
+ memmove(object->memberData()->data + idx + 1, object->memberData()->data + idx + 2, (object->internalClass()->size - idx - 2)*sizeof(Value));
}
object->setInternalClass(newClass);
}
@@ -351,7 +351,7 @@ void InternalClass::removeMember(Object *object, Identifier *id)
}
// remove the entry in memberdata
- memmove(object->memberData()->data() + propIdx, object->memberData()->data() + propIdx + 1, (object->internalClass()->size - propIdx)*sizeof(Value));
+ memmove(object->memberData()->data + propIdx, object->memberData()->data + propIdx + 1, (object->internalClass()->size - propIdx)*sizeof(Value));
oldClass->transitions.insert(t, object->internalClass());
}
diff --git a/src/qml/jsruntime/qv4lookup.cpp b/src/qml/jsruntime/qv4lookup.cpp
index 97270a3655..f153c92163 100644
--- a/src/qml/jsruntime/qv4lookup.cpp
+++ b/src/qml/jsruntime/qv4lookup.cpp
@@ -51,7 +51,7 @@ ReturnedValue Lookup::lookup(ValueRef thisObject, Object *obj, PropertyAttribute
if (index != UINT_MAX) {
level = i;
*attrs = obj->internalClass()->propertyData.at(index);
- return !attrs->isAccessor() ? obj->memberData()->data()[index].asReturnedValue() : obj->getValue(thisObject, obj->propertyAt(index), *attrs);
+ return !attrs->isAccessor() ? obj->memberData()->data[index].asReturnedValue() : obj->getValue(thisObject, obj->propertyAt(index), *attrs);
}
obj = obj->prototype();
@@ -63,7 +63,7 @@ ReturnedValue Lookup::lookup(ValueRef thisObject, Object *obj, PropertyAttribute
index = obj->internalClass()->find(name);
if (index != UINT_MAX) {
*attrs = obj->internalClass()->propertyData.at(index);
- return !attrs->isAccessor() ? obj->memberData()->data()[index].asReturnedValue() : obj->getValue(thisObject, obj->propertyAt(index), *attrs);
+ return !attrs->isAccessor() ? obj->memberData()->data[index].asReturnedValue() : obj->getValue(thisObject, obj->propertyAt(index), *attrs);
}
obj = obj->prototype();
@@ -84,7 +84,7 @@ ReturnedValue Lookup::lookup(Object *obj, PropertyAttributes *attrs)
if (index != UINT_MAX) {
level = i;
*attrs = obj->internalClass()->propertyData.at(index);
- return !attrs->isAccessor() ? obj->memberData()->data()[index].asReturnedValue() : thisObject->getValue(obj->propertyAt(index), *attrs);
+ return !attrs->isAccessor() ? obj->memberData()->data[index].asReturnedValue() : thisObject->getValue(obj->propertyAt(index), *attrs);
}
obj = obj->prototype();
@@ -96,7 +96,7 @@ ReturnedValue Lookup::lookup(Object *obj, PropertyAttributes *attrs)
index = obj->internalClass()->find(name);
if (index != UINT_MAX) {
*attrs = obj->internalClass()->propertyData.at(index);
- return !attrs->isAccessor() ? obj->memberData()->data()[index].asReturnedValue() : thisObject->getValue(obj->propertyAt(index), *attrs);
+ return !attrs->isAccessor() ? obj->memberData()->data[index].asReturnedValue() : thisObject->getValue(obj->propertyAt(index), *attrs);
}
obj = obj->prototype();
@@ -338,7 +338,7 @@ ReturnedValue Lookup::getter0(Lookup *l, ExecutionEngine *engine, const ValueRef
// the internal class won't match
Object *o = object->objectValue();
if (l->classList[0] == o->internalClass())
- return o->memberData()->data()[l->index].asReturnedValue();
+ return o->memberData()->data[l->index].asReturnedValue();
}
return getterTwoClasses(l, engine, object);
}
@@ -351,7 +351,7 @@ ReturnedValue Lookup::getter1(Lookup *l, ExecutionEngine *engine, const ValueRef
Object *o = object->objectValue();
if (l->classList[0] == o->internalClass() &&
l->classList[1] == o->prototype()->internalClass())
- return o->prototype()->memberData()->data()[l->index].asReturnedValue();
+ return o->prototype()->memberData()->data[l->index].asReturnedValue();
}
return getterTwoClasses(l, engine, object);
}
@@ -367,7 +367,7 @@ ReturnedValue Lookup::getter2(Lookup *l, ExecutionEngine *engine, const ValueRef
if (l->classList[1] == o->internalClass()) {
o = o->prototype();
if (l->classList[2] == o->internalClass())
- return o->memberData()->data()[l->index].asReturnedValue();
+ return o->memberData()->data[l->index].asReturnedValue();
}
}
}
@@ -382,9 +382,9 @@ ReturnedValue Lookup::getter0getter0(Lookup *l, ExecutionEngine *engine, const V
// the internal class won't match
Object *o = object->objectValue();
if (l->classList[0] == o->internalClass())
- return o->memberData()->data()[l->index].asReturnedValue();
+ return o->memberData()->data[l->index].asReturnedValue();
if (l->classList[2] == o->internalClass())
- return o->memberData()->data()[l->index2].asReturnedValue();
+ return o->memberData()->data[l->index2].asReturnedValue();
}
l->getter = getterFallback;
return getterFallback(l, engine, object);
@@ -397,10 +397,10 @@ ReturnedValue Lookup::getter0getter1(Lookup *l, ExecutionEngine *engine, const V
// the internal class won't match
Object *o = object->objectValue();
if (l->classList[0] == o->internalClass())
- return o->memberData()->data()[l->index].asReturnedValue();
+ return o->memberData()->data[l->index].asReturnedValue();
if (l->classList[2] == o->internalClass() &&
l->classList[3] == o->prototype()->internalClass())
- return o->prototype()->memberData()->data()[l->index2].asReturnedValue();
+ return o->prototype()->memberData()->data[l->index2].asReturnedValue();
}
l->getter = getterFallback;
return getterFallback(l, engine, object);
@@ -414,10 +414,10 @@ ReturnedValue Lookup::getter1getter1(Lookup *l, ExecutionEngine *engine, const V
Object *o = object->objectValue();
if (l->classList[0] == o->internalClass() &&
l->classList[1] == o->prototype()->internalClass())
- return o->prototype()->memberData()->data()[l->index].asReturnedValue();
+ return o->prototype()->memberData()->data[l->index].asReturnedValue();
if (l->classList[2] == o->internalClass() &&
l->classList[3] == o->prototype()->internalClass())
- return o->prototype()->memberData()->data()[l->index2].asReturnedValue();
+ return o->prototype()->memberData()->data[l->index2].asReturnedValue();
return getterFallback(l, engine, object);
}
l->getter = getterFallback;
@@ -500,7 +500,7 @@ ReturnedValue Lookup::primitiveGetter0(Lookup *l, ExecutionEngine *engine, const
if (object->type() == l->type) {
Object *o = l->proto;
if (l->classList[0] == o->internalClass())
- return o->memberData()->data()[l->index].asReturnedValue();
+ return o->memberData()->data[l->index].asReturnedValue();
}
l->getter = getterGeneric;
return getterGeneric(l, engine, object);
@@ -512,7 +512,7 @@ ReturnedValue Lookup::primitiveGetter1(Lookup *l, ExecutionEngine *engine, const
Object *o = l->proto;
if (l->classList[0] == o->internalClass() &&
l->classList[1] == o->prototype()->internalClass())
- return o->prototype()->memberData()->data()[l->index].asReturnedValue();
+ return o->prototype()->memberData()->data[l->index].asReturnedValue();
}
l->getter = getterGeneric;
return getterGeneric(l, engine, object);
@@ -569,7 +569,7 @@ ReturnedValue Lookup::stringLengthGetter(Lookup *l, ExecutionEngine *engine, con
ReturnedValue Lookup::arrayLengthGetter(Lookup *l, ExecutionEngine *engine, const ValueRef object)
{
if (ArrayObject *a = object->asArrayObject())
- return a->memberData()->data()[Heap::ArrayObject::LengthPropertyIndex].asReturnedValue();
+ return a->memberData()->data[Heap::ArrayObject::LengthPropertyIndex].asReturnedValue();
l->getter = getterGeneric;
return getterGeneric(l, engine, object);
@@ -609,7 +609,7 @@ ReturnedValue Lookup::globalGetter0(Lookup *l, ExecutionEngine *engine)
{
Object *o = engine->globalObject;
if (l->classList[0] == o->internalClass())
- return o->memberData()->data()[l->index].asReturnedValue();
+ return o->memberData()->data[l->index].asReturnedValue();
l->globalGetter = globalGetterGeneric;
return globalGetterGeneric(l, engine);
@@ -620,7 +620,7 @@ ReturnedValue Lookup::globalGetter1(Lookup *l, ExecutionEngine *engine)
Object *o = engine->globalObject;
if (l->classList[0] == o->internalClass() &&
l->classList[1] == o->prototype()->internalClass())
- return o->prototype()->memberData()->data()[l->index].asReturnedValue();
+ return o->prototype()->memberData()->data[l->index].asReturnedValue();
l->globalGetter = globalGetterGeneric;
return globalGetterGeneric(l, engine);
@@ -634,7 +634,7 @@ ReturnedValue Lookup::globalGetter2(Lookup *l, ExecutionEngine *engine)
if (l->classList[1] == o->internalClass()) {
o = o->prototype();
if (l->classList[2] == o->internalClass()) {
- return o->prototype()->memberData()->data()[l->index].asReturnedValue();
+ return o->prototype()->memberData()->data[l->index].asReturnedValue();
}
}
}
@@ -748,7 +748,7 @@ void Lookup::setter0(Lookup *l, ExecutionEngine *engine, const ValueRef object,
{
Object *o = static_cast<Object *>(object->asManaged());
if (o && o->internalClass() == l->classList[0]) {
- o->memberData()->data()[l->index] = *value;
+ o->memberData()->data[l->index] = *value;
return;
}
@@ -760,9 +760,9 @@ void Lookup::setterInsert0(Lookup *l, ExecutionEngine *engine, const ValueRef ob
Object *o = static_cast<Object *>(object->asManaged());
if (o && o->internalClass() == l->classList[0]) {
if (!o->prototype()) {
- if (!o->memberData() || l->index >= o->memberData()->size())
+ if (!o->memberData() || l->index >= o->memberData()->size)
o->ensureMemberIndex(l->index);
- o->memberData()->data()[l->index] = *value;
+ o->memberData()->data[l->index] = *value;
o->setInternalClass(l->classList[3]);
return;
}
@@ -778,9 +778,9 @@ void Lookup::setterInsert1(Lookup *l, ExecutionEngine *engine, const ValueRef ob
if (o && o->internalClass() == l->classList[0]) {
Object *p = o->prototype();
if (p && p->internalClass() == l->classList[1]) {
- if (!o->memberData() || l->index >= o->memberData()->size())
+ if (!o->memberData() || l->index >= o->memberData()->size)
o->ensureMemberIndex(l->index);
- o->memberData()->data()[l->index] = *value;
+ o->memberData()->data[l->index] = *value;
o->setInternalClass(l->classList[3]);
return;
}
@@ -798,9 +798,9 @@ void Lookup::setterInsert2(Lookup *l, ExecutionEngine *engine, const ValueRef ob
if (p && p->internalClass() == l->classList[1]) {
p = p->prototype();
if (p && p->internalClass() == l->classList[2]) {
- if (!o->memberData() || l->index >= o->memberData()->size())
+ if (!o->memberData() || l->index >= o->memberData()->size)
o->ensureMemberIndex(l->index);
- o->memberData()->data()[l->index] = *value;
+ o->memberData()->data[l->index] = *value;
o->setInternalClass(l->classList[3]);
return;
}
@@ -816,11 +816,11 @@ void Lookup::setter0setter0(Lookup *l, ExecutionEngine *engine, const ValueRef o
Object *o = static_cast<Object *>(object->asManaged());
if (o) {
if (o->internalClass() == l->classList[0]) {
- o->memberData()->data()[l->index] = *value;
+ o->memberData()->data[l->index] = *value;
return;
}
if (o->internalClass() == l->classList[1]) {
- o->memberData()->data()[l->index2] = *value;
+ o->memberData()->data[l->index2] = *value;
return;
}
}
diff --git a/src/qml/jsruntime/qv4object.cpp b/src/qml/jsruntime/qv4object.cpp
index 78614eeffb..755f6993ac 100644
--- a/src/qml/jsruntime/qv4object.cpp
+++ b/src/qml/jsruntime/qv4object.cpp
@@ -468,7 +468,7 @@ void Object::setLookup(Managed *m, Lookup *l, const ValueRef value)
l->classList[0] = o->internalClass();
l->index = idx;
l->setter = Lookup::setter0;
- o->memberData()->data()[idx] = *value;
+ o->memberData()->data[idx] = *value;
return;
}
@@ -1158,7 +1158,7 @@ ReturnedValue ArrayObject::getLookup(Managed *m, Lookup *l)
// special case, as the property is on the object itself
l->getter = Lookup::arrayLengthGetter;
ArrayObject *a = static_cast<ArrayObject *>(m);
- return a->memberData()->data()[Heap::ArrayObject::LengthPropertyIndex].asReturnedValue();
+ return a->memberData()->data[Heap::ArrayObject::LengthPropertyIndex].asReturnedValue();
}
return Object::getLookup(m, l);
}
@@ -1166,9 +1166,9 @@ ReturnedValue ArrayObject::getLookup(Managed *m, Lookup *l)
uint ArrayObject::getLength(const Managed *m)
{
const ArrayObject *a = static_cast<const ArrayObject *>(m);
- if (a->memberData()->data()[Heap::ArrayObject::LengthPropertyIndex].isInteger())
- return a->memberData()->data()[Heap::ArrayObject::LengthPropertyIndex].integerValue();
- return Primitive::toUInt32(a->memberData()->data()[Heap::ArrayObject::LengthPropertyIndex].doubleValue());
+ if (a->memberData()->data[Heap::ArrayObject::LengthPropertyIndex].isInteger())
+ return a->memberData()->data[Heap::ArrayObject::LengthPropertyIndex].integerValue();
+ return Primitive::toUInt32(a->memberData()->data[Heap::ArrayObject::LengthPropertyIndex].doubleValue());
}
QStringList ArrayObject::toQStringList() const
diff --git a/src/qml/jsruntime/qv4object_p.h b/src/qml/jsruntime/qv4object_p.h
index e3c3e37d70..2e2d433850 100644
--- a/src/qml/jsruntime/qv4object_p.h
+++ b/src/qml/jsruntime/qv4object_p.h
@@ -96,14 +96,14 @@ struct Q_QML_EXPORT Object: Managed {
IsObject = true
};
+ Heap::MemberData *memberData() { return d()->memberData; }
+ const Heap::MemberData *memberData() const { return d()->memberData; }
// ### GC
- MemberData *memberData() { return reinterpret_cast<MemberData *>(d()->memberData); }
- const MemberData *memberData() const { return reinterpret_cast<const MemberData *>(d()->memberData); }
ArrayData *arrayData() const { return reinterpret_cast<ArrayData *>(d()->arrayData); }
void setArrayData(ArrayData *a) { d()->arrayData = a->d(); }
- const Property *propertyAt(uint index) const { return reinterpret_cast<const Property *>(memberData()->data() + index); }
- Property *propertyAt(uint index) { return reinterpret_cast<Property *>(memberData()->data() + index); }
+ const Property *propertyAt(uint index) const { return reinterpret_cast<const Property *>(memberData()->data + index); }
+ Property *propertyAt(uint index) { return reinterpret_cast<Property *>(memberData()->data + index); }
const ObjectVTable *vtable() const { return reinterpret_cast<const ObjectVTable *>(internalClass()->vtable); }
Object *prototype() const { return internalClass()->prototype; }
@@ -339,7 +339,7 @@ struct ArrayObject: Object {
inline void Object::setArrayLengthUnchecked(uint l)
{
if (isArrayObject())
- memberData()->data()[Heap::ArrayObject::LengthPropertyIndex] = Primitive::fromUInt32(l);
+ memberData()->data[Heap::ArrayObject::LengthPropertyIndex] = Primitive::fromUInt32(l);
}
inline void Object::push_back(const ValueRef v)
diff --git a/src/qml/jsruntime/qv4regexpobject.cpp b/src/qml/jsruntime/qv4regexpobject.cpp
index 0c6965ec84..7758cd8483 100644
--- a/src/qml/jsruntime/qv4regexpobject.cpp
+++ b/src/qml/jsruntime/qv4regexpobject.cpp
@@ -391,8 +391,8 @@ ReturnedValue RegExpPrototype::method_exec(CallContext *ctx)
array->arrayPut(i, v);
}
array->setArrayLengthUnchecked(len);
- array->memberData()->data()[Index_ArrayIndex] = Primitive::fromInt32(result);
- array->memberData()->data()[Index_ArrayInput] = arg.asReturnedValue();
+ array->memberData()->data[Index_ArrayIndex] = Primitive::fromInt32(result);
+ array->memberData()->data[Index_ArrayInput] = arg.asReturnedValue();
RegExpCtor::Data *dd = regExpCtor->d();
dd->lastMatch = array;
diff --git a/src/qml/jsruntime/qv4runtime.cpp b/src/qml/jsruntime/qv4runtime.cpp
index eab8498539..2aaf77b218 100644
--- a/src/qml/jsruntime/qv4runtime.cpp
+++ b/src/qml/jsruntime/qv4runtime.cpp
@@ -1196,7 +1196,7 @@ ReturnedValue Runtime::objectLiteral(ExecutionEngine *engine, const QV4::Value *
}
for (uint i = 0; i < klass->size; ++i)
- o->memberData()->data()[i] = *args++;
+ o->memberData()->data[i] = *args++;
if (arrayValueCount > 0) {
ScopedValue entry(scope);