Changeset 47089 in webkit for trunk/JavaScriptCore/bytecode
- Timestamp:
- Aug 11, 2009, 10:22:33 PM (16 years ago)
- Location:
- trunk/JavaScriptCore/bytecode
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/bytecode/CodeBlock.cpp
r47022 r47089 34 34 #include "JSValue.h" 35 35 #include "Interpreter.h" 36 #include "JSFunction.h" 37 #include "JSStaticScopeObject.h" 36 38 #include "Debugger.h" 37 39 #include "BytecodeGenerator.h" … … 1436 1438 } 1437 1439 1438 for (size_t i = 0; i < m_functionExpressions.size(); ++i) 1439 m_functionExpressions[i]->body()->markAggregate(markStack); 1440 1441 if (m_rareData) { 1442 for (size_t i = 0; i < m_rareData->m_functions.size(); ++i) 1443 m_rareData->m_functions[i]->body()->markAggregate(markStack); 1444 1440 for (size_t i = 0; i < m_functions.size(); ++i) 1441 m_functions[i]->markAggregate(markStack); 1442 1443 if (m_rareData) 1445 1444 m_rareData->m_evalCodeCache.markAggregate(markStack); 1446 }1447 1445 } 1448 1446 … … 1471 1469 RefPtr<FunctionBodyNode> newFunctionBody = m_globalData->parser->reparse<FunctionBodyNode>(m_globalData, ownerFunctionBodyNode); 1472 1470 ASSERT(newFunctionBody); 1473 newFunctionBody->finishParsing(ownerFunctionBodyNode->copyParameters(), ownerFunctionBodyNode->parameterCount() );1471 newFunctionBody->finishParsing(ownerFunctionBodyNode->copyParameters(), ownerFunctionBodyNode->parameterCount(), ownerFunctionBodyNode->ident()); 1474 1472 1475 1473 m_globalData->scopeNodeBeingReparsed = newFunctionBody.get(); … … 1729 1727 1730 1728 m_identifiers.shrinkToFit(); 1731 m_function Expressions.shrinkToFit();1729 m_functions.shrinkToFit(); 1732 1730 m_constantRegisters.shrinkToFit(); 1733 1731 … … 1740 1738 if (m_rareData) { 1741 1739 m_rareData->m_exceptionHandlers.shrinkToFit(); 1742 m_rareData->m_functions.shrinkToFit();1743 1740 m_rareData->m_regexps.shrinkToFit(); 1744 1741 m_rareData->m_immediateSwitchJumpTables.shrinkToFit(); -
trunk/JavaScriptCore/bytecode/CodeBlock.h
r47022 r47089 429 429 ALWAYS_INLINE JSValue getConstant(int index) const { return m_constantRegisters[index - FirstConstantRegisterIndex].jsValue(); } 430 430 431 unsigned addFunctionExpression(FuncExprNode* n) { unsigned size = m_functionExpressions.size(); m_functionExpressions.append(n); return size; } 432 FuncExprNode* functionExpression(int index) const { return m_functionExpressions[index].get(); } 433 434 unsigned addFunction(FuncDeclNode* n) { createRareDataIfNecessary(); unsigned size = m_rareData->m_functions.size(); m_rareData->m_functions.append(n); return size; } 435 FuncDeclNode* function(int index) const { ASSERT(m_rareData); return m_rareData->m_functions[index].get(); } 436 437 bool hasFunctions() const { return m_functionExpressions.size() || (m_rareData && m_rareData->m_functions.size()); } 431 unsigned addFunction(PassRefPtr<FunctionBodyNode> n) { unsigned size = m_functions.size(); m_functions.append(n); return size; } 432 FunctionBodyNode* function(int index) { return m_functions[index].get(); } 438 433 439 434 unsigned addRegExp(RegExp* r) { createRareDataIfNecessary(); unsigned size = m_rareData->m_regexps.size(); m_rareData->m_regexps.append(r); return size; } … … 518 513 Vector<Identifier> m_identifiers; 519 514 Vector<Register> m_constantRegisters; 520 Vector< RefPtr<FuncExprNode> > m_functionExpressions;515 Vector< RefPtr<FunctionBodyNode> > m_functions; 521 516 522 517 SymbolTable m_symbolTable; … … 537 532 538 533 // Rare Constants 539 Vector<RefPtr<FuncDeclNode> > m_functions;540 534 Vector<RefPtr<RegExp> > m_regexps; 541 535
Note:
See TracChangeset
for help on using the changeset viewer.