aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime/qv4runtime.cpp
diff options
context:
space:
mode:
authorLars Knoll <[email protected]>2014-02-07 09:46:02 +0100
committerThe Qt Project <[email protected]>2014-02-22 10:11:06 +0100
commitb8bb8d752639d0907922bdd4e4a944534a0a6770 (patch)
treedef6913e3ffbf43176b0426ae31f8351c2b98579 /src/qml/jsruntime/qv4runtime.cpp
parent109889428edc5e4cf25c9fdd11a5e006e8a08630 (diff)
Simplify some runtime code
Simpler code and delivers the same performance. Change-Id: Ifd0398f0c123f4c21998f518574cf74cd7cf7e09 Reviewed-by: Simon Hausmann <[email protected]>
Diffstat (limited to 'src/qml/jsruntime/qv4runtime.cpp')
-rw-r--r--src/qml/jsruntime/qv4runtime.cpp24
1 files changed, 12 insertions, 12 deletions
diff --git a/src/qml/jsruntime/qv4runtime.cpp b/src/qml/jsruntime/qv4runtime.cpp
index 38d46f3eea..f89a51fd85 100644
--- a/src/qml/jsruntime/qv4runtime.cpp
+++ b/src/qml/jsruntime/qv4runtime.cpp
@@ -729,10 +729,10 @@ Bool __qmljs_strict_equal(const ValueRef x, const ValueRef y)
QV4::Bool __qmljs_cmp_gt(const QV4::ValueRef l, const QV4::ValueRef r)
{
TRACE2(l, r);
- if (QV4::Value::integerCompatible(*l, *r))
+ if (l->isInteger() && r->isInteger())
return l->integerValue() > r->integerValue();
- if (QV4::Value::bothDouble(*l, *r))
- return l->doubleValue() > r->doubleValue();
+ if (l->isNumber() && r->isNumber())
+ return l->asDouble() > r->asDouble();
if (l->isString() && r->isString())
return r->stringValue()->compare(l->stringValue());
@@ -752,10 +752,10 @@ QV4::Bool __qmljs_cmp_gt(const QV4::ValueRef l, const QV4::ValueRef r)
QV4::Bool __qmljs_cmp_lt(const QV4::ValueRef l, const QV4::ValueRef r)
{
TRACE2(l, r);
- if (QV4::Value::integerCompatible(*l, *r))
+ if (l->isInteger() && r->isInteger())
return l->integerValue() < r->integerValue();
- if (QV4::Value::bothDouble(*l, *r))
- return l->doubleValue() < r->doubleValue();
+ if (l->isNumber() && r->isNumber())
+ return l->asDouble() < r->asDouble();
if (l->isString() && r->isString())
return l->stringValue()->compare(r->stringValue());
@@ -775,10 +775,10 @@ QV4::Bool __qmljs_cmp_lt(const QV4::ValueRef l, const QV4::ValueRef r)
QV4::Bool __qmljs_cmp_ge(const QV4::ValueRef l, const QV4::ValueRef r)
{
TRACE2(l, r);
- if (QV4::Value::integerCompatible(*l, *r))
+ if (l->isInteger() && r->isInteger())
return l->integerValue() >= r->integerValue();
- if (QV4::Value::bothDouble(*l, *r))
- return l->doubleValue() >= r->doubleValue();
+ if (l->isNumber() && r->isNumber())
+ return l->asDouble() >= r->asDouble();
if (l->isString() && r->isString())
return !l->stringValue()->compare(r->stringValue());
@@ -798,10 +798,10 @@ QV4::Bool __qmljs_cmp_ge(const QV4::ValueRef l, const QV4::ValueRef r)
QV4::Bool __qmljs_cmp_le(const QV4::ValueRef l, const QV4::ValueRef r)
{
TRACE2(l, r);
- if (QV4::Value::integerCompatible(*l, *r))
+ if (l->isInteger() && r->isInteger())
return l->integerValue() <= r->integerValue();
- if (QV4::Value::bothDouble(*l, *r))
- return l->doubleValue() <= r->doubleValue();
+ if (l->isNumber() && r->isNumber())
+ return l->asDouble() <= r->asDouble();
if (l->isString() && r->isString())
return !r->stringValue()->compare(l->stringValue());