aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2013-09-09 20:34:30 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-12 21:52:16 +0200
commit525c4ee8a9d436a7ce2f785cdb908735271486a4 (patch)
tree759a89ab696660e1db8f9e31d249942fb4f116e7
parent87d2362a6b156eef7b67832c24adc7a2d3fc2d5c (diff)
Remove unused code to generate post increment and decrement expressions
We generate lower level code in codegen and don't use these runtime methods anymore. Change-Id: If1023ce5295431305f4528839bcf2a3031fa7ad2 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
-rw-r--r--src/qml/compiler/qv4instr_moth_p.h60
-rw-r--r--src/qml/compiler/qv4isel_masm.cpp51
-rw-r--r--src/qml/compiler/qv4isel_masm_p.h8
-rw-r--r--src/qml/compiler/qv4isel_moth.cpp68
-rw-r--r--src/qml/compiler/qv4isel_moth_p.h8
-rw-r--r--src/qml/compiler/qv4isel_p.cpp34
-rw-r--r--src/qml/compiler/qv4isel_p.h8
-rw-r--r--src/qml/compiler/qv4jsir.cpp4
-rw-r--r--src/qml/compiler/qv4jsir_p.h2
-rw-r--r--src/qml/compiler/qv4regalloc.cpp8
-rw-r--r--src/qml/jsruntime/qv4runtime.cpp160
-rw-r--r--src/qml/jsruntime/qv4runtime_p.h10
-rw-r--r--src/qml/jsruntime/qv4vme_moth.cpp32
13 files changed, 0 insertions, 453 deletions
diff --git a/src/qml/compiler/qv4instr_moth_p.h b/src/qml/compiler/qv4instr_moth_p.h
index 68bc109eb4..25c8ac512c 100644
--- a/src/qml/compiler/qv4instr_moth_p.h
+++ b/src/qml/compiler/qv4instr_moth_p.h
@@ -81,14 +81,6 @@ QT_BEGIN_NAMESPACE
F(CallBuiltinTypeofSubscript, callBuiltinTypeofSubscript) \
F(CallBuiltinTypeofName, callBuiltinTypeofName) \
F(CallBuiltinTypeofValue, callBuiltinTypeofValue) \
- F(CallBuiltinPostIncMember, callBuiltinPostIncMember) \
- F(CallBuiltinPostIncSubscript, callBuiltinPostIncSubscript) \
- F(CallBuiltinPostIncName, callBuiltinPostIncName) \
- F(CallBuiltinPostIncValue, callBuiltinPostIncValue) \
- F(CallBuiltinPostDecMember, callBuiltinPostDecMember) \
- F(CallBuiltinPostDecSubscript, callBuiltinPostDecSubscript) \
- F(CallBuiltinPostDecName, callBuiltinPostDecName) \
- F(CallBuiltinPostDecValue, callBuiltinPostDecValue) \
F(CallBuiltinDeclareVar, callBuiltinDeclareVar) \
F(CallBuiltinDefineGetterSetter, callBuiltinDefineGetterSetter) \
F(CallBuiltinDefineProperty, callBuiltinDefineProperty) \
@@ -379,50 +371,6 @@ union Instr
Param value;
Param result;
};
- struct instr_callBuiltinPostIncMember {
- MOTH_INSTR_HEADER
- Param base;
- int member;
- Param result;
- };
- struct instr_callBuiltinPostIncSubscript {
- MOTH_INSTR_HEADER
- Param base;
- Param index;
- Param result;
- };
- struct instr_callBuiltinPostIncName {
- MOTH_INSTR_HEADER
- int name;
- Param result;
- };
- struct instr_callBuiltinPostIncValue {
- MOTH_INSTR_HEADER
- Param value;
- Param result;
- };
- struct instr_callBuiltinPostDecMember {
- MOTH_INSTR_HEADER
- Param base;
- int member;
- Param result;
- };
- struct instr_callBuiltinPostDecSubscript {
- MOTH_INSTR_HEADER
- Param base;
- Param index;
- Param result;
- };
- struct instr_callBuiltinPostDecName {
- MOTH_INSTR_HEADER
- int name;
- Param result;
- };
- struct instr_callBuiltinPostDecValue {
- MOTH_INSTR_HEADER
- Param value;
- Param result;
- };
struct instr_callBuiltinDeclareVar {
MOTH_INSTR_HEADER
int varName;
@@ -583,14 +531,6 @@ union Instr
instr_callBuiltinTypeofSubscript callBuiltinTypeofSubscript;
instr_callBuiltinTypeofName callBuiltinTypeofName;
instr_callBuiltinTypeofValue callBuiltinTypeofValue;
- instr_callBuiltinPostIncMember callBuiltinPostIncMember;
- instr_callBuiltinPostIncSubscript callBuiltinPostIncSubscript;
- instr_callBuiltinPostIncName callBuiltinPostIncName;
- instr_callBuiltinPostIncValue callBuiltinPostIncValue;
- instr_callBuiltinPostDecMember callBuiltinPostDecMember;
- instr_callBuiltinPostDecSubscript callBuiltinPostDecSubscript;
- instr_callBuiltinPostDecName callBuiltinPostDecName;
- instr_callBuiltinPostDecValue callBuiltinPostDecValue;
instr_callBuiltinDeclareVar callBuiltinDeclareVar;
instr_callBuiltinDefineGetterSetter callBuiltinDefineGetterSetter;
instr_callBuiltinDefineProperty callBuiltinDefineProperty;
diff --git a/src/qml/compiler/qv4isel_masm.cpp b/src/qml/compiler/qv4isel_masm.cpp
index a68b58a2b3..c016d2a6b1 100644
--- a/src/qml/compiler/qv4isel_masm.cpp
+++ b/src/qml/compiler/qv4isel_masm.cpp
@@ -779,57 +779,6 @@ void InstructionSelection::callBuiltinDeleteValue(V4IR::Temp *result)
_as->storeValue(Value::fromBoolean(false), result);
}
-void InstructionSelection::callBuiltinPostIncrementMember(V4IR::Temp *base, const QString &name, V4IR::Temp *result)
-{
- generateFunctionCall(Assembler::Void, __qmljs_builtin_post_increment_member,
- Assembler::ContextRegister, Assembler::PointerToValue(result),
- Assembler::PointerToValue(base), Assembler::PointerToString(name));
-}
-
-void InstructionSelection::callBuiltinPostIncrementSubscript(V4IR::Temp *base, V4IR::Temp *index, V4IR::Temp *result)
-{
- generateFunctionCall(Assembler::Void, __qmljs_builtin_post_increment_element,
- Assembler::ContextRegister, Assembler::PointerToValue(result),
- Assembler::Reference(base), Assembler::PointerToValue(index));
-}
-
-void InstructionSelection::callBuiltinPostIncrementName(const QString &name, V4IR::Temp *result)
-{
- generateFunctionCall(Assembler::Void, __qmljs_builtin_post_increment_name, Assembler::ContextRegister,
- Assembler::PointerToValue(result), Assembler::PointerToString(name));
-}
-
-void InstructionSelection::callBuiltinPostIncrementValue(V4IR::Temp *value, V4IR::Temp *result)
-{
- generateFunctionCall(Assembler::Void, __qmljs_builtin_post_increment,
- Assembler::PointerToValue(result), Assembler::PointerToValue(value));
-}
-
-void InstructionSelection::callBuiltinPostDecrementMember(V4IR::Temp *base, const QString &name, V4IR::Temp *result)
-{
- generateFunctionCall(Assembler::Void, __qmljs_builtin_post_decrement_member, Assembler::ContextRegister,
- Assembler::PointerToValue(result), Assembler::Reference(base), Assembler::PointerToString(name));
-}
-
-void InstructionSelection::callBuiltinPostDecrementSubscript(V4IR::Temp *base, V4IR::Temp *index, V4IR::Temp *result)
-{
- generateFunctionCall(Assembler::Void, __qmljs_builtin_post_decrement_element, Assembler::ContextRegister,
- Assembler::PointerToValue(result), Assembler::Reference(base),
- Assembler::Reference(index));
-}
-
-void InstructionSelection::callBuiltinPostDecrementName(const QString &name, V4IR::Temp *result)
-{
- generateFunctionCall(Assembler::Void, __qmljs_builtin_post_decrement_name, Assembler::ContextRegister,
- Assembler::PointerToValue(result), Assembler::PointerToString(name));
-}
-
-void InstructionSelection::callBuiltinPostDecrementValue(V4IR::Temp *value, V4IR::Temp *result)
-{
- generateFunctionCall(Assembler::Void, __qmljs_builtin_post_decrement,
- Assembler::PointerToValue(result), Assembler::PointerToValue(value));
-}
-
void InstructionSelection::callBuiltinThrow(V4IR::Expr *arg)
{
generateFunctionCall(Assembler::Void, __qmljs_throw, Assembler::ContextRegister,
diff --git a/src/qml/compiler/qv4isel_masm_p.h b/src/qml/compiler/qv4isel_masm_p.h
index aa7ba86dbb..aad0903413 100644
--- a/src/qml/compiler/qv4isel_masm_p.h
+++ b/src/qml/compiler/qv4isel_masm_p.h
@@ -1255,14 +1255,6 @@ protected:
virtual void callBuiltinDeleteSubscript(V4IR::Temp *base, V4IR::Expr *index, V4IR::Temp *result);
virtual void callBuiltinDeleteName(const QString &name, V4IR::Temp *result);
virtual void callBuiltinDeleteValue(V4IR::Temp *result);
- virtual void callBuiltinPostDecrementMember(V4IR::Temp *base, const QString &name, V4IR::Temp *result);
- virtual void callBuiltinPostDecrementSubscript(V4IR::Temp *base, V4IR::Temp *index, V4IR::Temp *result);
- virtual void callBuiltinPostDecrementName(const QString &name, V4IR::Temp *result);
- virtual void callBuiltinPostDecrementValue(V4IR::Temp *value, V4IR::Temp *result);
- virtual void callBuiltinPostIncrementMember(V4IR::Temp *base, const QString &name, V4IR::Temp *result);
- virtual void callBuiltinPostIncrementSubscript(V4IR::Temp *base, V4IR::Temp *index, V4IR::Temp *result);
- virtual void callBuiltinPostIncrementName(const QString &name, V4IR::Temp *result);
- virtual void callBuiltinPostIncrementValue(V4IR::Temp *value, V4IR::Temp *result);
virtual void callBuiltinThrow(V4IR::Expr *arg);
virtual void callBuiltinFinishTry();
virtual void callBuiltinForeachIteratorObject(V4IR::Temp *arg, V4IR::Temp *result);
diff --git a/src/qml/compiler/qv4isel_moth.cpp b/src/qml/compiler/qv4isel_moth.cpp
index 8e11fc68d4..fd789a623f 100644
--- a/src/qml/compiler/qv4isel_moth.cpp
+++ b/src/qml/compiler/qv4isel_moth.cpp
@@ -836,74 +836,6 @@ void InstructionSelection::callBuiltinDeleteValue(V4IR::Temp *result)
addInstruction(load);
}
-void InstructionSelection::callBuiltinPostDecrementMember(V4IR::Temp *base, const QString &name, V4IR::Temp *result)
-{
- Instruction::CallBuiltinPostDecMember call;
- call.base = getParam(base);
- call.member = registerString(name);
- call.result = getResultParam(result);
- addInstruction(call);
-}
-
-void InstructionSelection::callBuiltinPostDecrementSubscript(V4IR::Temp *base, V4IR::Temp *index, V4IR::Temp *result)
-{
- Instruction::CallBuiltinPostDecSubscript call;
- call.base = getParam(base);
- call.index = getParam(index);
- call.result = getResultParam(result);
- addInstruction(call);
-}
-
-void InstructionSelection::callBuiltinPostDecrementName(const QString &name, V4IR::Temp *result)
-{
- Instruction::CallBuiltinPostDecName call;
- call.name = registerString(name);
- call.result = getResultParam(result);
- addInstruction(call);
-}
-
-void InstructionSelection::callBuiltinPostDecrementValue(V4IR::Temp *value, V4IR::Temp *result)
-{
- Instruction::CallBuiltinPostDecValue call;
- call.value = getParam(value);
- call.result = getResultParam(result);
- addInstruction(call);
-}
-
-void InstructionSelection::callBuiltinPostIncrementMember(V4IR::Temp *base, const QString &name, V4IR::Temp *result)
-{
- Instruction::CallBuiltinPostIncMember call;
- call.base = getParam(base);
- call.member = registerString(name);
- call.result = getResultParam(result);
- addInstruction(call);
-}
-
-void InstructionSelection::callBuiltinPostIncrementSubscript(V4IR::Temp *base, V4IR::Temp *index, V4IR::Temp *result)
-{
- Instruction::CallBuiltinPostIncSubscript call;
- call.base = getParam(base);
- call.index = getParam(index);
- call.result = getResultParam(result);
- addInstruction(call);
-}
-
-void InstructionSelection::callBuiltinPostIncrementName(const QString &name, V4IR::Temp *result)
-{
- Instruction::CallBuiltinPostIncName call;
- call.name = registerString(name);
- call.result = getResultParam(result);
- addInstruction(call);
-}
-
-void InstructionSelection::callBuiltinPostIncrementValue(V4IR::Temp *value, V4IR::Temp *result)
-{
- Instruction::CallBuiltinPostIncValue call;
- call.value = getParam(value);
- call.result = getResultParam(result);
- addInstruction(call);
-}
-
void InstructionSelection::callBuiltinThrow(V4IR::Expr *arg)
{
Instruction::CallBuiltinThrow call;
diff --git a/src/qml/compiler/qv4isel_moth_p.h b/src/qml/compiler/qv4isel_moth_p.h
index 435ebc41ca..c4b298eaac 100644
--- a/src/qml/compiler/qv4isel_moth_p.h
+++ b/src/qml/compiler/qv4isel_moth_p.h
@@ -93,14 +93,6 @@ protected:
virtual void callBuiltinDeleteSubscript(V4IR::Temp *base, V4IR::Expr *index, V4IR::Temp *result);
virtual void callBuiltinDeleteName(const QString &name, V4IR::Temp *result);
virtual void callBuiltinDeleteValue(V4IR::Temp *result);
- virtual void callBuiltinPostDecrementMember(V4IR::Temp *base, const QString &name, V4IR::Temp *result);
- virtual void callBuiltinPostDecrementSubscript(V4IR::Temp *base, V4IR::Temp *index, V4IR::Temp *result);
- virtual void callBuiltinPostDecrementName(const QString &name, V4IR::Temp *result);
- virtual void callBuiltinPostDecrementValue(V4IR::Temp *value, V4IR::Temp *result);
- virtual void callBuiltinPostIncrementMember(V4IR::Temp *base, const QString &name, V4IR::Temp *result);
- virtual void callBuiltinPostIncrementSubscript(V4IR::Temp *base, V4IR::Temp *index, V4IR::Temp *result);
- virtual void callBuiltinPostIncrementName(const QString &name, V4IR::Temp *result);
- virtual void callBuiltinPostIncrementValue(V4IR::Temp *value, V4IR::Temp *result);
virtual void callBuiltinThrow(V4IR::Expr *arg);
virtual void callBuiltinFinishTry();
virtual void callBuiltinForeachIteratorObject(V4IR::Temp *arg, V4IR::Temp *result);
diff --git a/src/qml/compiler/qv4isel_p.cpp b/src/qml/compiler/qv4isel_p.cpp
index df879f5796..7989232926 100644
--- a/src/qml/compiler/qv4isel_p.cpp
+++ b/src/qml/compiler/qv4isel_p.cpp
@@ -279,40 +279,6 @@ void IRDecoder::callBuiltin(V4IR::Call *call, V4IR::Temp *result)
}
} break;
- case V4IR::Name::builtin_postincrement: {
- if (V4IR::Member *m = call->args->expr->asMember()) {
- callBuiltinPostIncrementMember(m->base->asTemp(), *m->name, result);
- return;
- } else if (V4IR::Subscript *ss = call->args->expr->asSubscript()) {
- callBuiltinPostIncrementSubscript(ss->base->asTemp(), ss->index->asTemp(), result);
- return;
- } else if (V4IR::Name *n = call->args->expr->asName()) {
- callBuiltinPostIncrementName(*n->id, result);
- return;
- } else if (V4IR::Temp *arg = call->args->expr->asTemp()){
- assert(arg != 0);
- callBuiltinPostIncrementValue(arg, result);
- return;
- }
- } break;
-
- case V4IR::Name::builtin_postdecrement: {
- if (V4IR::Member *m = call->args->expr->asMember()) {
- callBuiltinPostDecrementMember(m->base->asTemp(), *m->name, result);
- return;
- } else if (V4IR::Subscript *ss = call->args->expr->asSubscript()) {
- callBuiltinPostDecrementSubscript(ss->base->asTemp(), ss->index->asTemp(), result);
- return;
- } else if (V4IR::Name *n = call->args->expr->asName()) {
- callBuiltinPostDecrementName(*n->id, result);
- return;
- } else if (V4IR::Temp *arg = call->args->expr->asTemp()){
- assert(arg != 0);
- callBuiltinPostDecrementValue(arg, result);
- return;
- }
- } break;
-
case V4IR::Name::builtin_throw: {
V4IR::Expr *arg = call->args->expr;
assert(arg->asTemp() || arg->asConst());
diff --git a/src/qml/compiler/qv4isel_p.h b/src/qml/compiler/qv4isel_p.h
index 450a0f072a..e1cccedd2c 100644
--- a/src/qml/compiler/qv4isel_p.h
+++ b/src/qml/compiler/qv4isel_p.h
@@ -108,14 +108,6 @@ public: // to implement by subclasses:
virtual void callBuiltinDeleteSubscript(V4IR::Temp *base, V4IR::Expr *index, V4IR::Temp *result) = 0;
virtual void callBuiltinDeleteName(const QString &name, V4IR::Temp *result) = 0;
virtual void callBuiltinDeleteValue(V4IR::Temp *result) = 0;
- virtual void callBuiltinPostDecrementMember(V4IR::Temp *base, const QString &name, V4IR::Temp *result) = 0;
- virtual void callBuiltinPostDecrementSubscript(V4IR::Temp *base, V4IR::Temp *index, V4IR::Temp *result) = 0;
- virtual void callBuiltinPostDecrementName(const QString &name, V4IR::Temp *result) = 0;
- virtual void callBuiltinPostDecrementValue(V4IR::Temp *value, V4IR::Temp *result) = 0;
- virtual void callBuiltinPostIncrementMember(V4IR::Temp *base, const QString &name, V4IR::Temp *result) = 0;
- virtual void callBuiltinPostIncrementSubscript(V4IR::Temp *base, V4IR::Temp *index, V4IR::Temp *result) = 0;
- virtual void callBuiltinPostIncrementName(const QString &name, V4IR::Temp *result) = 0;
- virtual void callBuiltinPostIncrementValue(V4IR::Temp *value, V4IR::Temp *result) = 0;
virtual void callBuiltinThrow(V4IR::Expr *arg) = 0;
virtual void callBuiltinFinishTry() = 0;
virtual void callBuiltinForeachIteratorObject(V4IR::Temp *arg, V4IR::Temp *result) = 0;
diff --git a/src/qml/compiler/qv4jsir.cpp b/src/qml/compiler/qv4jsir.cpp
index e70cf100ce..74f31bd83e 100644
--- a/src/qml/compiler/qv4jsir.cpp
+++ b/src/qml/compiler/qv4jsir.cpp
@@ -398,10 +398,6 @@ static const char *builtin_to_string(Name::Builtin b)
return "builtin_typeof";
case Name::builtin_delete:
return "builtin_delete";
- case Name::builtin_postincrement:
- return "builtin_postincrement";
- case Name::builtin_postdecrement:
- return "builtin_postdecrement";
case Name::builtin_throw:
return "builtin_throw";
case Name::builtin_finish_try:
diff --git a/src/qml/compiler/qv4jsir_p.h b/src/qml/compiler/qv4jsir_p.h
index cf82e28f1e..4ccf5de139 100644
--- a/src/qml/compiler/qv4jsir_p.h
+++ b/src/qml/compiler/qv4jsir_p.h
@@ -311,8 +311,6 @@ struct Name: Expr {
builtin_invalid,
builtin_typeof,
builtin_delete,
- builtin_postincrement, // TODO: remove
- builtin_postdecrement, // TODO: remove
builtin_throw,
builtin_finish_try,
builtin_foreach_iterator_object,
diff --git a/src/qml/compiler/qv4regalloc.cpp b/src/qml/compiler/qv4regalloc.cpp
index 3428c13dbc..3b0ea8b171 100644
--- a/src/qml/compiler/qv4regalloc.cpp
+++ b/src/qml/compiler/qv4regalloc.cpp
@@ -190,14 +190,6 @@ protected: // IRDecoder
virtual void callBuiltinDeleteSubscript(V4IR::Temp *, V4IR::Expr *, V4IR::Temp *) {}
virtual void callBuiltinDeleteName(const QString &, V4IR::Temp *) {}
virtual void callBuiltinDeleteValue(V4IR::Temp *) {}
- virtual void callBuiltinPostDecrementMember(V4IR::Temp *, const QString &, V4IR::Temp *) {}
- virtual void callBuiltinPostDecrementSubscript(V4IR::Temp *, V4IR::Temp *, V4IR::Temp *) {}
- virtual void callBuiltinPostDecrementName(const QString &, V4IR::Temp *) {}
- virtual void callBuiltinPostDecrementValue(V4IR::Temp *, V4IR::Temp *) {}
- virtual void callBuiltinPostIncrementMember(V4IR::Temp *, const QString &, V4IR::Temp *) {}
- virtual void callBuiltinPostIncrementSubscript(V4IR::Temp *, V4IR::Temp *, V4IR::Temp *) {}
- virtual void callBuiltinPostIncrementName(const QString &, V4IR::Temp *) {}
- virtual void callBuiltinPostIncrementValue(V4IR::Temp *, V4IR::Temp *) {}
virtual void callBuiltinThrow(V4IR::Expr *) {}
virtual void callBuiltinFinishTry() {}
virtual void callBuiltinForeachIteratorObject(V4IR::Temp *, V4IR::Temp *) {}
diff --git a/src/qml/jsruntime/qv4runtime.cpp b/src/qml/jsruntime/qv4runtime.cpp
index 76ab06cabe..e7760548a0 100644
--- a/src/qml/jsruntime/qv4runtime.cpp
+++ b/src/qml/jsruntime/qv4runtime.cpp
@@ -1155,166 +1155,6 @@ QV4::ReturnedValue __qmljs_builtin_typeof_element(ExecutionContext *context, con
return __qmljs_builtin_typeof(context, prop);
}
-void __qmljs_builtin_post_increment(ValueRef result, ValueRef val)
-{
- if (val->isInteger() && val->integerValue() < INT_MAX) {
- if (result)
- *result = *val;
- val->int_32 += 1;
- return;
- }
-
- double d = val->toNumber();
- *val = Value::fromDouble(d + 1);
- if (result)
- *result = Value::fromDouble(d);
-}
-
-void __qmljs_builtin_post_increment_name(ExecutionContext *context, ValueRef result, String *name)
-{
- Value v = context->getProperty(name);
-
- if (v.isInteger() && v.integerValue() < INT_MAX) {
- if (result)
- *result = v;
- v.int_32 += 1;
- } else {
- double d = v.toNumber();
- if (result)
- *result = Value::fromDouble(d);
- v = Value::fromDouble(d + 1);
- }
-
- context->setProperty(name, v);
-}
-
-void __qmljs_builtin_post_increment_member(ExecutionContext *context, ValueRef result, const ValueRef base, String *name)
-{
- Object *o = base->toObject(context);
-
- Value v = o->get(name);
-
- if (v.isInteger() && v.integerValue() < INT_MAX) {
- if (result)
- *result = v;
- v.int_32 += 1;
- } else {
- double d = v.toNumber();
- if (result)
- *result = Value::fromDouble(d);
- v = Value::fromDouble(d + 1);
- }
-
- o->put(name, v);
-}
-
-void __qmljs_builtin_post_increment_element(ExecutionContext *context, ValueRef result, const ValueRef base, const ValueRef index)
-{
- Object *o = base->toObject(context);
-
- uint idx = index->asArrayIndex();
-
- if (idx == UINT_MAX) {
- String *s = index->toString(context);
- return __qmljs_builtin_post_increment_member(context, result, base, s);
- }
-
- Value v = o->getIndexed(idx);
-
- if (v.isInteger() && v.integerValue() < INT_MAX) {
- if (result)
- *result = v;
- v.int_32 += 1;
- } else {
- double d = v.toNumber();
- if (result)
- *result = Value::fromDouble(d);
- v = Value::fromDouble(d + 1);
- }
-
- o->putIndexed(idx, v);
-}
-
-void __qmljs_builtin_post_decrement(ValueRef result, ValueRef val)
-{
- if (val->isInteger() && val->integerValue() > INT_MIN) {
- if (result)
- *result = *val;
- val->int_32 -= 1;
- return;
- }
-
- double d = val->toNumber();
- *val = Value::fromDouble(d - 1);
- if (result)
- *result = Value::fromDouble(d);
-}
-
-void __qmljs_builtin_post_decrement_name(ExecutionContext *context, ValueRef result, String *name)
-{
- Value v = context->getProperty(name);
-
- if (v.isInteger() && v.integerValue() > INT_MIN) {
- if (result)
- *result = v;
- v.int_32 -= 1;
- } else {
- double d = v.toNumber();
- if (result)
- *result = Value::fromDouble(d);
- v = Value::fromDouble(d - 1);
- }
-
- context->setProperty(name, v);
-}
-
-void __qmljs_builtin_post_decrement_member(ExecutionContext *context, ValueRef result, const ValueRef base, String *name)
-{
- Object *o = base->toObject(context);
-
- Value v = o->get(name);
-
- if (v.isInteger() && v.integerValue() > INT_MIN) {
- if (result)
- *result = v;
- v.int_32 -= 1;
- } else {
- double d = v.toNumber();
- if (result)
- *result = Value::fromDouble(d);
- v = Value::fromDouble(d - 1);
- }
-
- o->put(name, v);
-}
-
-void __qmljs_builtin_post_decrement_element(ExecutionContext *context, ValueRef result, const ValueRef base, const ValueRef index)
-{
- Object *o = base->toObject(context);
-
- uint idx = index->asArrayIndex();
-
- if (idx == UINT_MAX) {
- String *s = index->toString(context);
- return __qmljs_builtin_post_decrement_member(context, result, base, s);
- }
-
- Value v = o->getIndexed(idx);
-
- if (v.isInteger() && v.integerValue() > INT_MIN) {
- if (result)
- *result = v;
- v.int_32 -= 1;
- } else {
- double d = v.toNumber();
- if (result)
- *result = Value::fromDouble(d);
- v = Value::fromDouble(d - 1);
- }
-
- o->putIndexed(idx, v);
-}
-
ExecutionContext *__qmljs_builtin_push_with_scope(const ValueRef o, ExecutionContext *ctx)
{
Object *obj = o->toObject(ctx);
diff --git a/src/qml/jsruntime/qv4runtime_p.h b/src/qml/jsruntime/qv4runtime_p.h
index c3ab8fe932..343f3c4611 100644
--- a/src/qml/jsruntime/qv4runtime_p.h
+++ b/src/qml/jsruntime/qv4runtime_p.h
@@ -124,16 +124,6 @@ QV4::ReturnedValue __qmljs_builtin_typeof_name(QV4::ExecutionContext *context, Q
QV4::ReturnedValue __qmljs_builtin_typeof_member(QV4::ExecutionContext* context, const QV4::ValueRef base, QV4::String *name);
QV4::ReturnedValue __qmljs_builtin_typeof_element(QV4::ExecutionContext* context, const QV4::ValueRef base, const QV4::ValueRef index);
-void __qmljs_builtin_post_increment(QV4::ValueRef result, QV4::ValueRef val);
-void __qmljs_builtin_post_increment_name(QV4::ExecutionContext *context, QV4::ValueRef result, QV4::String *name);
-void __qmljs_builtin_post_increment_member(QV4::ExecutionContext *context, QV4::ValueRef result, const QV4::ValueRef base, QV4::String *name);
-void __qmljs_builtin_post_increment_element(QV4::ExecutionContext *context, QV4::ValueRef result, const QV4::ValueRef base, const QV4::ValueRef index);
-
-void __qmljs_builtin_post_decrement(QV4::ValueRef result, QV4::ValueRef val);
-void __qmljs_builtin_post_decrement_name(QV4::ExecutionContext *context, QV4::ValueRef result, QV4::String *name);
-void __qmljs_builtin_post_decrement_member(QV4::ExecutionContext *context, QV4::ValueRef result, const QV4::ValueRef base, QV4::String *name);
-void __qmljs_builtin_post_decrement_element(QV4::ExecutionContext *context, QV4::ValueRef result, const QV4::ValueRef base, const QV4::ValueRef index);
-
void Q_NORETURN __qmljs_builtin_rethrow(QV4::ExecutionContext *context);
QV4::ExecutionContext *__qmljs_builtin_push_with_scope(const QV4::ValueRef o, QV4::ExecutionContext *ctx);
QV4::ExecutionContext *__qmljs_builtin_push_catch_scope(QV4::String *exceptionVarName, const QV4::ValueRef exceptionValue, QV4::ExecutionContext *ctx);
diff --git a/src/qml/jsruntime/qv4vme_moth.cpp b/src/qml/jsruntime/qv4vme_moth.cpp
index bf86345e27..96022cfac7 100644
--- a/src/qml/jsruntime/qv4vme_moth.cpp
+++ b/src/qml/jsruntime/qv4vme_moth.cpp
@@ -437,38 +437,6 @@ QV4::Value VME::run(QV4::ExecutionContext *context, const uchar *&code,
VALUE(instr.result) = __qmljs_builtin_typeof(context, VALUEPTR(instr.value)).get();
MOTH_END_INSTR(CallBuiltinTypeofValue)
- MOTH_BEGIN_INSTR(CallBuiltinPostIncMember)
- __qmljs_builtin_post_increment_member(context, VALUEPTR(instr.result), VALUEPTR(instr.base), runtimeStrings[instr.member]);
- MOTH_END_INSTR(CallBuiltinTypeofMember)
-
- MOTH_BEGIN_INSTR(CallBuiltinPostIncSubscript)
- __qmljs_builtin_post_increment_element(context, VALUEPTR(instr.result), VALUEPTR(instr.base), VALUEPTR(instr.index));
- MOTH_END_INSTR(CallBuiltinTypeofSubscript)
-
- MOTH_BEGIN_INSTR(CallBuiltinPostIncName)
- __qmljs_builtin_post_increment_name(context, VALUEPTR(instr.result), runtimeStrings[instr.name]);
- MOTH_END_INSTR(CallBuiltinTypeofName)
-
- MOTH_BEGIN_INSTR(CallBuiltinPostIncValue)
- __qmljs_builtin_post_increment(VALUEPTR(instr.result), VALUEPTR(instr.value));
- MOTH_END_INSTR(CallBuiltinTypeofValue)
-
- MOTH_BEGIN_INSTR(CallBuiltinPostDecMember)
- __qmljs_builtin_post_decrement_member(context, VALUEPTR(instr.result), VALUEPTR(instr.base), runtimeStrings[instr.member]);
- MOTH_END_INSTR(CallBuiltinTypeofMember)
-
- MOTH_BEGIN_INSTR(CallBuiltinPostDecSubscript)
- __qmljs_builtin_post_decrement_element(context, VALUEPTR(instr.result), VALUEPTR(instr.base), VALUEPTR(instr.index));
- MOTH_END_INSTR(CallBuiltinTypeofSubscript)
-
- MOTH_BEGIN_INSTR(CallBuiltinPostDecName)
- __qmljs_builtin_post_decrement_name(context, VALUEPTR(instr.result), runtimeStrings[instr.name]);
- MOTH_END_INSTR(CallBuiltinTypeofName)
-
- MOTH_BEGIN_INSTR(CallBuiltinPostDecValue)
- __qmljs_builtin_post_decrement(VALUEPTR(instr.result), VALUEPTR(instr.value));
- MOTH_END_INSTR(CallBuiltinTypeofValue)
-
MOTH_BEGIN_INSTR(CallBuiltinDeclareVar)
__qmljs_builtin_declare_var(context, instr.isDeletable, runtimeStrings[instr.varName]);
MOTH_END_INSTR(CallBuiltinDeclareVar)