Get rid of CallDataRef
authorLars Knoll <lars.knoll@digia.com>
Thu, 8 May 2014 06:52:14 +0000 (08:52 +0200)
committerSimon Hausmann <simon.hausmann@digia.com>
Tue, 22 Jul 2014 11:49:14 +0000 (13:49 +0200)
The class didn't really add any value.

Change-Id: Ibd63c9b9b1fa3be6bfe8a70ca7fd4d6bf0c0019c
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
src/qml/jsruntime/qv4runtime.cpp
src/qml/jsruntime/qv4runtime_p.h
src/qml/jsruntime/qv4scopedvalue_p.h

index 72d60e4..1df2ca9 100644 (file)
@@ -866,7 +866,7 @@ QV4::Bool Runtime::compareLessEqual(const QV4::ValueRef l, const QV4::ValueRef r
 }
 
 #ifndef V4_BOOTSTRAP
-ReturnedValue Runtime::callGlobalLookup(ExecutionContext *context, uint index, CallDataRef callData)
+ReturnedValue Runtime::callGlobalLookup(ExecutionContext *context, uint index, CallData *callData)
 {
     Scope scope(context);
     Q_ASSERT(callData->thisObject.isUndefined());
@@ -883,7 +883,7 @@ ReturnedValue Runtime::callGlobalLookup(ExecutionContext *context, uint index, C
 }
 
 
-ReturnedValue Runtime::callActivationProperty(ExecutionContext *context, String *name, CallDataRef callData)
+ReturnedValue Runtime::callActivationProperty(ExecutionContext *context, String *name, CallData *callData)
 {
     Q_ASSERT(callData->thisObject.isUndefined());
     Scope scope(context);
@@ -912,7 +912,7 @@ ReturnedValue Runtime::callActivationProperty(ExecutionContext *context, String
     return o->call(callData);
 }
 
-ReturnedValue Runtime::callProperty(ExecutionContext *context, String *name, CallDataRef callData)
+ReturnedValue Runtime::callProperty(ExecutionContext *context, String *name, CallData *callData)
 {
     Scope scope(context);
     Scoped<Object> baseObject(scope, callData->thisObject);
@@ -938,7 +938,7 @@ ReturnedValue Runtime::callProperty(ExecutionContext *context, String *name, Cal
     return o->call(callData);
 }
 
-ReturnedValue Runtime::callPropertyLookup(ExecutionContext *context, uint index, CallDataRef callData)
+ReturnedValue Runtime::callPropertyLookup(ExecutionContext *context, uint index, CallData *callData)
 {
     Lookup *l = context->d()->lookups + index;
     Value v;
@@ -949,7 +949,7 @@ ReturnedValue Runtime::callPropertyLookup(ExecutionContext *context, uint index,
     return v.objectValue()->call(callData);
 }
 
-ReturnedValue Runtime::callElement(ExecutionContext *context, const ValueRef index, CallDataRef callData)
+ReturnedValue Runtime::callElement(ExecutionContext *context, const ValueRef index, CallData *callData)
 {
     Scope scope(context);
     ScopedObject baseObject(scope, callData->thisObject.toObject(context));
@@ -966,7 +966,7 @@ ReturnedValue Runtime::callElement(ExecutionContext *context, const ValueRef ind
     return o->call(callData);
 }
 
-ReturnedValue Runtime::callValue(ExecutionContext *context, const ValueRef func, CallDataRef callData)
+ReturnedValue Runtime::callValue(ExecutionContext *context, const ValueRef func, CallData *callData)
 {
     if (!func->isObject())
         return context->throwTypeError();
@@ -975,7 +975,7 @@ ReturnedValue Runtime::callValue(ExecutionContext *context, const ValueRef func,
 }
 
 
-ReturnedValue Runtime::constructGlobalLookup(ExecutionContext *context, uint index, CallDataRef callData)
+ReturnedValue Runtime::constructGlobalLookup(ExecutionContext *context, uint index, CallData *callData)
 {
     Scope scope(context);
     Q_ASSERT(callData->thisObject.isUndefined());
@@ -989,7 +989,7 @@ ReturnedValue Runtime::constructGlobalLookup(ExecutionContext *context, uint ind
 }
 
 
-ReturnedValue Runtime::constructActivationProperty(ExecutionContext *context, String *name, CallDataRef callData)
+ReturnedValue Runtime::constructActivationProperty(ExecutionContext *context, String *name, CallData *callData)
 {
     Scope scope(context);
     ScopedValue func(scope, context->getProperty(name));
@@ -1003,7 +1003,7 @@ ReturnedValue Runtime::constructActivationProperty(ExecutionContext *context, St
     return f->construct(callData);
 }
 
-ReturnedValue Runtime::constructValue(ExecutionContext *context, const ValueRef func, CallDataRef callData)
+ReturnedValue Runtime::constructValue(ExecutionContext *context, const ValueRef func, CallData *callData)
 {
     Object *f = func->asObject();
     if (!f)
@@ -1012,7 +1012,7 @@ ReturnedValue Runtime::constructValue(ExecutionContext *context, const ValueRef
     return f->construct(callData);
 }
 
-ReturnedValue Runtime::constructProperty(ExecutionContext *context, String *name, CallDataRef callData)
+ReturnedValue Runtime::constructProperty(ExecutionContext *context, String *name, CallData *callData)
 {
     Scope scope(context);
     ScopedObject thisObject(scope, callData->thisObject.toObject(context));
@@ -1026,7 +1026,7 @@ ReturnedValue Runtime::constructProperty(ExecutionContext *context, String *name
     return f->construct(callData);
 }
 
-ReturnedValue Runtime::constructPropertyLookup(ExecutionContext *context, uint index, CallDataRef callData)
+ReturnedValue Runtime::constructPropertyLookup(ExecutionContext *context, uint index, CallData *callData)
 {
     Lookup *l = context->d()->lookups + index;
     Value v;
index b4417bd..992b027 100644 (file)
@@ -105,19 +105,19 @@ struct NoThrowContext : public ExecutionContext
 
 struct Q_QML_PRIVATE_EXPORT Runtime {
     // call
-    static ReturnedValue callGlobalLookup(ExecutionContext *context, uint index, CallDataRef callData);
-    static ReturnedValue callActivationProperty(ExecutionContext *, String *name, CallDataRef callData);
-    static ReturnedValue callProperty(ExecutionContext *context, String *name, CallDataRef callData);
-    static ReturnedValue callPropertyLookup(ExecutionContext *context, uint index, CallDataRef callData);
-    static ReturnedValue callElement(ExecutionContext *context, const ValueRef index, CallDataRef callData);
-    static ReturnedValue callValue(ExecutionContext *context, const ValueRef func, CallDataRef callData);
+    static ReturnedValue callGlobalLookup(ExecutionContext *context, uint index, CallData *callData);
+    static ReturnedValue callActivationProperty(ExecutionContext *, String *name, CallData *callData);
+    static ReturnedValue callProperty(ExecutionContext *context, String *name, CallData *callData);
+    static ReturnedValue callPropertyLookup(ExecutionContext *context, uint index, CallData *callData);
+    static ReturnedValue callElement(ExecutionContext *context, const ValueRef index, CallData *callData);
+    static ReturnedValue callValue(ExecutionContext *context, const ValueRef func, CallData *callData);
 
     // construct
-    static ReturnedValue constructGlobalLookup(ExecutionContext *context, uint index, CallDataRef callData);
-    static ReturnedValue constructActivationProperty(ExecutionContext *, String *name, CallDataRef callData);
-    static ReturnedValue constructProperty(ExecutionContext *context, String *name, CallDataRef callData);
-    static ReturnedValue constructPropertyLookup(ExecutionContext *context, uint index, CallDataRef callData);
-    static ReturnedValue constructValue(ExecutionContext *context, const ValueRef func, CallDataRef callData);
+    static ReturnedValue constructGlobalLookup(ExecutionContext *context, uint index, CallData *callData);
+    static ReturnedValue constructActivationProperty(ExecutionContext *, String *name, CallData *callData);
+    static ReturnedValue constructProperty(ExecutionContext *context, String *name, CallData *callData);
+    static ReturnedValue constructPropertyLookup(ExecutionContext *context, uint index, CallData *callData);
+    static ReturnedValue constructValue(ExecutionContext *context, const ValueRef func, CallData *callData);
 
     // set & get
     static void setActivationProperty(ExecutionContext *ctx, String *name, const ValueRef value);
index fc33990..dfaa7e6 100644 (file)
@@ -399,38 +399,6 @@ inline Scoped<T> &Scoped<T>::operator=(const ValueRef &v)
     return *this;
 }
 
-struct CallDataRef {
-    CallDataRef(const ScopedCallData &c)
-        : ptr(c.ptr) {}
-    CallDataRef(CallData *v) { ptr = v; }
-    // Important: Do NOT add a copy constructor to this class
-    // adding a copy constructor actually changes the calling convention, ie.
-    // is not even binary compatible. Adding it would break assumptions made
-    // in the jit'ed code.
-    CallDataRef &operator=(const ScopedCallData &c)
-    { *ptr = *c.ptr; return *this; }
-    CallDataRef &operator=(const CallDataRef &o)
-    { *ptr = *o.ptr; return *this; }
-
-    operator const CallData *() const {
-        return ptr;
-    }
-    const CallData *operator->() const {
-        return ptr;
-    }
-
-    operator CallData *() {
-        return ptr;
-    }
-    CallData *operator->() {
-        return ptr;
-    }
-
-private:
-    CallData *ptr;
-};
-
-
 template <typename T>
 inline Value &Value::operator=(Returned<T> *t)
 {