diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-05-11 09:43:24 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-05-11 09:43:24 +0200 |
commit | 1b914638db989aaa98631a1c1e02c7b2d44805d8 (patch) | |
tree | 87f4fd2c7b38db320079a5de8877890d2ca3c485 /Source/JavaScriptCore/runtime/JSFunction.h | |
parent | 2cf6c8816a73e0132bd8fa3b509d62d7c51b6e47 (diff) | |
download | qtwebkit-1b914638db989aaa98631a1c1e02c7b2d44805d8.tar.gz |
Imported WebKit commit 9a52e27980f47e8b0d8f8b7cc0fd7b5741bceb92 (http://svn.webkit.org/repository/webkit/trunk@116736)
New snapshot to include QDeclarative* -> QQml* build fixes
Diffstat (limited to 'Source/JavaScriptCore/runtime/JSFunction.h')
-rw-r--r-- | Source/JavaScriptCore/runtime/JSFunction.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Source/JavaScriptCore/runtime/JSFunction.h b/Source/JavaScriptCore/runtime/JSFunction.h index 5553115bf..9de66d721 100644 --- a/Source/JavaScriptCore/runtime/JSFunction.h +++ b/Source/JavaScriptCore/runtime/JSFunction.h @@ -121,6 +121,18 @@ namespace JSC { return OBJECT_OFFSETOF(JSFunction, m_executable); } + Structure* cachedInheritorID(ExecState* exec) + { + if (UNLIKELY(!m_cachedInheritorID)) + return cacheInheritorID(exec); + return m_cachedInheritorID.get(); + } + + static size_t offsetOfCachedInheritorID() + { + return OBJECT_OFFSETOF(JSFunction, m_cachedInheritorID); + } + protected: const static unsigned StructureFlags = OverridesGetOwnPropertySlot | ImplementsHasInstance | OverridesVisitChildren | OverridesGetPropertyNames | JSObject::StructureFlags; @@ -130,6 +142,8 @@ namespace JSC { void finishCreation(ExecState*, NativeExecutable*, int length, const Identifier& name); void finishCreation(ExecState*, FunctionExecutable*, ScopeChainNode*); + Structure* cacheInheritorID(ExecState*); + static bool getOwnPropertySlot(JSCell*, ExecState*, const Identifier&, PropertySlot&); static bool getOwnPropertyDescriptor(JSObject*, ExecState*, const Identifier&, PropertyDescriptor&); static void getOwnPropertyNames(JSObject*, ExecState*, PropertyNameArray&, EnumerationMode = ExcludeDontEnumProperties); @@ -152,6 +166,7 @@ namespace JSC { WriteBarrier<ExecutableBase> m_executable; WriteBarrier<ScopeChainNode> m_scopeChain; + WriteBarrier<Structure> m_cachedInheritorID; }; inline bool JSValue::isFunction() const |