diff options
Diffstat (limited to 'Source/JavaScriptCore/bytecode/CodeBlock.h')
-rw-r--r-- | Source/JavaScriptCore/bytecode/CodeBlock.h | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/Source/JavaScriptCore/bytecode/CodeBlock.h b/Source/JavaScriptCore/bytecode/CodeBlock.h index 1cd0863..f8498b4 100644 --- a/Source/JavaScriptCore/bytecode/CodeBlock.h +++ b/Source/JavaScriptCore/bytecode/CodeBlock.h @@ -248,7 +248,8 @@ namespace JSC { protected: CodeBlock(ScriptExecutable* ownerExecutable, CodeType, JSGlobalObject*, PassRefPtr<SourceProvider>, unsigned sourceOffset, SymbolTable* symbolTable, bool isConstructor); - JSGlobalObject* m_globalObject; + DeprecatedPtr<JSGlobalObject> m_globalObject; + Heap* m_heap; public: virtual ~CodeBlock(); @@ -485,7 +486,7 @@ namespace JSC { unsigned addRegExp(RegExp* r) { createRareDataIfNecessary(); unsigned size = m_rareData->m_regexps.size(); m_rareData->m_regexps.append(r); return size; } RegExp* regexp(int index) const { ASSERT(m_rareData); return m_rareData->m_regexps[index].get(); } - JSGlobalObject* globalObject() { return m_globalObject; } + JSGlobalObject* globalObject() { return m_globalObject.get(); } // Jump Tables @@ -616,17 +617,14 @@ namespace JSC { GlobalCodeBlock(ScriptExecutable* ownerExecutable, CodeType codeType, JSGlobalObject* globalObject, PassRefPtr<SourceProvider> sourceProvider, unsigned sourceOffset) : CodeBlock(ownerExecutable, codeType, globalObject, sourceProvider, sourceOffset, &m_unsharedSymbolTable, false) { - m_globalObject->codeBlocks().add(this); + m_heap->codeBlocks().add(this); } ~GlobalCodeBlock() { - if (m_globalObject) - m_globalObject->codeBlocks().remove(this); + m_heap->codeBlocks().remove(this); } - void clearGlobalObject() { m_globalObject = 0; } - private: SymbolTable m_unsharedSymbolTable; }; |