aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/compiler/qv4instr_moth.cpp
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@qt.io>2017-10-11 11:59:40 +0200
committerLars Knoll <lars.knoll@qt.io>2017-10-23 06:27:49 +0000
commit44a47106419ea4daea077320cf5f857fe6ae8b47 (patch)
tree6782e08c532ff43342ae88ff7d0fb7ad54ddfd8b /src/qml/compiler/qv4instr_moth.cpp
parent2a8d1f27df08aa42fae3d9b80abc4a7935d3ba63 (diff)
Remove Binop/BinopContext instructions and implement missing binops
Change-Id: Ibefac50246045066c90c4c2dbc36d2776c5dab0e Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/qml/compiler/qv4instr_moth.cpp')
-rw-r--r--src/qml/compiler/qv4instr_moth.cpp30
1 files changed, 23 insertions, 7 deletions
diff --git a/src/qml/compiler/qv4instr_moth.cpp b/src/qml/compiler/qv4instr_moth.cpp
index 6e29c97927..ea19233a3d 100644
--- a/src/qml/compiler/qv4instr_moth.cpp
+++ b/src/qml/compiler/qv4instr_moth.cpp
@@ -530,10 +530,6 @@ void dumpBytecode(const char *code, int len, int nLocals, int nFormals, int /*st
MOTH_BEGIN_INSTR(Decrement)
MOTH_END_INSTR(PreDecrement)
- MOTH_BEGIN_INSTR(Binop)
- d << alu << ", " << dumpRegister(lhs, nFormals) << ", acc";
- MOTH_END_INSTR(Binop)
-
MOTH_BEGIN_INSTR(Add)
d << dumpRegister(lhs, nFormals) << ", acc";
MOTH_END_INSTR(Add)
@@ -550,6 +546,10 @@ void dumpBytecode(const char *code, int len, int nLocals, int nFormals, int /*st
d << dumpRegister(lhs, nFormals) << ", acc";
MOTH_END_INSTR(BitXor)
+ MOTH_BEGIN_INSTR(UShr)
+ d << dumpRegister(lhs, nFormals) << ", acc";
+ MOTH_END_INSTR(UShr)
+
MOTH_BEGIN_INSTR(Shr)
d << dumpRegister(lhs, nFormals) << ", acc";
MOTH_END_INSTR(Shr)
@@ -570,6 +570,10 @@ void dumpBytecode(const char *code, int len, int nLocals, int nFormals, int /*st
d << "acc, " << rhs;
MOTH_END_INSTR(BitXor)
+ MOTH_BEGIN_INSTR(UShrConst)
+ d << "acc, " << rhs;
+ MOTH_END_INSTR(UShrConst)
+
MOTH_BEGIN_INSTR(ShrConst)
d << "acc, " << rhs;
MOTH_END_INSTR(ShrConst)
@@ -582,13 +586,25 @@ void dumpBytecode(const char *code, int len, int nLocals, int nFormals, int /*st
d << dumpRegister(lhs, nFormals) << ", acc";
MOTH_END_INSTR(Mul)
+ MOTH_BEGIN_INSTR(Div)
+ d << dumpRegister(lhs, nFormals) << ", acc";
+ MOTH_END_INSTR(Div)
+
+ MOTH_BEGIN_INSTR(Mod)
+ d << dumpRegister(lhs, nFormals) << ", acc";
+ MOTH_END_INSTR(Mod)
+
MOTH_BEGIN_INSTR(Sub)
d << dumpRegister(lhs, nFormals) << ", acc";
MOTH_END_INSTR(Sub)
- MOTH_BEGIN_INSTR(BinopContext)
- d << alu << " " << dumpRegister(lhs, nFormals) << ", acc";
- MOTH_END_INSTR(BinopContext)
+ MOTH_BEGIN_INSTR(CmpIn)
+ d << dumpRegister(lhs, nFormals) << ", acc";
+ MOTH_END_INSTR(CmpIn)
+
+ MOTH_BEGIN_INSTR(CmpInstanceOf)
+ d << dumpRegister(lhs, nFormals) << ", acc";
+ MOTH_END_INSTR(CmpInstanceOf)
MOTH_BEGIN_INSTR(Ret)
MOTH_END_INSTR(Ret)