Changeset 12593 in webkit for trunk/JavaScriptCore/kjs/nodes.cpp


Ignore:
Timestamp:
Feb 5, 2006, 11:49:05 PM (19 years ago)
Author:
mjs
Message:

Reviewed by Anders.


  • kjs/internal.cpp: (KJS::Parser::noteNodeCycle): (KJS::Parser::removeNodeCycle): (KJS::clearNewNodes):
  • kjs/internal.h:
  • kjs/nodes.cpp: (ElementNode::breakCycle): (PropertyListNode::breakCycle): (ArgumentListNode::breakCycle): (StatListNode::StatListNode): (StatListNode::breakCycle): (VarDeclListNode::breakCycle): (BlockNode::BlockNode): (ClauseListNode::breakCycle): (CaseBlockNode::CaseBlockNode): (ParameterNode::breakCycle): (SourceElementsNode::SourceElementsNode): (SourceElementsNode::breakCycle):
  • kjs/nodes.h: (KJS::Node::breakCycle): (KJS::ElementNode::ElementNode): (KJS::ArrayNode::ArrayNode): (KJS::PropertyListNode::PropertyListNode): (KJS::ObjectLiteralNode::ObjectLiteralNode): (KJS::ArgumentListNode::ArgumentListNode): (KJS::ArgumentsNode::ArgumentsNode): (KJS::VarDeclListNode::VarDeclListNode): (KJS::VarStatementNode::VarStatementNode): (KJS::ForNode::ForNode): (KJS::CaseClauseNode::CaseClauseNode): (KJS::ClauseListNode::ClauseListNode): (KJS::ParameterNode::ParameterNode): (KJS::FuncExprNode::FuncExprNode): (KJS::FuncDeclNode::FuncDeclNode):
File:
1 edited

Legend:

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

    r12564 r12593  
    336336}
    337337
     338void ElementNode::breakCycle()
     339{
     340    next = 0;
     341}
     342
    338343// ------------------------------ ArrayNode ------------------------------------
    339344
     
    403408}
    404409
     410void PropertyListNode::breakCycle()
     411{
     412    next = 0;
     413}
     414
    405415// ------------------------------ PropertyNode -----------------------------
    406416// ECMA 11.1.5
     
    474484
    475485  return l;
     486}
     487
     488void ArgumentListNode::breakCycle()
     489{
     490    next = 0;
    476491}
    477492
     
    14361451  : statement(s), next(this)
    14371452{
    1438   setLoc(s->firstLine(), s->lastLine(), s->sourceId());
     1453    Parser::noteNodeCycle(this);
     1454    setLoc(s->firstLine(), s->lastLine(), s->sourceId());
    14391455}
    14401456 
     
    14761492}
    14771493
     1494void StatListNode::breakCycle()
     1495{
     1496    next = 0;
     1497}
     1498
    14781499// ------------------------------ AssignExprNode -------------------------------
    14791500
     
    15581579}
    15591580
     1581void VarDeclListNode::breakCycle()
     1582{
     1583    next = 0;
     1584}
     1585
    15601586// ------------------------------ VarStatementNode -----------------------------
    15611587
     
    15821608  if (s) {
    15831609    source = s->next;
     1610    Parser::removeNodeCycle(source.get());
    15841611    s->next = 0;
    15851612    setLoc(s->firstLine(), s->lastLine(), s->sourceId());
     
    20352062}
    20362063
     2064void ClauseListNode::breakCycle()
     2065{
     2066    next = 0;
     2067}
     2068
    20372069// ------------------------------ CaseBlockNode --------------------------------
    20382070
     
    20422074  if (l1) {
    20432075    list1 = l1->next;
     2076    Parser::removeNodeCycle(list1.get());
    20442077    l1->next = 0;
    20452078  } else {
     
    20512084  if (l2) {
    20522085    list2 = l2->next;
     2086    Parser::removeNodeCycle(list2.get());
    20532087    l2->next = 0;
    20542088  } else {
     
    22372271}
    22382272
     2273void ParameterNode::breakCycle()
     2274{
     2275    next = 0;
     2276}
     2277
    22392278// ------------------------------ FunctionBodyNode -----------------------------
    22402279
     
    23322371  : node(s1), next(this)
    23332372{
    2334   setLoc(s1->firstLine(), s1->lastLine(), s1->sourceId());
     2373    Parser::noteNodeCycle(this);
     2374    setLoc(s1->firstLine(), s1->lastLine(), s1->sourceId());
    23352375}
    23362376
     
    23782418}
    23792419
     2420void SourceElementsNode::breakCycle()
     2421{
     2422    next = 0;
     2423}
     2424
    23802425ProgramNode::ProgramNode(SourceElementsNode *s) : FunctionBodyNode(s)
    23812426{
Note: See TracChangeset for help on using the changeset viewer.