Remove the context pointer from unary operations
authorLars Knoll <lars.knoll@digia.com>
Sun, 14 Apr 2013 20:45:22 +0000 (22:45 +0200)
committerSimon Hausmann <simon.hausmann@digia.com>
Mon, 15 Apr 2013 08:48:16 +0000 (10:48 +0200)
Change-Id: Idaf67f719402666e11676983d6bc99952f48a72d
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
src/v4/llvm_runtime.cpp
src/v4/moth/qv4vme_moth.cpp
src/v4/qv4isel_masm.cpp
src/v4/qv4runtime.cpp
src/v4/qv4runtime.h

index d7d4edc..629ee40 100644 (file)
@@ -212,22 +212,22 @@ void __qmljs_llvm_in(ExecutionContext *ctx, Value *result, Value *left, Value *r
 
 void __qmljs_llvm_uplus(ExecutionContext *ctx, Value *result, const Value *value)
 {
-    __qmljs_uplus(ctx, result, *value);
+    __qmljs_uplus(result, *value);
 }
 
 void __qmljs_llvm_uminus(ExecutionContext *ctx, Value *result, const Value *value)
 {
-    __qmljs_uminus(ctx, result, *value);
+    __qmljs_uminus(result, *value);
 }
 
 void __qmljs_llvm_compl(ExecutionContext *ctx, Value *result, const Value *value)
 {
-    __qmljs_compl(ctx, result, *value);
+    __qmljs_compl(result, *value);
 }
 
 void __qmljs_llvm_not(ExecutionContext *ctx, Value *result, const Value *value)
 {
-    __qmljs_not(ctx, result, *value);
+    __qmljs_not(result, *value);
 }
 
 void __qmljs_llvm_inplace_bit_and_name(ExecutionContext *ctx, String *dest, Value *src)
index 7dcf1aa..49d3cba 100644 (file)
@@ -465,7 +465,7 @@ VM::Value VME::run(QQmlJS::VM::ExecutionContext *context, const uchar *&code,
     MOTH_END_INSTR(CJump)
 
     MOTH_BEGIN_INSTR(Unop)
-        instr.alu(context, VALUEPTR(instr.result), VALUE(instr.source));
+        instr.alu(VALUEPTR(instr.result), VALUE(instr.source));
     MOTH_END_INSTR(Unop)
 
     MOTH_BEGIN_INSTR(Binop)
index 9a05ccb..13a3cc1 100644 (file)
@@ -939,7 +939,7 @@ void InstructionSelection::unop(V4IR::AluOp oper, V4IR::Temp *sourceTemp, V4IR::
     } // switch
 
     if (op)
-        _as->generateFunctionCallImp(Assembler::Void, opName, op, Assembler::ContextRegister, Assembler::PointerToValue(targetTemp),
+        _as->generateFunctionCallImp(Assembler::Void, opName, op, Assembler::PointerToValue(targetTemp),
                                      Assembler::Reference(sourceTemp));
 }
 
index 90fd44d..955236f 100644 (file)
@@ -749,11 +749,6 @@ void __qmljs_set_property_lookup(ExecutionContext *ctx, const Value &object, int
 }
 
 
-void __qmljs_get_thisObject(ExecutionContext *ctx, Value *result)
-{
-    *result = ctx->thisObject;
-}
-
 uint __qmljs_equal(const Value &x, const Value &y)
 {
     if (x.type() == y.type()) {
@@ -1294,7 +1289,7 @@ void __qmljs_builtin_define_getter_setter(ExecutionContext *ctx, const Value &ob
     pd->setSetter(setter ? setter->asFunctionObject() : 0);
 }
 
-void __qmljs_increment(ExecutionContext *, Value *result, const Value &value)
+void __qmljs_increment(Value *result, const Value &value)
 {
     TRACE1(value);
 
@@ -1306,7 +1301,7 @@ void __qmljs_increment(ExecutionContext *, Value *result, const Value &value)
     }
 }
 
-void __qmljs_decrement(ExecutionContext *, Value *result, const Value &value)
+void __qmljs_decrement(Value *result, const Value &value)
 {
     TRACE1(value);
 
index d5eebfa..ff34257 100644 (file)
@@ -192,13 +192,13 @@ Bool __qmljs_equal(const Value &x, const Value &y);
 Bool __qmljs_strict_equal(const Value &x, const Value &y);
 
 // unary operators
-typedef void (*UnaryOpName)(ExecutionContext *, Value *, const Value &);
-void __qmljs_uplus(ExecutionContext *, Value *result, const Value &value);
-void __qmljs_uminus(ExecutionContext *, Value *result, const Value &value);
-void __qmljs_compl(ExecutionContext *, Value *result, const Value &value);
-void __qmljs_not(ExecutionContext *, Value *result, const Value &value);
-void __qmljs_increment(ExecutionContext *, Value *result, const Value &value);
-void __qmljs_decrement(ExecutionContext *, Value *result, const Value &value);
+typedef void (*UnaryOpName)(Value *, const Value &);
+void __qmljs_uplus(Value *result, const Value &value);
+void __qmljs_uminus(Value *result, const Value &value);
+void __qmljs_compl(Value *result, const Value &value);
+void __qmljs_not(Value *result, const Value &value);
+void __qmljs_increment(Value *result, const Value &value);
+void __qmljs_decrement(Value *result, const Value &value);
 
 void __qmljs_delete_subscript(ExecutionContext *ctx, Value *result, const Value &base, const Value &index);
 void __qmljs_delete_member(ExecutionContext *ctx, Value *result, const Value &base, String *name);
@@ -331,7 +331,7 @@ inline Value __qmljs_to_object(ExecutionContext *ctx, const Value &value)
 }
 
 
-inline void __qmljs_uplus(ExecutionContext *, Value *result, const Value &value)
+inline void __qmljs_uplus(Value *result, const Value &value)
 {
     TRACE1(value);
 
@@ -343,7 +343,7 @@ inline void __qmljs_uplus(ExecutionContext *, Value *result, const Value &value)
     *result = Value::fromDouble(n);
 }
 
-inline void __qmljs_uminus(ExecutionContext *, Value *result, const Value &value)
+inline void __qmljs_uminus(Value *result, const Value &value)
 {
     TRACE1(value);
 
@@ -356,7 +356,7 @@ inline void __qmljs_uminus(ExecutionContext *, Value *result, const Value &value
     }
 }
 
-inline void __qmljs_compl(ExecutionContext *, Value *result, const Value &value)
+inline void __qmljs_compl(Value *result, const Value &value)
 {
     TRACE1(value);
 
@@ -369,7 +369,7 @@ inline void __qmljs_compl(ExecutionContext *, Value *result, const Value &value)
     *result = Value::fromInt32(~n);
 }
 
-inline void __qmljs_not(ExecutionContext *, Value *result, const Value &value)
+inline void __qmljs_not(Value *result, const Value &value)
 {
     TRACE1(value);