aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/qdeclarativeexpression_p.h
diff options
context:
space:
mode:
authorAaron Kennedy <aaron.kennedy@nokia.com>2012-02-14 10:47:03 +0000
committerQt by Nokia <qt-info@nokia.com>2012-02-20 08:34:28 +0100
commit330152354aed8496ac78d145e14b25ee2d7bf8fb (patch)
treed1aacb6ef10d695651a66138050c45cc34249e83 /src/declarative/qml/qdeclarativeexpression_p.h
parentde431c5e6cc8d439ed039e24f050ad8020792ab8 (diff)
Use Utf8 for javascript source code
This saves a surprising amount of memory. Change-Id: I16f7bde8d11fe11703d4e441060fd52e9632248c Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Diffstat (limited to 'src/declarative/qml/qdeclarativeexpression_p.h')
-rw-r--r--src/declarative/qml/qdeclarativeexpression_p.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/declarative/qml/qdeclarativeexpression_p.h b/src/declarative/qml/qdeclarativeexpression_p.h
index 4060a94d4e..bbe4b2ded9 100644
--- a/src/declarative/qml/qdeclarativeexpression_p.h
+++ b/src/declarative/qml/qdeclarativeexpression_p.h
@@ -178,6 +178,7 @@ public:
void init(QDeclarativeContextData *, const QString &, QObject *);
void init(QDeclarativeContextData *, v8::Handle<v8::Function>, QObject *);
void init(QDeclarativeContextData *, const QString &, bool, QObject *, const QString &, int, int);
+ void init(QDeclarativeContextData *, const QByteArray &, bool, QObject *, const QString &, int, int);
QVariant value(QObject *secondaryScope = 0, bool *isUndefined = 0);
@@ -191,8 +192,14 @@ public:
static void exceptionToError(v8::Handle<v8::Message>, QDeclarativeError &);
static v8::Persistent<v8::Function> evalFunction(QDeclarativeContextData *ctxt, QObject *scope,
- const QString &code, const QString &filename, int line,
+ const QString &code, const QString &filename,
+ int line,
v8::Persistent<v8::Object> *qmlscope = 0);
+ static v8::Persistent<v8::Function> evalFunction(QDeclarativeContextData *ctxt, QObject *scope,
+ const char *code, int codeLength,
+ const QString &filename, int line,
+ v8::Persistent<v8::Object> *qmlscope = 0);
+
static QDeclarativeExpression *create(QDeclarativeContextData *, QObject *, const QString &, bool,
const QString &, int, int);
@@ -203,6 +210,7 @@ public:
inline virtual QString expressionIdentifier();
QString expression;
+ QByteArray expressionUtf8;
v8::Persistent<v8::Object> v8qmlscope;
v8::Persistent<v8::Function> v8function;