diff options
author | Lars Knoll <[email protected]> | 2014-02-07 09:46:02 +0100 |
---|---|---|
committer | The Qt Project <[email protected]> | 2014-02-22 10:11:06 +0100 |
commit | b8bb8d752639d0907922bdd4e4a944534a0a6770 (patch) | |
tree | def6913e3ffbf43176b0426ae31f8351c2b98579 /src/qml/jsruntime/qv4runtime.cpp | |
parent | 109889428edc5e4cf25c9fdd11a5e006e8a08630 (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.cpp | 24 |
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()); |