Changeset 27215 in webkit for trunk/JavaScriptCore/kjs/Parser.cpp


Ignore:
Timestamp:
Oct 28, 2007, 11:49:54 PM (18 years ago)
Author:
mjs
Message:

Reviewed by Darin.



Not a significant speedup or slowdown on SunSpider.

  • kjs/Parser.cpp: (KJS::clearNewNodes):
  • kjs/Parser.h:
  • kjs/grammar.y:
  • kjs/nodes.cpp: (KJS::BlockNode::BlockNode): (KJS::CaseBlockNode::CaseBlockNode): (KJS::FunctionBodyNode::FunctionBodyNode): (KJS::SourceElementsNode::SourceElementsNode): (KJS::ProgramNode::ProgramNode):
  • kjs/nodes.h: (KJS::ElementNode::): (KJS::ArrayNode::): (KJS::PropertyListNode::): (KJS::ObjectLiteralNode::): (KJS::ArgumentListNode::): (KJS::ArgumentsNode::): (KJS::VarDeclListNode::): (KJS::VarStatementNode::): (KJS::ForNode::): (KJS::ParameterNode::): (KJS::FuncExprNode::): (KJS::FuncDeclNode::): (KJS::SourceElementsNode::): (KJS::CaseClauseNode::): (KJS::ClauseListNode::):
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/kjs/Parser.cpp

    r18837 r27215  
    3838
    3939static RefPtr<ProgramNode>* progNode;
    40 static HashSet<Node*>* nodeCycles;
    41 
    42 void Parser::noteNodeCycle(Node *node)
    43 {
    44     if (!nodeCycles)
    45         nodeCycles = new HashSet<Node*>;
    46     nodeCycles->add(node);
    47 }
    48 
    49 void Parser::removeNodeCycle(Node *node)
    50 {
    51     ASSERT(nodeCycles);
    52     nodeCycles->remove(node);
    53 }
    54 
    55 static void clearNewNodes()
    56 {
    57     if (nodeCycles) {
    58         for (HashSet<Node*>::iterator it = nodeCycles->begin(); it != nodeCycles->end(); ++it)
    59             (*it)->breakCycle();
    60         delete nodeCycles;
    61         nodeCycles = 0;
    62     }
    63     Node::clearNewNodes();
    64 }
    6540
    6641PassRefPtr<ProgramNode> Parser::parse(const UString& sourceURL, int startingLineNumber,
     
    9166    *progNode = 0;
    9267
    93     clearNewNodes();
     68    Node::clearNewNodes();
    9469
    9570    if (parseError || lexError) {
Note: See TracChangeset for help on using the changeset viewer.