diff options
author | Erik Verbruggen <erik.verbruggen@qt.io> | 2017-10-27 15:40:10 +0200 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@qt.io> | 2017-11-08 16:21:23 +0000 |
commit | ba775d50571f8cb445500f0c91ec35b777fa947e (patch) | |
tree | 491c2ac0a8d8658604752f6c5b8d4450074326c2 | |
parent | 673a17bf11162c8cd1aefceea4d8f84eab9be4a7 (diff) |
Fastpath any integer compatible value in add/sub/mul
Change-Id: Idc0a272e6ee0ae032f9ff1b492e0b5e777ae5f9d
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
-rw-r--r-- | src/qml/jsruntime/qv4runtime.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/qml/jsruntime/qv4runtime.cpp b/src/qml/jsruntime/qv4runtime.cpp index 7a5d114271..f6a8f9426c 100644 --- a/src/qml/jsruntime/qv4runtime.cpp +++ b/src/qml/jsruntime/qv4runtime.cpp @@ -1318,7 +1318,7 @@ ReturnedValue Runtime::method_add(ExecutionEngine *engine, const Value &left, co { TRACE2(left, right); - if (Q_LIKELY(left.isInteger() && right.isInteger())) + if (Q_LIKELY(left.integerCompatible() && right.integerCompatible())) return add_int32(left.integerValue(), right.integerValue()); if (left.isNumber() && right.isNumber()) return Primitive::fromDouble(left.asDouble() + right.asDouble()).asReturnedValue(); @@ -1331,7 +1331,7 @@ ReturnedValue Runtime::method_sub(const Value &left, const Value &right) { TRACE2(left, right); - if (Q_LIKELY(left.isInteger() && right.isInteger())) + if (Q_LIKELY(left.integerCompatible() && right.integerCompatible())) return sub_int32(left.integerValue(), right.integerValue()); double lval = left.isNumber() ? left.asDouble() : left.toNumberImpl(); @@ -1344,7 +1344,7 @@ ReturnedValue Runtime::method_mul(const Value &left, const Value &right) { TRACE2(left, right); - if (Q_LIKELY(left.isInteger() && right.isInteger())) + if (Q_LIKELY(left.integerCompatible() && right.integerCompatible())) return mul_int32(left.integerValue(), right.integerValue()); double lval = left.isNumber() ? left.asDouble() : left.toNumberImpl(); |