Changeset 47627 in webkit for trunk/JavaScriptCore/runtime
- Timestamp:
- Aug 21, 2009, 12:48:59 AM (16 years ago)
- Location:
- trunk/JavaScriptCore/runtime
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/runtime/Executable.cpp
r47620 r47627 56 56 ASSERT(!m_evalCodeBlock); 57 57 m_evalCodeBlock = new EvalCodeBlock(this, globalObject, source().provider(), scopeChain.localDepth()); 58 OwnPtr<BytecodeGenerator> generator(new BytecodeGenerator(evalNode(), globalObject->debugger(), scopeChain, &m_evalCodeBlock->symbolTable(), m_evalCodeBlock));58 OwnPtr<BytecodeGenerator> generator(new BytecodeGenerator(evalNode(), globalObject->debugger(), scopeChain, m_evalCodeBlock->symbolTable(), m_evalCodeBlock)); 59 59 generator->generate(); 60 60 … … 84 84 ASSERT(!m_codeBlock); 85 85 m_codeBlock = new FunctionCodeBlock(this, FunctionCode, source().provider(), source().startOffset()); 86 OwnPtr<BytecodeGenerator> generator(new BytecodeGenerator(body(), globalObject->debugger(), scopeChain, &m_codeBlock->symbolTable(), m_codeBlock));86 OwnPtr<BytecodeGenerator> generator(new BytecodeGenerator(body(), globalObject->debugger(), scopeChain, m_codeBlock->symbolTable(), m_codeBlock)); 87 87 generator->generate(); 88 88 m_numParameters = m_codeBlock->m_numParameters; … … 148 148 globalData->functionCodeBlockBeingReparsed = newCodeBlock.get(); 149 149 150 OwnPtr<BytecodeGenerator> generator(new BytecodeGenerator(newFunctionBody.get(), globalObject->debugger(), scopeChain, &newCodeBlock->symbolTable(), newCodeBlock.get()));150 OwnPtr<BytecodeGenerator> generator(new BytecodeGenerator(newFunctionBody.get(), globalObject->debugger(), scopeChain, newCodeBlock->symbolTable(), newCodeBlock.get())); 151 151 generator->setRegeneratingForExceptionInfo(static_cast<FunctionCodeBlock*>(codeBlock)); 152 152 generator->generate(); … … 173 173 OwnPtr<EvalCodeBlock> newCodeBlock(new EvalCodeBlock(this, globalObject, source().provider(), scopeChain.localDepth())); 174 174 175 OwnPtr<BytecodeGenerator> generator(new BytecodeGenerator(newEvalBody.get(), globalObject->debugger(), scopeChain, &newCodeBlock->symbolTable(), newCodeBlock.get()));175 OwnPtr<BytecodeGenerator> generator(new BytecodeGenerator(newEvalBody.get(), globalObject->debugger(), scopeChain, newCodeBlock->symbolTable(), newCodeBlock.get())); 176 176 generator->setRegeneratingForExceptionInfo(static_cast<EvalCodeBlock*>(codeBlock)); 177 177 generator->generate(); -
trunk/JavaScriptCore/runtime/JSActivation.h
r47412 r47627 71 71 private: 72 72 struct JSActivationData : public JSVariableObjectData { 73 JSActivationData(PassRefPtr<FunctionExecutable> functionExecutable, Register* registers)74 : JSVariableObjectData( &functionExecutable->generatedBytecode().symbolTable(), registers)75 , functionExecutable( functionExecutable)73 JSActivationData(PassRefPtr<FunctionExecutable> _functionExecutable, Register* registers) 74 : JSVariableObjectData(_functionExecutable->generatedBytecode().symbolTable(), registers) 75 , functionExecutable(_functionExecutable) 76 76 { 77 // We have to manually ref and deref the symbol table as JSVariableObjectData 78 // doesn't know about SharedSymbolTable 79 functionExecutable->generatedBytecode().sharedSymbolTable()->ref(); 80 } 81 ~JSActivationData() 82 { 83 static_cast<SharedSymbolTable*>(symbolTable)->deref(); 77 84 } 78 85 -
trunk/JavaScriptCore/runtime/SymbolTable.h
r44224 r47627 122 122 typedef HashMap<RefPtr<UString::Rep>, SymbolTableEntry, IdentifierRepHash, HashTraits<RefPtr<UString::Rep> >, SymbolTableIndexHashTraits> SymbolTable; 123 123 124 class SharedSymbolTable : public SymbolTable, public RefCounted<SharedSymbolTable> 125 { 126 }; 127 124 128 } // namespace JSC 125 129
Note:
See TracChangeset
for help on using the changeset viewer.