aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/compiler/qv4regalloc.cpp
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@me.com>2013-08-28 15:05:24 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-11 17:12:27 +0200
commit7a73e68b613ea724c90507d81801fc8f1de7fce1 (patch)
tree455ac7b52b9e0a414a99a3b7919888214b4d0566 /src/qml/compiler/qv4regalloc.cpp
parent6aabeb55e663933149b716b47bcfbb37525babb4 (diff)
V4 JIT: generate code for binary expressions.
Change-Id: If32ee3528fa0b6a2d04263d6c6abe1d34053d658 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/compiler/qv4regalloc.cpp')
-rw-r--r--src/qml/compiler/qv4regalloc.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/qml/compiler/qv4regalloc.cpp b/src/qml/compiler/qv4regalloc.cpp
index 1c8bb66fc1..d1a7e8e802 100644
--- a/src/qml/compiler/qv4regalloc.cpp
+++ b/src/qml/compiler/qv4regalloc.cpp
@@ -420,6 +420,13 @@ protected: // IRDecoder
{
bool needsCall = true;
+ if (leftSource->type == DoubleType && rightSource->type == DoubleType) {
+ if (oper == OpMul || oper == OpAdd || oper == OpDiv || oper == OpSub
+ || (oper >= OpGt && oper <= OpStrictNotEqual)) {
+ needsCall = false;
+ }
+ }
+
#if 0 // TODO: change masm to generate code
switch (leftSource->type) {
case DoubleType: