Skip to content

Commit 91a1eda

Browse files
committed
Performance fix for QScriptString.
QScritpString should use symbols as an implementation to increase chance to hit fast cases, for example for equals algorithm. Reviewed-by: Caio Marcelo de Oliveira Filho
1 parent 4ff8569 commit 91a1eda

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

src/script/api/qscriptstring_impl_p.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,10 @@ QScriptStringPrivate::QScriptStringPrivate()
5050
{}
5151

5252
QScriptStringPrivate::QScriptStringPrivate(QScriptEnginePrivate *engine, v8::Handle<v8::String> str)
53-
: m_engine(engine), m_string(v8::Persistent<v8::String>::New(str))
53+
: m_engine(engine)
5454
{
55+
const v8::String::Utf8Value utf8(str);
56+
m_string = v8::Persistent<v8::String>::New(v8::String::NewSymbol(*utf8, utf8.length()));
5557
Q_ASSERT(!m_string.IsEmpty());
5658
m_engine->registerString(this);
5759
}

0 commit comments

Comments
 (0)