aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/v4/moth/qv4vme_moth.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml/qml/v4/moth/qv4vme_moth.cpp')
-rw-r--r--src/qml/qml/v4/moth/qv4vme_moth.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/qml/qml/v4/moth/qv4vme_moth.cpp b/src/qml/qml/v4/moth/qv4vme_moth.cpp
index 3a11e2af39..675437330f 100644
--- a/src/qml/qml/v4/moth/qv4vme_moth.cpp
+++ b/src/qml/qml/v4/moth/qv4vme_moth.cpp
@@ -485,6 +485,24 @@ QV4::Value VME::run(QV4::ExecutionContext *context, const uchar *&code,
instr.alu(context, VALUEPTR(instr.result), VALUE(instr.lhs), VALUE(instr.rhs));
MOTH_END_INSTR(Binop)
+ MOTH_BEGIN_INSTR(AddNumberParams)
+ double lhs = VALUEPTR(instr.lhs)->asDouble();
+ double rhs = VALUEPTR(instr.rhs)->asDouble();
+ VALUEPTR(instr.result)->setDouble(lhs + rhs);
+ MOTH_END_INSTR(AddNumberParams)
+
+ MOTH_BEGIN_INSTR(MulNumberParams)
+ double lhs = VALUEPTR(instr.lhs)->asDouble();
+ double rhs = VALUEPTR(instr.rhs)->asDouble();
+ VALUEPTR(instr.result)->setDouble(lhs * rhs);
+ MOTH_END_INSTR(MulNumberParams)
+
+ MOTH_BEGIN_INSTR(SubNumberParams)
+ double lhs = VALUEPTR(instr.lhs)->asDouble();
+ double rhs = VALUEPTR(instr.rhs)->asDouble();
+ VALUEPTR(instr.result)->setDouble(lhs - rhs);
+ MOTH_END_INSTR(SubNumberParams)
+
MOTH_BEGIN_INSTR(Ret)
QV4::Value &result = VALUE(instr.result);
// TRACE(Ret, "returning value %s", result.toString(context)->toQString().toUtf8().constData());