Changeset 34319 in webkit for trunk/JavaScriptCore/kjs
- Timestamp:
- Jun 2, 2008, 1:45:13 PM (17 years ago)
- Location:
- trunk/JavaScriptCore/kjs
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/nodes.cpp
r34303 r34319 5851 5851 m_code.set(new EvalCodeBlock(this, globalObject)); 5852 5852 5853 CodeGenerator generator(this, globalObject->debugger(), scopeChain, &symbolTable, m_code.get() , m_varStack, m_functionStack);5853 CodeGenerator generator(this, globalObject->debugger(), scopeChain, &symbolTable, m_code.get()); 5854 5854 generator.generate(); 5855 5856 m_children.shrinkCapacity(0);5857 5855 } 5858 5856 … … 5891 5889 m_code.set(new CodeBlock(this)); 5892 5890 5893 CodeGenerator generator(this, globalObject->debugger(), scopeChain, &m_symbolTable, m_code.get() , m_varStack, m_functionStack, m_parameters);5891 CodeGenerator generator(this, globalObject->debugger(), scopeChain, &m_symbolTable, m_code.get()); 5894 5892 generator.generate(); 5895 5896 m_children.shrinkCapacity(0);5897 5893 } 5898 5894 … … 5931 5927 CodeGenerator generator(this, globalObject->debugger(), scopeChain, &globalObject->symbolTable(), m_code.get(), m_varStack, m_functionStack, canCreateGlobals); 5932 5928 generator.generate(); 5933 5934 m_children.shrinkCapacity(0);5935 5929 } 5936 5930 … … 6031 6025 6032 6026 for (size_t i = 0, size = m_functionStack.size(); i < size; ++i) { 6033 FuncDeclNode* node = m_functionStack[i] ;6027 FuncDeclNode* node = m_functionStack[i].get(); 6034 6028 LocalStorageEntry entry = LocalStorageEntry(node->makeFunction(exec, exec->scopeChain().node()), minAttributes); 6035 6029 size_t index = m_functionIndexes[i]; … … 6081 6075 6082 6076 for (i = 0, size = m_functionStack.size(); i < size; ++i) { 6083 FuncDeclNode* funcDecl = m_functionStack[i] ;6077 FuncDeclNode* funcDecl = m_functionStack[i].get(); 6084 6078 variableObject->putWithAttributes(exec, funcDecl->m_ident, funcDecl->makeFunction(exec, exec->scopeChain().node()), 0); 6085 6079 } -
trunk/JavaScriptCore/kjs/nodes.h
r33979 r34319 100 100 enum { IsConstant = 1, HasInitializer = 2 } VarAttrs; 101 101 typedef Vector<std::pair<Identifier, unsigned>, 16> VarStack; 102 typedef Vector< FuncDeclNode*, 16> FunctionStack;102 typedef Vector<RefPtr<FuncDeclNode>, 16> FunctionStack; 103 103 104 104 DeclarationStacks(ExecState* e, NodeStack& n, VarStack& v, FunctionStack& f) … … 2621 2621 virtual void streamTo(SourceStream&) const KJS_FAST_CALL; 2622 2622 2623 StatementVector& children() { return m_children; } 2624 2623 2625 protected: 2624 2626 StatementVector m_children; … … 2959 2961 bool usesEval() const { return m_usesEval; } 2960 2962 bool needsClosure() const { return m_needsClosure; } 2961 2963 2964 VarStack& varStack() { return m_varStack; } 2965 FunctionStack& functionStack() { return m_functionStack; } 2966 2962 2967 protected: 2963 2968 void optimizeVariableAccess(OldInterpreterExecState*) KJS_FAST_CALL;
Note:
See TracChangeset
for help on using the changeset viewer.