aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/compiler/qv4isel_moth.cpp
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@me.com>2013-09-26 14:49:44 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-30 11:28:55 +0200
commit7c3f891c454971ed0150e66c2261e6e5c36664a3 (patch)
tree067a59085a30ddf7ade38dd1cad078033a886486 /src/qml/compiler/qv4isel_moth.cpp
parent9194779ef37187b1b38d73099747459f9f5e745c (diff)
V4: remove inplace operations
Inplace operations are expanded when building the IR, so the neither the IR, nor the instruction selection backends or runtime need to handle them. Change-Id: Id01f9544e137dd52364cf2ed2c10931c31ddfff3 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/qml/compiler/qv4isel_moth.cpp')
-rw-r--r--src/qml/compiler/qv4isel_moth.cpp79
1 files changed, 0 insertions, 79 deletions
diff --git a/src/qml/compiler/qv4isel_moth.cpp b/src/qml/compiler/qv4isel_moth.cpp
index 35fca99df4..af914c79e7 100644
--- a/src/qml/compiler/qv4isel_moth.cpp
+++ b/src/qml/compiler/qv4isel_moth.cpp
@@ -604,85 +604,6 @@ Param InstructionSelection::binopHelper(V4IR::AluOp oper, V4IR::Expr *leftSource
}
}
-void InstructionSelection::inplaceNameOp(V4IR::AluOp oper, V4IR::Temp *rightSource, const QString &targetName)
-{
- QV4::InplaceBinOpName op = 0;
- switch (oper) {
- case V4IR::OpBitAnd: op = QV4::__qmljs_inplace_bit_and_name; break;
- case V4IR::OpBitOr: op = QV4::__qmljs_inplace_bit_or_name; break;
- case V4IR::OpBitXor: op = QV4::__qmljs_inplace_bit_xor_name; break;
- case V4IR::OpAdd: op = QV4::__qmljs_inplace_add_name; break;
- case V4IR::OpSub: op = QV4::__qmljs_inplace_sub_name; break;
- case V4IR::OpMul: op = QV4::__qmljs_inplace_mul_name; break;
- case V4IR::OpDiv: op = QV4::__qmljs_inplace_div_name; break;
- case V4IR::OpMod: op = QV4::__qmljs_inplace_mod_name; break;
- case V4IR::OpLShift: op = QV4::__qmljs_inplace_shl_name; break;
- case V4IR::OpRShift: op = QV4::__qmljs_inplace_shr_name; break;
- case V4IR::OpURShift: op = QV4::__qmljs_inplace_ushr_name; break;
- default: break;
- }
-
- if (op) {
- Instruction::InplaceNameOp ieo;
- ieo.alu = op;
- ieo.name = registerString(targetName);
- ieo.source = getParam(rightSource);
- addInstruction(ieo);
- }
-}
-
-void InstructionSelection::inplaceElementOp(V4IR::AluOp oper, V4IR::Temp *source, V4IR::Temp *targetBaseTemp, V4IR::Temp *targetIndexTemp)
-{
- QV4::InplaceBinOpElement op = 0;
- switch (oper) {
- case V4IR::OpBitAnd: op = QV4::__qmljs_inplace_bit_and_element; break;
- case V4IR::OpBitOr: op = QV4::__qmljs_inplace_bit_or_element; break;
- case V4IR::OpBitXor: op = QV4::__qmljs_inplace_bit_xor_element; break;
- case V4IR::OpAdd: op = QV4::__qmljs_inplace_add_element; break;
- case V4IR::OpSub: op = QV4::__qmljs_inplace_sub_element; break;
- case V4IR::OpMul: op = QV4::__qmljs_inplace_mul_element; break;
- case V4IR::OpDiv: op = QV4::__qmljs_inplace_div_element; break;
- case V4IR::OpMod: op = QV4::__qmljs_inplace_mod_element; break;
- case V4IR::OpLShift: op = QV4::__qmljs_inplace_shl_element; break;
- case V4IR::OpRShift: op = QV4::__qmljs_inplace_shr_element; break;
- case V4IR::OpURShift: op = QV4::__qmljs_inplace_ushr_element; break;
- default: break;
- }
-
- Instruction::InplaceElementOp ieo;
- ieo.alu = op;
- ieo.base = getParam(targetBaseTemp);
- ieo.index = getParam(targetIndexTemp);
- ieo.source = getParam(source);
- addInstruction(ieo);
-}
-
-void InstructionSelection::inplaceMemberOp(V4IR::AluOp oper, V4IR::Temp *source, V4IR::Temp *targetBase, const QString &targetName)
-{
- QV4::InplaceBinOpMember op = 0;
- switch (oper) {
- case V4IR::OpBitAnd: op = QV4::__qmljs_inplace_bit_and_member; break;
- case V4IR::OpBitOr: op = QV4::__qmljs_inplace_bit_or_member; break;
- case V4IR::OpBitXor: op = QV4::__qmljs_inplace_bit_xor_member; break;
- case V4IR::OpAdd: op = QV4::__qmljs_inplace_add_member; break;
- case V4IR::OpSub: op = QV4::__qmljs_inplace_sub_member; break;
- case V4IR::OpMul: op = QV4::__qmljs_inplace_mul_member; break;
- case V4IR::OpDiv: op = QV4::__qmljs_inplace_div_member; break;
- case V4IR::OpMod: op = QV4::__qmljs_inplace_mod_member; break;
- case V4IR::OpLShift: op = QV4::__qmljs_inplace_shl_member; break;
- case V4IR::OpRShift: op = QV4::__qmljs_inplace_shr_member; break;
- case V4IR::OpURShift: op = QV4::__qmljs_inplace_ushr_member; break;
- default: break;
- }
-
- Instruction::InplaceMemberOp imo;
- imo.alu = op;
- imo.base = getParam(targetBase);
- imo.member = registerString(targetName);
- imo.source = getParam(source);
- addInstruction(imo);
-}
-
void InstructionSelection::prepareCallArgs(V4IR::ExprList *e, quint32 &argc, quint32 *args)
{
int argLocation = outgoingArgumentTempStart();