From cb3544a0c33973cfb662e0215e1b130d23045814 Mon Sep 17 00:00:00 2001
From: Kent Hansen <khansen@trolltech.com>
Date: Thu, 22 Oct 2009 15:51:37 +0200
Subject: Inline internal QtScript functions (frameForContext())

Makes QScriptContext::parentContext() 50% faster.

Reviewed-by: Olivier Goffart
---
 src/script/api/qscriptengine.cpp | 10 ----------
 src/script/api/qscriptengine_p.h | 14 ++++++++++++--
 2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/src/script/api/qscriptengine.cpp b/src/script/api/qscriptengine.cpp
index 0673f5b..ceaeccb 100644
--- a/src/script/api/qscriptengine.cpp
+++ b/src/script/api/qscriptengine.cpp
@@ -995,16 +995,6 @@ void QScriptEnginePrivate::setDefaultPrototype(int metaTypeId, JSC::JSValue prot
     info->prototype = prototype;
 }
 
-JSC::ExecState *QScriptEnginePrivate::frameForContext(QScriptContext *context)
-{
-    return reinterpret_cast<JSC::ExecState*>(context);
-}
-
-const JSC::ExecState *QScriptEnginePrivate::frameForContext(const QScriptContext *context)
-{
-    return reinterpret_cast<const JSC::ExecState*>(context);
-}
-
 JSC::JSGlobalObject *QScriptEnginePrivate::originalGlobalObject() const
 {
     return globalData->head;
diff --git a/src/script/api/qscriptengine_p.h b/src/script/api/qscriptengine_p.h
index 42c0444..02cf100 100644
--- a/src/script/api/qscriptengine_p.h
+++ b/src/script/api/qscriptengine_p.h
@@ -148,8 +148,8 @@ public:
     void setDefaultPrototype(int metaTypeId, JSC::JSValue prototype);
 
     static inline QScriptContext *contextForFrame(JSC::ExecState *frame);
-    static JSC::ExecState *frameForContext(QScriptContext *context);
-    static const JSC::ExecState *frameForContext(const QScriptContext *context);
+    static inline JSC::ExecState *frameForContext(QScriptContext *context);
+    static inline const JSC::ExecState *frameForContext(const QScriptContext *context);
 
     JSC::JSGlobalObject *originalGlobalObject() const;
     JSC::JSObject *getOriginalGlobalObjectProxy();
@@ -522,6 +522,16 @@ inline QScriptContext *QScriptEnginePrivate::contextForFrame(JSC::ExecState *fra
     return reinterpret_cast<QScriptContext *>(frame);
 }
 
+inline JSC::ExecState *QScriptEnginePrivate::frameForContext(QScriptContext *context)
+{
+    return reinterpret_cast<JSC::ExecState*>(context);
+}
+
+inline const JSC::ExecState *QScriptEnginePrivate::frameForContext(const QScriptContext *context)
+{
+    return reinterpret_cast<const JSC::ExecState*>(context);
+}
+
 inline JSC::ExecState *QScriptEnginePrivate::globalExec() const
 {
     return originalGlobalObject()->globalExec();
-- 
cgit v0.12