diff options
Diffstat (limited to 'src/qml/qml/v4/moth/qv4vme_moth.cpp')
-rw-r--r-- | src/qml/qml/v4/moth/qv4vme_moth.cpp | 18 |
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()); |