diff options
author | Erik Verbruggen <erik.verbruggen@qt.io> | 2017-07-18 15:48:21 +0200 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@qt.io> | 2017-08-02 13:56:35 +0000 |
commit | 3181e3dae0f01077ff209c4e8d9c83e901f20b0e (patch) | |
tree | 500b027e8f636916cbdad275dddf4f59eb290a9e /src/qml/jsruntime/qv4runtimeapi_p.h | |
parent | 49946ef87478fb34dc017a0ff7592ef9a0336d31 (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.h | 6 |
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)) \ |