aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/compiler/qv4isel_moth_p.h
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@me.com>2013-10-04 11:55:38 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-10-10 09:54:12 +0200
commit42aa10adc93068acbcdc503342c8db92c5b5b899 (patch)
tree06c153615ee85bf476c5e51c12c503b236807098 /src/qml/compiler/qv4isel_moth_p.h
parente34477bfaf318fe26cd935728eeec144cc1659fa (diff)
V4: Remove more jumps.
Do not generate jump instructions when the target immediately follows the current basic block, even if there are intermediate jumps in between as long as they jump to the same basic block. In the IR snippet below, no jumps will be generated at all. … L8: goto L6; L12: goto L6; L6: goto L4; L11: goto L4; L4: goto L2; L10: goto L2; L2: …. Before this change, the gotos in L8, L6, and L2 were still generated. Change-Id: I718ed0d41c603a6905f2279b782cd9e9cafb7d55 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/qml/compiler/qv4isel_moth_p.h')
-rw-r--r--src/qml/compiler/qv4isel_moth_p.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/qml/compiler/qv4isel_moth_p.h b/src/qml/compiler/qv4isel_moth_p.h
index ca03c5fa30..725dd264aa 100644
--- a/src/qml/compiler/qv4isel_moth_p.h
+++ b/src/qml/compiler/qv4isel_moth_p.h
@@ -175,6 +175,7 @@ private:
uchar *_codeEnd;
StackSlotAllocator *_stackSlotAllocator;
+ QSet<V4IR::Jump *> _removableJumps;
V4IR::Stmt *_currentStatement;
CompilationUnit *compilationUnit;