aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/compiler/qv4codegen.cpp
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@qt.io>2017-08-18 12:28:04 +0200
committerErik Verbruggen <erik.verbruggen@qt.io>2017-08-18 11:49:39 +0000
commit625fb43d68c84e0384b756f6e3d53f2a8a90ff04 (patch)
treed901ebc0042ec9d747b1dd3d5ab501050752265a /src/qml/compiler/qv4codegen.cpp
parent6b7194492624dc1b492593b011b56a165f13dacd (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.cpp8
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;