summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2013-04-15 10:12:52 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2013-04-15 10:53:51 +0200
commit56fc95f0242e30d3a93fa46fd4160f7a1789b1be (patch)
treecc29523a1bfec7b072aa5edf4ad7366020583b62
parent14c2c7dee923818e4b0451bffe8ebc4519ca89f4 (diff)
Smaller cleanups
Change-Id: I47e0211536ca7bae2f38aca04cb5e338759caa68 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
-rw-r--r--src/v4/qv4runtime.cpp12
-rw-r--r--src/v4/qv4runtime.h18
-rw-r--r--src/v4/qv4string.h3
3 files changed, 12 insertions, 21 deletions
diff --git a/src/v4/qv4runtime.cpp b/src/v4/qv4runtime.cpp
index 73e322ef..9cd92677 100644
--- a/src/v4/qv4runtime.cpp
+++ b/src/v4/qv4runtime.cpp
@@ -462,16 +462,6 @@ Value __qmljs_string_from_number(ExecutionContext *ctx, double number)
return Value::fromString(string);
}
-Bool __qmljs_string_compare(String *left, String *right)
-{
- return left->toQString() < right->toQString();
-}
-
-Bool __qmljs_string_equal(String *left, String *right)
-{
- return left->isEqualTo(right);
-}
-
String *__qmljs_string_concat(ExecutionContext *ctx, String *first, String *second)
{
const QString &a = first->toQString();
@@ -806,7 +796,7 @@ Bool __qmljs_strict_equal(const Value &x, const Value &y)
if (x.type() != y.type())
return false;
if (x.isString())
- return __qmljs_string_equal(x.stringValue(), y.stringValue());
+ return x.stringValue()->isEqualTo(y.stringValue());
if (x.isObject() && x.objectValue()->externalComparison && y.objectValue()->externalComparison)
return x.objectValue()->internalClass->engine->externalResourceComparison(x, y);
return false;
diff --git a/src/v4/qv4runtime.h b/src/v4/qv4runtime.h
index 2289ffe6..6e64c44e 100644
--- a/src/v4/qv4runtime.h
+++ b/src/v4/qv4runtime.h
@@ -155,8 +155,6 @@ VM::Function *__qmljs_register_function(ExecutionContext *ctx, String *name,
// strings
double __qmljs_string_to_number(const String *string);
Value __qmljs_string_from_number(ExecutionContext *ctx, double number);
-Bool __qmljs_string_compare(String *left, String *right);
-Bool __qmljs_string_equal(String *left, String *right);
String *__qmljs_string_concat(ExecutionContext *ctx, String *first, String *second);
// objects
@@ -280,7 +278,7 @@ Bool __qmljs_cmp_lt(ExecutionContext *, const Value &left, const Value &right);
Bool __qmljs_cmp_ge(ExecutionContext *, const Value &left, const Value &right);
Bool __qmljs_cmp_le(ExecutionContext *, const Value &left, const Value &right);
Bool __qmljs_cmp_eq(ExecutionContext *, const Value &left, const Value &right);
-Bool __qmljs_cmp_ne(ExecutionContext *ctx, const Value &left, const Value &right);
+Bool __qmljs_cmp_ne(ExecutionContext *, const Value &left, const Value &right);
Bool __qmljs_cmp_se(ExecutionContext *, const Value &left, const Value &right);
Bool __qmljs_cmp_sne(ExecutionContext *, const Value &left, const Value &right);
Bool __qmljs_cmp_instanceof(ExecutionContext *ctx, const Value &left, const Value &right);
@@ -615,7 +613,7 @@ inline Bool __qmljs_cmp_gt(ExecutionContext *, const Value &left, const Value &r
if (Value::bothDouble(l, r)) {
return l.doubleValue() > r.doubleValue();
} else if (l.isString() && r.isString()) {
- return __qmljs_string_compare(r.stringValue(), l.stringValue());
+ return r.stringValue()->compare(l.stringValue());
} else {
double dl = __qmljs_to_number(l);
double dr = __qmljs_to_number(r);
@@ -635,7 +633,7 @@ inline Bool __qmljs_cmp_lt(ExecutionContext *, const Value &left, const Value &r
if (Value::bothDouble(l, r)) {
return l.doubleValue() < r.doubleValue();
} else if (l.isString() && r.isString()) {
- return __qmljs_string_compare(l.stringValue(), r.stringValue());
+ return l.stringValue()->compare(r.stringValue());
} else {
double dl = __qmljs_to_number(l);
double dr = __qmljs_to_number(r);
@@ -655,7 +653,7 @@ inline Bool __qmljs_cmp_ge(ExecutionContext *, const Value &left, const Value &r
if (Value::bothDouble(l, r)) {
return l.doubleValue() >= r.doubleValue();
} else if (l.isString() && r.isString()) {
- return !__qmljs_string_compare(l.stringValue(), r.stringValue());
+ return !l.stringValue()->compare(r.stringValue());
} else {
double dl = __qmljs_to_number(l);
double dr = __qmljs_to_number(r);
@@ -675,7 +673,7 @@ inline Bool __qmljs_cmp_le(ExecutionContext *, const Value &left, const Value &r
if (Value::bothDouble(l, r)) {
return l.doubleValue() <= r.doubleValue();
} else if (l.isString() && r.isString()) {
- return !__qmljs_string_compare(r.stringValue(), l.stringValue());
+ return !r.stringValue()->compare(l.stringValue());
} else {
double dl = __qmljs_to_number(l);
double dr = __qmljs_to_number(r);
@@ -693,16 +691,16 @@ inline Bool __qmljs_cmp_eq(ExecutionContext *, const Value &left, const Value &r
if (left.val == right.val)
return true;
if (left.isString() && right.isString())
- return __qmljs_string_equal(left.stringValue(), right.stringValue());
+ return left.stringValue()->isEqualTo(right.stringValue());
return __qmljs_equal(left, right);
}
-inline Bool __qmljs_cmp_ne(ExecutionContext *ctx, const Value &left, const Value &right)
+inline Bool __qmljs_cmp_ne(ExecutionContext *, const Value &left, const Value &right)
{
TRACE2(left, right);
- return !__qmljs_cmp_eq(ctx, left, right);
+ return !__qmljs_cmp_eq(0, left, right);
}
inline Bool __qmljs_cmp_se(ExecutionContext *, const Value &left, const Value &right)
diff --git a/src/v4/qv4string.h b/src/v4/qv4string.h
index cc93532e..f4eeb7d0 100644
--- a/src/v4/qv4string.h
+++ b/src/v4/qv4string.h
@@ -76,6 +76,9 @@ struct String : public Managed {
return toQString() == other->toQString();
}
+ inline bool compare(const String *other) {
+ return toQString() < other->toQString();
+ }
inline const QString &toQString() const {
return _text;