Add utility conversion methods for use in the JIT.
authorErik Verbruggen <erik.verbruggen@me.com>
Tue, 30 Jul 2013 14:53:03 +0000 (16:53 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Wed, 14 Aug 2013 08:51:12 +0000 (10:51 +0200)
Change-Id: Iec3eeb849df924919662e8d2ca6593d66c70e3eb
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
src/qml/jsruntime/qv4runtime.cpp
src/qml/jsruntime/qv4runtime_p.h

index ed2c146..76e908c 100644 (file)
@@ -1245,6 +1245,25 @@ void __qmljs_decrement(Value *result, const Value &value)
     }
 }
 
+int __qmljs_value_to_int32(const Value &value)
+{
+    return value.toInt32();
+}
+
+int __qmljs_double_to_int32(double d)
+{
+    return Value::toInt32(d);
+}
+
+unsigned __qmljs_value_to_uint32(const Value &value)
+{
+    return value.toUInt32();
+}
+
+unsigned __qmljs_double_to_uint32(double d)
+{
+    return Value::toUInt32(d);
+}
 } // namespace QV4
 
 QT_END_NAMESPACE
index 836aedf..dd75e6f 100644 (file)
@@ -299,6 +299,11 @@ inline double __qmljs_to_number(const QV4::Value &value)
     }
 }
 
+Q_QML_EXPORT int __qmljs_value_to_int32(const QV4::Value &value);
+Q_QML_EXPORT int __qmljs_double_to_int32(double);
+Q_QML_EXPORT unsigned __qmljs_value_to_uint32(const QV4::Value &value);
+Q_QML_EXPORT unsigned __qmljs_double_to_uint32(double);
+
 inline QV4::Value __qmljs_to_string(const QV4::Value &value, QV4::ExecutionContext *ctx)
 {
     if (value.isString())