aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4runtimeapi_p.h
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@qt.io>2017-07-18 15:48:21 +0200
committerErik Verbruggen <erik.verbruggen@qt.io>2017-08-02 13:56:35 +0000
commit3181e3dae0f01077ff209c4e8d9c83e901f20b0e (patch)
tree500b027e8f636916cbdad275dddf4f59eb290a9e /src/qml/jsruntime/qv4runtimeapi_p.h
parent49946ef87478fb34dc017a0ff7592ef9a0336d31 (diff)
Introduce an accumulator in the interpreter, and change instructions
This reduces the number of stores to the stack (for which we need a write-barrier in the future) by keeping the last calculated value in the accumulator register (which is a local variable). In the future we might want to collapse certain common instruction patterns into a super-sized instruction. Change-Id: I02ebed2db957765e994c8f939bf7585894881deb Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4runtimeapi_p.h')
-rw-r--r--src/qml/jsruntime/qv4runtimeapi_p.h6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/qml/jsruntime/qv4runtimeapi_p.h b/src/qml/jsruntime/qv4runtimeapi_p.h
index 736ad5dc6b..38e5d027ce 100644
--- a/src/qml/jsruntime/qv4runtimeapi_p.h
+++ b/src/qml/jsruntime/qv4runtimeapi_p.h
@@ -154,10 +154,8 @@ struct ExceptionCheck<void (*)(QV4::NoThrowEngine *, A, B, C)> {
F(ReturnedValue, uMinus, (const Value &value)) \
F(ReturnedValue, uNot, (const Value &value)) \
F(ReturnedValue, complement, (const Value &value)) \
- F(ReturnedValue, preIncrement, (const Value &value)) \
- F(ReturnedValue, preDecrement, (const Value &value)) \
- F(ReturnedValue, postIncrement, (Value *value)) \
- F(ReturnedValue, postDecrement, (Value *value)) \
+ F(ReturnedValue, increment, (const Value &value)) \
+ F(ReturnedValue, decrement, (const Value &value)) \
\
/* binary operators */ \
F(ReturnedValue, instanceof, (ExecutionEngine *engine, const Value &left, const Value &right)) \