diff options
author | Bradley T. Hughes <bradley.hughes@nokia.com> | 2009-06-24 15:18:05 (GMT) |
---|---|---|
committer | Bradley T. Hughes <bradley.hughes@nokia.com> | 2009-06-24 15:18:05 (GMT) |
commit | 723dfce0f2af6d93d2c1b50f5e44ad3cf63e058c (patch) | |
tree | f8e1c8693aceea8f1d2fc03d9ad1555b0a441a27 /src/3rdparty/webkit/JavaScriptCore/runtime/JSFunction.cpp | |
parent | f90d8f3fe7e39a20b93a2ddfe0704bc48f3bd5f9 (diff) | |
parent | dab9d7c67ed2eda150c8da9e41db75f7eeeecd0d (diff) | |
download | Qt-723dfce0f2af6d93d2c1b50f5e44ad3cf63e058c.zip Qt-723dfce0f2af6d93d2c1b50f5e44ad3cf63e058c.tar.gz Qt-723dfce0f2af6d93d2c1b50f5e44ad3cf63e058c.tar.bz2 |
Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/qt
Conflicts:
src/gui/kernel/qapplication_x11.cpp
Diffstat (limited to 'src/3rdparty/webkit/JavaScriptCore/runtime/JSFunction.cpp')
-rw-r--r-- | src/3rdparty/webkit/JavaScriptCore/runtime/JSFunction.cpp | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/JSFunction.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/JSFunction.cpp index f456451..b79074f 100644 --- a/src/3rdparty/webkit/JavaScriptCore/runtime/JSFunction.cpp +++ b/src/3rdparty/webkit/JavaScriptCore/runtime/JSFunction.cpp @@ -48,7 +48,7 @@ const ClassInfo JSFunction::info = { "Function", &InternalFunction::info, 0, 0 } JSFunction::JSFunction(ExecState* exec, PassRefPtr<Structure> structure, int length, const Identifier& name, NativeFunction func) : Base(&exec->globalData(), structure, name) #if ENABLE(JIT) - , m_body(exec->globalData().nativeFunctionThunk()) + , m_body(FunctionBodyNode::createNativeThunk(&exec->globalData())) #else , m_body(0) #endif @@ -76,22 +76,19 @@ JSFunction::~JSFunction() // JIT code for other functions may have had calls linked directly to the code for this function; these links // are based on a check for the this pointer value for this JSFunction - which will no longer be valid once // this memory is freed and may be reused (potentially for another, different JSFunction). - if (!isHostFunction()) { - if (m_body && m_body->isGenerated()) - m_body->generatedBytecode().unlinkCallers(); - scopeChain().~ScopeChain(); - } - + if (m_body && m_body->isGenerated()) + m_body->generatedBytecode().unlinkCallers(); #endif + if (!isHostFunction()) + scopeChain().~ScopeChain(); } void JSFunction::mark() { Base::mark(); - if (!isHostFunction()) { - m_body->mark(); + m_body->mark(); + if (!isHostFunction()) scopeChain().mark(); - } } CallType JSFunction::getCallData(CallData& callData) |