aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/compiler/qv4jsir.cpp
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@digia.com>2014-07-23 12:22:11 +0200
committerErik Verbruggen <erik.verbruggen@digia.com>2014-08-18 16:05:55 +0200
commit2ae518d3a4ea994dfb6c120f826ef7c801b70807 (patch)
tree60b14fe12a75619cfef8494789dd72ddb610ff8b /src/qml/compiler/qv4jsir.cpp
parent7e5a589b905969a5712b801cec01be257fbc237c (diff)
V4 IR: Add loop peeling.
By peeling the first iteration off of a loop and putting it in front of the loop, type inference can deduce more type information for esp. loop induction variables. To prevent increasing the code size too much, only the inner-most loops are peeled. This gives a 10% speed-up on crypto.js. Change-Id: I57f9611695bc8defc0bff84e440b8a20b2c8a34e Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
Diffstat (limited to 'src/qml/compiler/qv4jsir.cpp')
-rw-r--r--src/qml/compiler/qv4jsir.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/qml/compiler/qv4jsir.cpp b/src/qml/compiler/qv4jsir.cpp
index 01020be23e..69b08aaf7a 100644
--- a/src/qml/compiler/qv4jsir.cpp
+++ b/src/qml/compiler/qv4jsir.cpp
@@ -753,7 +753,7 @@ Stmt *BasicBlock::CJUMP(Expr *cond, BasicBlock *iftrue, BasicBlock *iffalse)
return s;
}
-Stmt *BasicBlock::RET(Temp *expr)
+Stmt *BasicBlock::RET(Expr *expr)
{
Q_ASSERT(!isRemoved());
if (isTerminated())