diff options
author | Erik Verbruggen <erik.verbruggen@qt.io> | 2017-08-18 12:28:04 +0200 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@qt.io> | 2017-08-18 11:49:39 +0000 |
commit | 625fb43d68c84e0384b756f6e3d53f2a8a90ff04 (patch) | |
tree | d901ebc0042ec9d747b1dd3d5ab501050752265a /src/qml/compiler/qv4codegen.cpp | |
parent | 6b7194492624dc1b492593b011b56a165f13dacd (diff) |
Split store-on-stack functions for "known destination"
If the destination slot is known, there is no need to return and use it.
This also works around certain versions of GCC that won't recognize the
cast-to-void pattern to ignore return results.
Change-Id: Iabf7ab1141c4f606030f2dda10ef69d1b090fb72
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/qml/compiler/qv4codegen.cpp')
-rw-r--r-- | src/qml/compiler/qv4codegen.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/qml/compiler/qv4codegen.cpp b/src/qml/compiler/qv4codegen.cpp index 9e05c77966..ed537dfb84 100644 --- a/src/qml/compiler/qv4codegen.cpp +++ b/src/qml/compiler/qv4codegen.cpp @@ -2880,7 +2880,13 @@ Codegen::Reference Codegen::Reference::storeConsumeAccumulator() const return Reference(); } -Codegen::Reference Codegen::Reference::storeOnStack(int slotIndex) const +Codegen::Reference Codegen::Reference::storeOnStack() const +{ return doStoreOnStack(-1); } + +void Codegen::Reference::storeOnStack(int slotIndex) const +{ doStoreOnStack(slotIndex); } + +Codegen::Reference Codegen::Reference::doStoreOnStack(int slotIndex) const { if (isStackSlot() && slotIndex == -1) return *this; |