<?xml version="1.0"?>
<paste-with-annotations>
  <paste>
    <number>
      <integer>63921</integer>
    </number>
    <user>
      <string>ggaren</string>
    </user>
    <title>
      <string>parser patch</string>
    </title>
    <contents>
      <string>Index: ChangeLog
===================================================================
--- ChangeLog	(revision 35237)
+++ ChangeLog	(working copy)
@@ -2,6 +2,16 @@
 
         Reviewed by Oliver Hunt.
         
+        Removed some defunct data members and code from the parse tree. Should
+        reduce footprint a bit.
+
+        * kjs/nodes.cpp:
+        * kjs/nodes.h:
+
+2008-07-18  Geoffrey Garen  &lt;ggaren@apple.com&gt;
+
+        Reviewed by Oliver Hunt.
+        
         Optimized &lt;= for immediate number cases.
         
         SunSpider reports no overall change, but a 10% speedup on access-nsieve.
Index: kjs/nodes.cpp
===================================================================
--- kjs/nodes.cpp	(revision 35236)
+++ kjs/nodes.cpp	(working copy)
@@ -998,33 +998,6 @@ static inline RegisterID* statementListE
     return 0;
 }
 
-static inline void statementListPushFIFO(StatementVector&amp; statements, DeclarationStacks::NodeStack&amp; stack)
-{
-    StatementVector::iterator it = statements.end();
-    StatementVector::iterator begin = statements.begin();
-    while (it != begin) {
-        --it;
-        stack.append((*it).get());
-    }
-}
-
-static inline Node* statementListInitializeVariableAccessStack(StatementVector&amp; statements, DeclarationStacks::NodeStack&amp; stack)
-{
-    if (statements.isEmpty())
-        return 0;
-
-    StatementVector::iterator it = statements.end();
-    StatementVector::iterator begin = statements.begin();
-    StatementVector::iterator beginPlusOne = begin + 1;
-
-    while (it != beginPlusOne) {
-        --it;
-        stack.append((*it).get());
-    }
-
-    return (*begin).get();
-}
-
 // ------------------------------ BlockNode ------------------------------------
 
 BlockNode::BlockNode(JSGlobalData* globalData, SourceElements* children)
Index: kjs/nodes.h
===================================================================
--- kjs/nodes.h	(revision 35236)
+++ kjs/nodes.h	(working copy)
@@ -369,8 +369,6 @@ namespace KJS {
 
     protected:
         Identifier m_ident;
-        int m_index; // Used by LocalVarAccessNode and ScopedVarAccessNode.
-        size_t m_scopeDepth; // Used by ScopedVarAccessNode
     };
 
     class ElementNode : public Node {
@@ -683,8 +681,6 @@ namespace KJS {
     protected:
         Identifier m_ident;
         RefPtr&lt;ArgumentsNode&gt; m_args;
-        size_t m_index; // Used by LocalVarFunctionCallNode.
-        size_t m_scopeDepth; // Used by ScopedVarFunctionCallNode and NonLocalVarFunctionCallNode
     };
     
     class FunctionCallBracketNode : public ExpressionNode {
@@ -737,7 +733,6 @@ namespace KJS {
 
     protected:
         Identifier m_ident;
-        size_t m_index; // Used by LocalVarPostfixNode.
     };
 
     class PostfixResolveNode : public PrePostResolveNode {
@@ -920,7 +915,6 @@ namespace KJS {
 
     protected:
         Identifier m_ident;
-        size_t m_index; // Used by LocalTypeOfNode.
     };
 
     class TypeOfValueNode : public ExpressionNode {
@@ -1455,7 +1449,6 @@ namespace KJS {
     protected:
         Identifier m_ident;
         RefPtr&lt;ExpressionNode&gt; m_right;
-        size_t m_index; // Used by ReadModifyLocalVarNode.
         Operator m_operator : 31;
         bool m_rightHasAssignments : 1;
     };
@@ -1478,7 +1471,6 @@ namespace KJS {
     protected:
         Identifier m_ident;
         RefPtr&lt;ExpressionNode&gt; m_right;
-        size_t m_index; // Used by ReadModifyLocalVarNode.
         bool m_rightHasAssignments;
     };
 

</string>
    </contents>
    <universal-time>
      <integer>3425405256</integer>
    </universal-time>
    <channel>
      <string>#webkit</string>
    </channel>
    <colorization-mode>
      <string></string>
    </colorization-mode>
    <maybe-spam>
      <null/>
    </maybe-spam>
    <is-unicode>
      <keyword>TRUE</keyword>
    </is-unicode>
  </paste>
</paste-with-annotations>