From d6af21c0c8c842b684064a63cd37575720bc0ed9 Mon Sep 17 00:00:00 2001 From: Kent Hansen Date: Fri, 23 Oct 2009 08:31:50 +0200 Subject: Inline QtScript exception helper functions Makes QScriptValue::toNumber() ~50% faster. Reviewed-by: Olivier Goffart --- src/script/api/qscriptengine_p.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/script/api/qscriptengine_p.h') diff --git a/src/script/api/qscriptengine_p.h b/src/script/api/qscriptengine_p.h index a16785ccdd..ec7c144016 100644 --- a/src/script/api/qscriptengine_p.h +++ b/src/script/api/qscriptengine_p.h @@ -527,6 +527,22 @@ inline void QScriptValuePrivate::operator delete(void *ptr) qFree(d); } +inline void QScriptValuePrivate::saveException(JSC::ExecState *exec, JSC::JSValue *val) +{ + if (exec) { + *val = exec->exception(); + exec->clearException(); + } else { + *val = JSC::JSValue(); + } +} + +inline void QScriptValuePrivate::restoreException(JSC::ExecState *exec, JSC::JSValue val) +{ + if (exec && val) + exec->setException(val); +} + inline void QScriptEnginePrivate::registerScriptString(QScriptStringPrivate *value) { Q_ASSERT(value->type == QScriptStringPrivate::HeapAllocated); -- cgit v1.2.1