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


Ignore:
Timestamp:
Jan 27, 2008, 4:14:24 PM (17 years ago)
Author:
[email protected]
Message:

Reviewed by Oliver Hunt.

Patch for http://bugs.webkit.org/show_bug.cgi?id=17025
nodes.h/cpp has been rolling around in the mud - lets hose it down

  • Rename member variables to use the m_ prefix.

(NOTE: Specific changed functions elided for space and clarity)

  • kjs/grammar.y:
  • kjs/nodes.cpp:
  • kjs/nodes.h:
  • kjs/nodes2string.cpp:
File:
1 edited

Legend:

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

    r29818 r29825  
    536536{
    537537  // Check for missed optimization opportunity.
    538   ASSERT(!canSkipLookup(exec, ident));
     538  ASSERT(!canSkipLookup(exec, m_ident));
    539539
    540540  const ScopeChain& chain = exec->scopeChain();
     
    549549    JSObject *o = *iter;
    550550
    551     if (o->getPropertySlot(exec, ident, slot))
    552       return slot.getValue(exec, o, ident);
     551    if (o->getPropertySlot(exec, m_ident, slot))
     552      return slot.getValue(exec, o, m_ident);
    553553   
    554554    ++iter;
    555555  } while (iter != end);
    556556
    557   return throwUndefinedVariableError(exec, ident);
     557  return throwUndefinedVariableError(exec, m_ident);
    558558}
    559559
     
    593593void ResolveNode::optimizeVariableAccess(const SymbolTable& symbolTable, const LocalStorage&, NodeStack&)
    594594{
    595     size_t index = symbolTable.get(ident.ustring().rep());
     595    size_t index = symbolTable.get(m_ident.ustring().rep());
    596596    if (index != missingSymbolMarker())
    597597        new (this) LocalVarAccessNode(index);
     
    601601{
    602602    ASSERT(exec->variableObject() == exec->scopeChain().top());
    603     return exec->localStorage()[index].value;
     603    return exec->localStorage()[m_index].value;
    604604}
    605605
     
    633633void ElementNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    634634{
    635     if (next)
    636         nodeStack.append(next.get());
    637     ASSERT(node);
    638     nodeStack.append(node.get());
     635    if (m_next)
     636        nodeStack.append(m_next.get());
     637    ASSERT(m_node);
     638    nodeStack.append(m_node.get());
    639639}
    640640
     
    644644  JSObject* array = exec->lexicalGlobalObject()->arrayConstructor()->construct(exec, exec->emptyList());
    645645  int length = 0;
    646   for (ElementNode *n = this; n; n = n->next.get()) {
    647     JSValue *val = n->node->evaluate(exec);
     646  for (ElementNode *n = this; n; n = n->m_next.get()) {
     647    JSValue *val = n->m_node->evaluate(exec);
    648648    KJS_CHECKEXCEPTIONVALUE
    649     length += n->elision;
     649    length += n->m_elision;
    650650    array->put(exec, length++, val);
    651651  }
     
    657657void ArrayNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    658658{
    659     if (element)
    660         nodeStack.append(element.get());
     659    if (m_element)
     660        nodeStack.append(m_element.get());
    661661}
    662662
     
    668668  int length;
    669669
    670   if (element) {
    671     array = static_cast<JSObject*>(element->evaluate(exec));
     670  if (m_element) {
     671    array = static_cast<JSObject*>(m_element->evaluate(exec));
    672672    KJS_CHECKEXCEPTIONVALUE
    673     length = opt ? array->get(exec, exec->propertyNames().length)->toInt32(exec) : 0;
     673    length = m_opt ? array->get(exec, exec->propertyNames().length)->toInt32(exec) : 0;
    674674  } else {
    675675    JSValue* newArr = exec->lexicalGlobalObject()->arrayConstructor()->construct(exec, exec->emptyList());
     
    678678  }
    679679
    680   if (opt)
    681     array->put(exec, exec->propertyNames().length, jsNumber(elision + length), DontEnum | DontDelete);
     680  if (m_opt)
     681    array->put(exec, exec->propertyNames().length, jsNumber(m_elision + length), DontEnum | DontDelete);
    682682
    683683  return array;
     
    688688void ObjectLiteralNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    689689{
    690     if (list)
    691         nodeStack.append(list.get());
     690    if (m_list)
     691        nodeStack.append(m_list.get());
    692692}
    693693
     
    695695JSValue *ObjectLiteralNode::evaluate(ExecState *exec)
    696696{
    697   if (list)
    698     return list->evaluate(exec);
     697  if (m_list)
     698    return m_list->evaluate(exec);
    699699
    700700  return exec->lexicalGlobalObject()->objectConstructor()->construct(exec, exec->emptyList());
     
    705705void PropertyListNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    706706{
    707     if (next)
    708         nodeStack.append(next.get());
    709     nodeStack.append(node.get());
     707    if (m_next)
     708        nodeStack.append(m_next.get());
     709    nodeStack.append(m_node.get());
    710710}
    711711
     
    715715  JSObject* obj = exec->lexicalGlobalObject()->objectConstructor()->construct(exec, exec->emptyList());
    716716 
    717   for (PropertyListNode *p = this; p; p = p->next.get()) {
    718     JSValue *v = p->node->assign->evaluate(exec);
     717  for (PropertyListNode *p = this; p; p = p->m_next.get()) {
     718    JSValue *v = p->m_node->m_assign->evaluate(exec);
    719719    KJS_CHECKEXCEPTIONVALUE
    720720   
    721     switch (p->node->type) {
     721    switch (p->m_node->m_type) {
    722722      case PropertyNode::Getter:
    723723        ASSERT(v->isObject());
    724         obj->defineGetter(exec, p->node->name(), static_cast<JSObject *>(v));
     724        obj->defineGetter(exec, p->m_node->name(), static_cast<JSObject *>(v));
    725725        break;
    726726      case PropertyNode::Setter:
    727727        ASSERT(v->isObject());
    728         obj->defineSetter(exec, p->node->name(), static_cast<JSObject *>(v));
     728        obj->defineSetter(exec, p->m_node->name(), static_cast<JSObject *>(v));
    729729        break;
    730730      case PropertyNode::Constant:
    731         obj->put(exec, p->node->name(), v);
     731        obj->put(exec, p->m_node->name(), v);
    732732        break;
    733733    }
     
    741741void PropertyNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    742742{
    743     nodeStack.append(assign.get());
     743    nodeStack.append(m_assign.get());
    744744}
    745745
     
    755755void BracketAccessorNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    756756{
    757     nodeStack.append(expr2.get());
    758     nodeStack.append(expr1.get());
     757    nodeStack.append(m_subscript.get());
     758    nodeStack.append(m_base.get());
    759759}
    760760
     
    762762JSValue* BracketAccessorNode::inlineEvaluate(ExecState* exec)
    763763{
    764   JSValue* v1 = expr1->evaluate(exec);
    765   KJS_CHECKEXCEPTIONVALUE
    766   JSValue* v2 = expr2->evaluate(exec);
     764  JSValue* v1 = m_base->evaluate(exec);
     765  KJS_CHECKEXCEPTIONVALUE
     766  JSValue* v2 = m_subscript->evaluate(exec);
    767767  KJS_CHECKEXCEPTIONVALUE
    768768  JSObject* o = v1->toObject(exec);
     
    810810void DotAccessorNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    811811{
    812     nodeStack.append(expr.get());
     812    nodeStack.append(m_base.get());
    813813}
    814814
     
    816816JSValue* DotAccessorNode::inlineEvaluate(ExecState* exec)
    817817{
    818     JSValue* v = expr->evaluate(exec);
     818    JSValue* v = m_base->evaluate(exec);
    819819    KJS_CHECKEXCEPTIONVALUE
    820     return v->toObject(exec)->get(exec, ident);
     820    return v->toObject(exec)->get(exec, m_ident);
    821821}
    822822
     
    858858void ArgumentListNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    859859{
    860     if (next)
    861         nodeStack.append(next.get());
    862     ASSERT(expr);
    863     nodeStack.append(expr.get());
     860    if (m_next)
     861        nodeStack.append(m_next.get());
     862    ASSERT(m_expr);
     863    nodeStack.append(m_expr.get());
    864864}
    865865
     
    867867void ArgumentListNode::evaluateList(ExecState* exec, List& list)
    868868{
    869   for (ArgumentListNode *n = this; n; n = n->next.get()) {
    870     JSValue *v = n->expr->evaluate(exec);
     869  for (ArgumentListNode *n = this; n; n = n->m_next.get()) {
     870    JSValue *v = n->m_expr->evaluate(exec);
    871871    KJS_CHECKEXCEPTIONVOID
    872872    list.append(v);
     
    878878void ArgumentsNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    879879{
    880     if (listNode)
    881         nodeStack.append(listNode.get());
     880    if (m_listNode)
     881        nodeStack.append(m_listNode.get());
    882882}
    883883
     
    886886void NewExprNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    887887{
    888     if (args)
    889         nodeStack.append(args.get());
    890     nodeStack.append(expr.get());
     888    if (m_args)
     889        nodeStack.append(m_args.get());
     890    nodeStack.append(m_expr.get());
    891891}
    892892
     
    895895JSValue* NewExprNode::inlineEvaluate(ExecState* exec)
    896896{
    897   JSValue* v = expr->evaluate(exec);
     897  JSValue* v = m_expr->evaluate(exec);
    898898  KJS_CHECKEXCEPTIONVALUE
    899899
    900900  List argList;
    901   if (args) {
    902     args->evaluateList(exec, argList);
     901  if (m_args) {
     902    m_args->evaluateList(exec, argList);
    903903    KJS_CHECKEXCEPTIONVALUE
    904904  }
    905905
    906906  if (!v->isObject())
    907     return throwError(exec, TypeError, "Value %s (result of expression %s) is not an object. Cannot be used with new.", v, expr.get());
     907    return throwError(exec, TypeError, "Value %s (result of expression %s) is not an object. Cannot be used with new.", v, m_expr.get());
    908908
    909909  JSObject *constr = static_cast<JSObject*>(v);
    910910  if (!constr->implementsConstruct())
    911     return throwError(exec, TypeError, "Value %s (result of expression %s) is not a constructor. Cannot be used with new.", v, expr.get());
     911    return throwError(exec, TypeError, "Value %s (result of expression %s) is not a constructor. Cannot be used with new.", v, m_expr.get());
    912912
    913913  return constr->construct(exec, argList);
     
    949949void FunctionCallValueNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    950950{
    951     nodeStack.append(args.get());
    952     nodeStack.append(expr.get());
     951    nodeStack.append(m_args.get());
     952    nodeStack.append(m_expr.get());
    953953}
    954954
     
    956956JSValue *FunctionCallValueNode::evaluate(ExecState *exec)
    957957{
    958   JSValue *v = expr->evaluate(exec);
     958  JSValue *v = m_expr->evaluate(exec);
    959959  KJS_CHECKEXCEPTIONVALUE
    960960
    961961  if (!v->isObject()) {
    962     return throwError(exec, TypeError, "Value %s (result of expression %s) is not object.", v, expr.get());
     962    return throwError(exec, TypeError, "Value %s (result of expression %s) is not object.", v, m_expr.get());
    963963  }
    964964 
     
    966966
    967967  if (!func->implementsCall()) {
    968     return throwError(exec, TypeError, "Object %s (result of expression %s) does not allow calls.", v, expr.get());
     968    return throwError(exec, TypeError, "Object %s (result of expression %s) does not allow calls.", v, m_expr.get());
    969969  }
    970970
    971971  List argList;
    972   args->evaluateList(exec, argList);
     972  m_args->evaluateList(exec, argList);
    973973  KJS_CHECKEXCEPTIONVALUE
    974974
     
    980980void FunctionCallResolveNode::optimizeVariableAccess(const SymbolTable& symbolTable, const LocalStorage&, NodeStack& nodeStack)
    981981{
    982     nodeStack.append(args.get());
    983 
    984     size_t index = symbolTable.get(ident.ustring().rep());
     982    nodeStack.append(m_args.get());
     983
     984    size_t index = symbolTable.get(m_ident.ustring().rep());
    985985    if (index != missingSymbolMarker())
    986986        new (this) LocalVarFunctionCallNode(index);
     
    991991{
    992992  // Check for missed optimization opportunity.
    993   ASSERT(!canSkipLookup(exec, ident));
     993  ASSERT(!canSkipLookup(exec, m_ident));
    994994
    995995  const ScopeChain& chain = exec->scopeChain();
     
    10011001
    10021002  PropertySlot slot;
    1003   JSObject *base;
     1003  JSObject* base;
    10041004  do {
    10051005    base = *iter;
    1006     if (base->getPropertySlot(exec, ident, slot)) {
    1007       JSValue *v = slot.getValue(exec, base, ident);
     1006    if (base->getPropertySlot(exec, m_ident, slot)) {
     1007      JSValue* v = slot.getValue(exec, base, m_ident);
    10081008      KJS_CHECKEXCEPTIONVALUE
    10091009       
    10101010      if (!v->isObject())
    1011         return throwError(exec, TypeError, "Value %s (result of expression %s) is not object.", v, ident);
     1011        return throwError(exec, TypeError, "Value %s (result of expression %s) is not object.", v, m_ident);
    10121012     
    10131013      JSObject *func = static_cast<JSObject*>(v);
    10141014     
    10151015      if (!func->implementsCall())
    1016         return throwError(exec, TypeError, "Object %s (result of expression %s) does not allow calls.", v, ident);
     1016        return throwError(exec, TypeError, "Object %s (result of expression %s) does not allow calls.", v, m_ident);
    10171017     
    10181018      List argList;
    1019       args->evaluateList(exec, argList);
     1019      m_args->evaluateList(exec, argList);
    10201020      KJS_CHECKEXCEPTIONVALUE
    10211021       
     
    10351035  } while (iter != end);
    10361036 
    1037   return throwUndefinedVariableError(exec, ident);
     1037  return throwUndefinedVariableError(exec, m_ident);
    10381038}
    10391039
     
    10751075    ASSERT(exec->variableObject() == exec->scopeChain().top());
    10761076
    1077     JSValue* v = exec->localStorage()[index].value;
     1077    JSValue* v = exec->localStorage()[m_index].value;
    10781078
    10791079    if (!v->isObject())
    1080         return throwError(exec, TypeError, "Value %s (result of expression %s) is not object.", v, ident);
     1080        return throwError(exec, TypeError, "Value %s (result of expression %s) is not object.", v, m_ident);
    10811081     
    10821082    JSObject* func = static_cast<JSObject*>(v);
    10831083    if (!func->implementsCall())
    1084         return throwError(exec, TypeError, "Object %s (result of expression %s) does not allow calls.", v, ident);
     1084        return throwError(exec, TypeError, "Object %s (result of expression %s) does not allow calls.", v, m_ident);
    10851085     
    10861086    List argList;
    1087     args->evaluateList(exec, argList);
     1087    m_args->evaluateList(exec, argList);
    10881088    KJS_CHECKEXCEPTIONVALUE
    10891089
     
    11261126void FunctionCallBracketNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    11271127{
    1128     nodeStack.append(args.get());
    1129     nodeStack.append(subscript.get());
    1130     nodeStack.append(base.get());
     1128    nodeStack.append(m_args.get());
     1129    nodeStack.append(m_subscript.get());
     1130    nodeStack.append(m_base.get());
    11311131}
    11321132
     
    11341134JSValue *FunctionCallBracketNode::evaluate(ExecState *exec)
    11351135{
    1136   JSValue *baseVal = base->evaluate(exec);
    1137   KJS_CHECKEXCEPTIONVALUE
    1138 
    1139   JSValue *subscriptVal = subscript->evaluate(exec);
     1136  JSValue *baseVal = m_base->evaluate(exec);
     1137  KJS_CHECKEXCEPTIONVALUE
     1138
     1139  JSValue *subscriptVal = m_subscript->evaluate(exec);
    11401140
    11411141  JSObject *baseObj = baseVal->toObject(exec);
     
    11601160 
    11611161  if (!funcVal->isObject()) {
    1162     return throwError(exec, TypeError, "Value %s (result of expression %s[%s]) is not object.", funcVal, base.get(), subscript.get());
     1162    return throwError(exec, TypeError, "Value %s (result of expression %s[%s]) is not object.", funcVal, m_base.get(), m_subscript.get());
    11631163  }
    11641164 
     
    11661166
    11671167  if (!func->implementsCall()) {
    1168     return throwError(exec, TypeError, "Object %s (result of expression %s[%s]) does not allow calls.", funcVal, base.get(), subscript.get());
     1168    return throwError(exec, TypeError, "Object %s (result of expression %s[%s]) does not allow calls.", funcVal, m_base.get(), m_subscript.get());
    11691169  }
    11701170
    11711171  List argList;
    1172   args->evaluateList(exec, argList);
     1172  m_args->evaluateList(exec, argList);
    11731173  KJS_CHECKEXCEPTIONVALUE
    11741174
     
    11951195void FunctionCallDotNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    11961196{
    1197     nodeStack.append(args.get());
    1198     nodeStack.append(base.get());
     1197    nodeStack.append(m_args.get());
     1198    nodeStack.append(m_base.get());
    11991199}
    12001200
     
    12021202JSValue* FunctionCallDotNode::inlineEvaluate(ExecState* exec)
    12031203{
    1204   JSValue *baseVal = base->evaluate(exec);
     1204  JSValue *baseVal = m_base->evaluate(exec);
    12051205  KJS_CHECKEXCEPTIONVALUE
    12061206
    12071207  JSObject *baseObj = baseVal->toObject(exec);
    12081208  PropertySlot slot;
    1209   JSValue *funcVal = baseObj->getPropertySlot(exec, ident, slot) ? slot.getValue(exec, baseObj, ident) : jsUndefined();
     1209  JSValue *funcVal = baseObj->getPropertySlot(exec, m_ident, slot) ? slot.getValue(exec, baseObj, m_ident) : jsUndefined();
    12101210  KJS_CHECKEXCEPTIONVALUE
    12111211
    12121212  if (!funcVal->isObject())
    1213     return throwError(exec, TypeError, dotExprNotAnObjectString(), funcVal, base.get(), ident);
     1213    return throwError(exec, TypeError, dotExprNotAnObjectString(), funcVal, m_base.get(), m_ident);
    12141214 
    12151215  JSObject *func = static_cast<JSObject*>(funcVal);
    12161216
    12171217  if (!func->implementsCall())
    1218     return throwError(exec, TypeError, dotExprDoesNotAllowCallsString(), funcVal, base.get(), ident);
     1218    return throwError(exec, TypeError, dotExprDoesNotAllowCallsString(), funcVal, m_base.get(), m_ident);
    12191219
    12201220  List argList;
    1221   args->evaluateList(exec, argList);
     1221  m_args->evaluateList(exec, argList);
    12221222  KJS_CHECKEXCEPTIONVALUE
    12231223
     
    16391639void VoidNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    16401640{
    1641     nodeStack.append(expr.get());
     1641    nodeStack.append(m_expr.get());
    16421642}
    16431643
     
    16451645JSValue *VoidNode::evaluate(ExecState *exec)
    16461646{
    1647   expr->evaluate(exec);
     1647  m_expr->evaluate(exec);
    16481648  KJS_CHECKEXCEPTIONVALUE
    16491649
     
    20382038void NegateNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    20392039{
    2040     nodeStack.append(expr.get());
     2040    nodeStack.append(m_expr.get());
    20412041}
    20422042
    20432043// ECMA 11.4.7
    2044 JSValue *NegateNode::evaluate(ExecState *exec)
     2044JSValue* NegateNode::evaluate(ExecState* exec)
    20452045{
    20462046    // No need to check exception, caller will do so right after evaluate()
    2047     return jsNumber(-expr->evaluateToNumber(exec));
     2047    return jsNumber(-m_expr->evaluateToNumber(exec));
    20482048}
    20492049
     
    20512051{
    20522052    // No need to check exception, caller will do so right after evaluateToNumber()
    2053     return -expr->evaluateToNumber(exec);
     2053    return -m_expr->evaluateToNumber(exec);
    20542054}
    20552055
     
    20582058void BitwiseNotNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    20592059{
    2060     nodeStack.append(expr.get());
     2060    nodeStack.append(m_expr.get());
    20612061}
    20622062
     
    20642064int32_t BitwiseNotNode::inlineEvaluateToInt32(ExecState* exec)
    20652065{
    2066     return ~expr->evaluateToInt32(exec);
     2066    return ~m_expr->evaluateToInt32(exec);
    20672067}
    20682068
     
    20962096void LogicalNotNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    20972097{
    2098     nodeStack.append(expr.get());
     2098    nodeStack.append(m_expr.get());
    20992099}
    21002100
     
    21022102JSValue* LogicalNotNode::evaluate(ExecState* exec)
    21032103{
    2104     return jsBoolean(!expr->evaluateToBoolean(exec));
     2104    return jsBoolean(!m_expr->evaluateToBoolean(exec));
    21052105}
    21062106
    21072107bool LogicalNotNode::evaluateToBoolean(ExecState* exec)
    21082108{
    2109     return !expr->evaluateToBoolean(exec);
     2109    return !m_expr->evaluateToBoolean(exec);
    21102110}
    21112111
     
    21142114void MultNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    21152115{
    2116     nodeStack.append(term1.get());
    2117     nodeStack.append(term2.get());
     2116    nodeStack.append(m_term1.get());
     2117    nodeStack.append(m_term2.get());
    21182118}
    21192119
     
    21212121double MultNode::inlineEvaluateToNumber(ExecState* exec)
    21222122{
    2123     double n1 = term1->evaluateToNumber(exec);
     2123    double n1 = m_term1->evaluateToNumber(exec);
    21242124    KJS_CHECKEXCEPTIONNUMBER
    2125     double n2 = term2->evaluateToNumber(exec);
     2125    double n2 = m_term2->evaluateToNumber(exec);
    21262126    return n1 * n2;
    21272127}
     
    21542154void DivNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    21552155{
    2156     nodeStack.append(term1.get());
    2157     nodeStack.append(term2.get());
     2156    nodeStack.append(m_term1.get());
     2157    nodeStack.append(m_term2.get());
    21582158}
    21592159
     
    21612161double DivNode::inlineEvaluateToNumber(ExecState* exec)
    21622162{
    2163     double n1 = term1->evaluateToNumber(exec);
     2163    double n1 = m_term1->evaluateToNumber(exec);
    21642164    KJS_CHECKEXCEPTIONNUMBER
    2165     double n2 = term2->evaluateToNumber(exec);
     2165    double n2 = m_term2->evaluateToNumber(exec);
    21662166    return n1 / n2;
    21672167}
     
    21892189void ModNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    21902190{
    2191     nodeStack.append(term1.get());
    2192     nodeStack.append(term2.get());
     2191    nodeStack.append(m_term1.get());
     2192    nodeStack.append(m_term2.get());
    21932193}
    21942194
     
    21962196double ModNode::inlineEvaluateToNumber(ExecState* exec)
    21972197{
    2198     double n1 = term1->evaluateToNumber(exec);
     2198    double n1 = m_term1->evaluateToNumber(exec);
    21992199    KJS_CHECKEXCEPTIONNUMBER
    2200     double n2 = term2->evaluateToNumber(exec);
     2200    double n2 = m_term2->evaluateToNumber(exec);
    22012201    return fmod(n1, n2);
    22022202}
     
    23262326void AddNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    23272327{
    2328     nodeStack.append(term1.get());
    2329     nodeStack.append(term2.get());
     2328    nodeStack.append(m_term1.get());
     2329    nodeStack.append(m_term2.get());
    23302330}
    23312331
     
    23332333JSValue* AddNode::evaluate(ExecState* exec)
    23342334{
    2335   JSValue* v1 = term1->evaluate(exec);
    2336   KJS_CHECKEXCEPTIONVALUE
    2337 
    2338   JSValue* v2 = term2->evaluate(exec);
     2335  JSValue* v1 = m_term1->evaluate(exec);
     2336  KJS_CHECKEXCEPTIONVALUE
     2337
     2338  JSValue* v2 = m_term2->evaluate(exec);
    23392339  KJS_CHECKEXCEPTIONVALUE
    23402340
     
    23442344double AddNode::inlineEvaluateToNumber(ExecState* exec)
    23452345{
    2346     JSValue* v1 = term1->evaluate(exec);
     2346    JSValue* v1 = m_term1->evaluate(exec);
    23472347    KJS_CHECKEXCEPTIONNUMBER
    23482348   
    2349     JSValue* v2 = term2->evaluate(exec);
     2349    JSValue* v2 = m_term2->evaluate(exec);
    23502350    KJS_CHECKEXCEPTIONNUMBER
    23512351   
     
    23702370double AddNumbersNode::inlineEvaluateToNumber(ExecState* exec)
    23712371{
    2372     double n1 = term1->evaluateToNumber(exec);
     2372    double n1 = m_term1->evaluateToNumber(exec);
    23732373    KJS_CHECKEXCEPTIONNUMBER
    2374     double n2 = term2->evaluateToNumber(exec);
     2374    double n2 = m_term2->evaluateToNumber(exec);
    23752375    return n1 + n2;
    23762376}
     
    23982398JSValue* AddStringsNode::evaluate(ExecState* exec)
    23992399{
    2400     JSValue* v1 = term1->evaluate(exec);
     2400    JSValue* v1 = m_term1->evaluate(exec);
    24012401    KJS_CHECKEXCEPTIONVALUE
    24022402   
    2403     JSValue* v2 = term2->evaluate(exec);
     2403    JSValue* v2 = m_term2->evaluate(exec);
    24042404    KJS_CHECKEXCEPTIONVALUE
    24052405   
     
    24092409JSValue* AddStringLeftNode::evaluate(ExecState* exec)
    24102410{
    2411     JSValue* v1 = term1->evaluate(exec);
     2411    JSValue* v1 = m_term1->evaluate(exec);
    24122412    KJS_CHECKEXCEPTIONVALUE
    24132413   
    2414     JSValue* v2 = term2->evaluate(exec);
     2414    JSValue* v2 = m_term2->evaluate(exec);
    24152415    KJS_CHECKEXCEPTIONVALUE
    24162416   
     
    24212421JSValue* AddStringRightNode::evaluate(ExecState* exec)
    24222422{
    2423     JSValue* v1 = term1->evaluate(exec);
     2423    JSValue* v1 = m_term1->evaluate(exec);
    24242424    KJS_CHECKEXCEPTIONVALUE
    24252425   
    2426     JSValue* v2 = term2->evaluate(exec);
     2426    JSValue* v2 = m_term2->evaluate(exec);
    24272427    KJS_CHECKEXCEPTIONVALUE
    24282428   
     
    24332433void SubNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    24342434{
    2435     nodeStack.append(term1.get());
    2436     nodeStack.append(term2.get());
     2435    nodeStack.append(m_term1.get());
     2436    nodeStack.append(m_term2.get());
    24372437}
    24382438
     
    24402440double SubNode::inlineEvaluateToNumber(ExecState* exec)
    24412441{
    2442     double n1 = term1->evaluateToNumber(exec);
     2442    double n1 = m_term1->evaluateToNumber(exec);
    24432443    KJS_CHECKEXCEPTIONNUMBER
    2444     double n2 = term2->evaluateToNumber(exec);
     2444    double n2 = m_term2->evaluateToNumber(exec);
    24452445    return n1 - n2;
    24462446}
     
    24702470void LeftShiftNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    24712471{
    2472     nodeStack.append(term1.get());
    2473     nodeStack.append(term2.get());
     2472    nodeStack.append(m_term1.get());
     2473    nodeStack.append(m_term2.get());
    24742474}
    24752475
     
    24772477int32_t LeftShiftNode::inlineEvaluateToInt32(ExecState* exec)
    24782478{
    2479     int i1 = term1->evaluateToInt32(exec);
     2479    int i1 = m_term1->evaluateToInt32(exec);
    24802480    KJS_CHECKEXCEPTIONNUMBER
    2481     unsigned int i2 = term2->evaluateToUInt32(exec) & 0x1f;
     2481    unsigned int i2 = m_term2->evaluateToUInt32(exec) & 0x1f;
    24822482    return (i1 << i2);
    24832483}
     
    25052505void RightShiftNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    25062506{
    2507     nodeStack.append(term1.get());
    2508     nodeStack.append(term2.get());
     2507    nodeStack.append(m_term1.get());
     2508    nodeStack.append(m_term2.get());
    25092509}
    25102510
     
    25122512int32_t RightShiftNode::inlineEvaluateToInt32(ExecState* exec)
    25132513{
    2514     int i1 = term1->evaluateToInt32(exec);
     2514    int i1 = m_term1->evaluateToInt32(exec);
    25152515    KJS_CHECKEXCEPTIONNUMBER
    2516     unsigned int i2 = term2->evaluateToUInt32(exec) & 0x1f;
     2516    unsigned int i2 = m_term2->evaluateToUInt32(exec) & 0x1f;
    25172517    return (i1 >> i2);
    25182518}
     
    25402540void UnsignedRightShiftNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    25412541{
    2542     nodeStack.append(term1.get());
    2543     nodeStack.append(term2.get());
     2542    nodeStack.append(m_term1.get());
     2543    nodeStack.append(m_term2.get());
    25442544}
    25452545
     
    25472547uint32_t UnsignedRightShiftNode::inlineEvaluateToUInt32(ExecState* exec)
    25482548{
    2549     unsigned int i1 = term1->evaluateToUInt32(exec);
     2549    unsigned int i1 = m_term1->evaluateToUInt32(exec);
    25502550    KJS_CHECKEXCEPTIONNUMBER
    2551     unsigned int i2 = term2->evaluateToUInt32(exec) & 0x1f;
     2551    unsigned int i2 = m_term2->evaluateToUInt32(exec) & 0x1f;
    25522552    return (i1 >> i2);
    25532553}
     
    26072607void LessNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    26082608{
    2609     nodeStack.append(expr2.get());
    2610     nodeStack.append(expr1.get());
     2609    nodeStack.append(m_expr2.get());
     2610    nodeStack.append(m_expr1.get());
    26112611}
    26122612
     
    26142614bool LessNode::inlineEvaluateToBoolean(ExecState* exec)
    26152615{
    2616     JSValue* v1 = expr1->evaluate(exec);
     2616    JSValue* v1 = m_expr1->evaluate(exec);
    26172617    KJS_CHECKEXCEPTIONBOOLEAN
    2618     JSValue* v2 = expr2->evaluate(exec);
     2618    JSValue* v2 = m_expr2->evaluate(exec);
    26192619    KJS_CHECKEXCEPTIONBOOLEAN
    26202620    return lessThan(exec, v1, v2);
     
    26332633bool LessNumbersNode::inlineEvaluateToBoolean(ExecState* exec)
    26342634{
    2635     double n1 = expr1->evaluateToNumber(exec);
     2635    double n1 = m_expr1->evaluateToNumber(exec);
    26362636    KJS_CHECKEXCEPTIONVALUE
    2637     double n2 = expr2->evaluateToNumber(exec);
     2637    double n2 = m_expr2->evaluateToNumber(exec);
    26382638    return n1 < n2;
    26392639}
     
    26512651bool LessStringsNode::inlineEvaluateToBoolean(ExecState* exec)
    26522652{
    2653     JSValue* v1 = expr1->evaluate(exec);
     2653    JSValue* v1 = m_expr1->evaluate(exec);
    26542654    KJS_CHECKEXCEPTIONVALUE
    2655     JSValue* v2 = expr2->evaluate(exec);
     2655    JSValue* v2 = m_expr2->evaluate(exec);
    26562656    return static_cast<StringImp*>(v1)->value() < static_cast<StringImp*>(v2)->value();
    26572657}
     
    26692669void GreaterNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    26702670{
    2671     nodeStack.append(expr2.get());
    2672     nodeStack.append(expr1.get());
     2671    nodeStack.append(m_expr2.get());
     2672    nodeStack.append(m_expr1.get());
    26732673}
    26742674
     
    26762676bool GreaterNode::inlineEvaluateToBoolean(ExecState *exec)
    26772677{
    2678     JSValue* v1 = expr1->evaluate(exec);
     2678    JSValue* v1 = m_expr1->evaluate(exec);
    26792679    KJS_CHECKEXCEPTIONBOOLEAN
    2680     JSValue* v2 = expr2->evaluate(exec);
     2680    JSValue* v2 = m_expr2->evaluate(exec);
    26812681    KJS_CHECKEXCEPTIONBOOLEAN
    26822682    return lessThan(exec, v2, v1);
     
    26952695void LessEqNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    26962696{
    2697     nodeStack.append(expr2.get());
    2698     nodeStack.append(expr1.get());
     2697    nodeStack.append(m_expr2.get());
     2698    nodeStack.append(m_expr1.get());
    26992699}
    27002700
     
    27022702bool LessEqNode::inlineEvaluateToBoolean(ExecState* exec)
    27032703{
    2704     JSValue* v1 = expr1->evaluate(exec);
     2704    JSValue* v1 = m_expr1->evaluate(exec);
    27052705    KJS_CHECKEXCEPTIONBOOLEAN
    2706     JSValue* v2 = expr2->evaluate(exec);
     2706    JSValue* v2 = m_expr2->evaluate(exec);
    27072707    KJS_CHECKEXCEPTIONBOOLEAN
    27082708    return lessThanEq(exec, v1, v2);
     
    27212721void GreaterEqNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    27222722{
    2723     nodeStack.append(expr2.get());
    2724     nodeStack.append(expr1.get());
     2723    nodeStack.append(m_expr2.get());
     2724    nodeStack.append(m_expr1.get());
    27252725}
    27262726
     
    27282728bool GreaterEqNode::inlineEvaluateToBoolean(ExecState* exec)
    27292729{
    2730     JSValue* v1 = expr1->evaluate(exec);
     2730    JSValue* v1 = m_expr1->evaluate(exec);
    27312731    KJS_CHECKEXCEPTIONBOOLEAN
    2732     JSValue* v2 = expr2->evaluate(exec);
     2732    JSValue* v2 = m_expr2->evaluate(exec);
    27332733    KJS_CHECKEXCEPTIONBOOLEAN
    27342734    return lessThanEq(exec, v2, v1);
     
    27472747void InstanceOfNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    27482748{
    2749     nodeStack.append(expr2.get());
    2750     nodeStack.append(expr1.get());
     2749    nodeStack.append(m_expr2.get());
     2750    nodeStack.append(m_expr1.get());
    27512751}
    27522752
     
    27542754JSValue* InstanceOfNode::evaluate(ExecState* exec)
    27552755{
    2756     JSValue* v1 = expr1->evaluate(exec);
     2756    JSValue* v1 = m_expr1->evaluate(exec);
    27572757    KJS_CHECKEXCEPTIONVALUE
    2758     JSValue* v2 = expr2->evaluate(exec);
     2758    JSValue* v2 = m_expr2->evaluate(exec);
    27592759    KJS_CHECKEXCEPTIONVALUE
    27602760
    27612761    if (!v2->isObject())
    2762         return throwError(exec, TypeError, "Value %s (result of expression %s) is not an object. Cannot be used with instanceof operator.", v2, expr2.get());
     2762        return throwError(exec, TypeError, "Value %s (result of expression %s) is not an object. Cannot be used with instanceof operator.", v2, m_expr2.get());
    27632763
    27642764    JSObject* o2 = static_cast<JSObject*>(v2);
     
    27762776bool InstanceOfNode::evaluateToBoolean(ExecState* exec)
    27772777{
    2778     JSValue* v1 = expr1->evaluate(exec);
     2778    JSValue* v1 = m_expr1->evaluate(exec);
    27792779    KJS_CHECKEXCEPTIONBOOLEAN
    2780     JSValue* v2 = expr2->evaluate(exec);
     2780    JSValue* v2 = m_expr2->evaluate(exec);
    27812781    KJS_CHECKEXCEPTIONBOOLEAN
    27822782
    27832783    if (!v2->isObject()) {
    2784         throwError(exec, TypeError, "Value %s (result of expression %s) is not an object. Cannot be used with 'instanceof' operator.", v2, expr2.get());
     2784        throwError(exec, TypeError, "Value %s (result of expression %s) is not an object. Cannot be used with 'instanceof' operator.", v2, m_expr2.get());
    27852785        return false;
    27862786    }
     
    28002800void InNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    28012801{
    2802     nodeStack.append(expr2.get());
    2803     nodeStack.append(expr1.get());
     2802    nodeStack.append(m_expr2.get());
     2803    nodeStack.append(m_expr1.get());
    28042804}
    28052805
     
    28072807JSValue* InNode::evaluate(ExecState *exec)
    28082808{
    2809     JSValue* v1 = expr1->evaluate(exec);
     2809    JSValue* v1 = m_expr1->evaluate(exec);
    28102810    KJS_CHECKEXCEPTIONVALUE
    2811     JSValue* v2 = expr2->evaluate(exec);
     2811    JSValue* v2 = m_expr2->evaluate(exec);
    28122812    KJS_CHECKEXCEPTIONVALUE
    28132813
    28142814    if (!v2->isObject())
    2815         return throwError(exec, TypeError, "Value %s (result of expression %s) is not an object. Cannot be used with 'in' operator.", v2, expr2.get());
     2815        return throwError(exec, TypeError, "Value %s (result of expression %s) is not an object. Cannot be used with 'in' operator.", v2, m_expr2.get());
    28162816
    28172817    return jsBoolean(static_cast<JSObject*>(v2)->hasProperty(exec, Identifier(v1->toString(exec))));
     
    28202820bool InNode::evaluateToBoolean(ExecState *exec)
    28212821{
    2822     JSValue* v1 = expr1->evaluate(exec);
     2822    JSValue* v1 = m_expr1->evaluate(exec);
    28232823    KJS_CHECKEXCEPTIONBOOLEAN
    2824     JSValue* v2 = expr2->evaluate(exec);
     2824    JSValue* v2 = m_expr2->evaluate(exec);
    28252825    KJS_CHECKEXCEPTIONBOOLEAN
    28262826
    28272827    if (!v2->isObject()) {
    2828         throwError(exec, TypeError, "Value %s (result of expression %s) is not an object. Cannot be used with 'in' operator.", v2, expr2.get());
     2828        throwError(exec, TypeError, "Value %s (result of expression %s) is not an object. Cannot be used with 'in' operator.", v2, m_expr2.get());
    28292829        return false;
    28302830    }
     
    28372837void EqualNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    28382838{
    2839     nodeStack.append(expr2.get());
    2840     nodeStack.append(expr1.get());
     2839    nodeStack.append(m_expr2.get());
     2840    nodeStack.append(m_expr1.get());
    28412841}
    28422842
     
    28442844bool EqualNode::inlineEvaluateToBoolean(ExecState* exec)
    28452845{
    2846     JSValue* v1 = expr1->evaluate(exec);
     2846    JSValue* v1 = m_expr1->evaluate(exec);
    28472847    KJS_CHECKEXCEPTIONBOOLEAN
    2848     JSValue* v2 = expr2->evaluate(exec);
     2848    JSValue* v2 = m_expr2->evaluate(exec);
    28492849    KJS_CHECKEXCEPTIONBOOLEAN
    28502850   
     
    28642864void NotEqualNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    28652865{
    2866     nodeStack.append(expr2.get());
    2867     nodeStack.append(expr1.get());
     2866    nodeStack.append(m_expr2.get());
     2867    nodeStack.append(m_expr1.get());
    28682868}
    28692869
     
    28712871bool NotEqualNode::inlineEvaluateToBoolean(ExecState* exec)
    28722872{
    2873     JSValue* v1 = expr1->evaluate(exec);
     2873    JSValue* v1 = m_expr1->evaluate(exec);
    28742874    KJS_CHECKEXCEPTIONBOOLEAN
    2875     JSValue* v2 = expr2->evaluate(exec);
     2875    JSValue* v2 = m_expr2->evaluate(exec);
    28762876    KJS_CHECKEXCEPTIONBOOLEAN
    28772877
     
    28912891void StrictEqualNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    28922892{
    2893     nodeStack.append(expr2.get());
    2894     nodeStack.append(expr1.get());
     2893    nodeStack.append(m_expr2.get());
     2894    nodeStack.append(m_expr1.get());
    28952895}
    28962896
     
    28982898bool StrictEqualNode::inlineEvaluateToBoolean(ExecState* exec)
    28992899{
    2900     JSValue* v1 = expr1->evaluate(exec);
     2900    JSValue* v1 = m_expr1->evaluate(exec);
    29012901    KJS_CHECKEXCEPTIONBOOLEAN
    2902     JSValue* v2 = expr2->evaluate(exec);
     2902    JSValue* v2 = m_expr2->evaluate(exec);
    29032903    KJS_CHECKEXCEPTIONBOOLEAN
    29042904
     
    29182918void NotStrictEqualNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    29192919{
    2920     nodeStack.append(expr2.get());
    2921     nodeStack.append(expr1.get());
     2920    nodeStack.append(m_expr2.get());
     2921    nodeStack.append(m_expr1.get());
    29222922}
    29232923
     
    29252925bool NotStrictEqualNode::inlineEvaluateToBoolean(ExecState* exec)
    29262926{
    2927     JSValue* v1 = expr1->evaluate(exec);
     2927    JSValue* v1 = m_expr1->evaluate(exec);
    29282928    KJS_CHECKEXCEPTIONBOOLEAN
    2929     JSValue* v2 = expr2->evaluate(exec);
     2929    JSValue* v2 = m_expr2->evaluate(exec);
    29302930    KJS_CHECKEXCEPTIONBOOLEAN
    29312931
     
    29472947void BitAndNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    29482948{
    2949     nodeStack.append(expr2.get());
    2950     nodeStack.append(expr1.get());
     2949    nodeStack.append(m_expr2.get());
     2950    nodeStack.append(m_expr1.get());
    29512951}
    29522952
     
    29542954JSValue* BitAndNode::evaluate(ExecState* exec)
    29552955{   
    2956     JSValue *v1 = expr1->evaluate(exec);
     2956    JSValue *v1 = m_expr1->evaluate(exec);
    29572957    KJS_CHECKEXCEPTIONVALUE
    2958     JSValue *v2 = expr2->evaluate(exec);
     2958    JSValue *v2 = m_expr2->evaluate(exec);
    29592959    KJS_CHECKEXCEPTIONVALUE
    29602960
     
    29642964int32_t BitAndNode::inlineEvaluateToInt32(ExecState* exec)
    29652965{
    2966     int32_t i1 = expr1->evaluateToInt32(exec);
     2966    int32_t i1 = m_expr1->evaluateToInt32(exec);
    29672967    KJS_CHECKEXCEPTIONNUMBER
    2968     int32_t i2 = expr2->evaluateToInt32(exec);
     2968    int32_t i2 = m_expr2->evaluateToInt32(exec);
    29692969    return (i1 & i2);
    29702970}
     
    29922992void BitXOrNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    29932993{
    2994     nodeStack.append(expr2.get());
    2995     nodeStack.append(expr1.get());
     2994    nodeStack.append(m_expr2.get());
     2995    nodeStack.append(m_expr1.get());
    29962996}
    29972997
    29982998int32_t BitXOrNode::inlineEvaluateToInt32(ExecState* exec)
    29992999{
    3000     int i1 = expr1->evaluateToInt32(exec);
     3000    int i1 = m_expr1->evaluateToInt32(exec);
    30013001    KJS_CHECKEXCEPTIONNUMBER
    3002     int i2 = expr2->evaluateToInt32(exec);
     3002    int i2 = m_expr2->evaluateToInt32(exec);
    30033003    return (i1 ^ i2);
    30043004}
     
    30313031void BitOrNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    30323032{
    3033     nodeStack.append(expr2.get());
    3034     nodeStack.append(expr1.get());
     3033    nodeStack.append(m_expr2.get());
     3034    nodeStack.append(m_expr1.get());
    30353035}
    30363036
    30373037int32_t BitOrNode::inlineEvaluateToInt32(ExecState* exec)
    30383038{
    3039     int i1 = expr1->evaluateToInt32(exec);
     3039    int i1 = m_expr1->evaluateToInt32(exec);
    30403040    KJS_CHECKEXCEPTIONNUMBER
    3041     int i2 = expr2->evaluateToInt32(exec);
     3041    int i2 = m_expr2->evaluateToInt32(exec);
    30423042    return (i1 | i2);
    30433043}
     
    30723072void LogicalAndNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    30733073{
    3074     nodeStack.append(expr2.get());
    3075     nodeStack.append(expr1.get());
     3074    nodeStack.append(m_expr2.get());
     3075    nodeStack.append(m_expr1.get());
    30763076}
    30773077
     
    30793079JSValue* LogicalAndNode::evaluate(ExecState* exec)
    30803080{
    3081     JSValue* v1 = expr1->evaluate(exec);
     3081    JSValue* v1 = m_expr1->evaluate(exec);
    30823082    KJS_CHECKEXCEPTIONVALUE
    30833083    bool b1 = v1->toBoolean(exec);
     
    30853085    if (!b1)
    30863086        return v1;
    3087     JSValue* v2 = expr2->evaluate(exec);
     3087    JSValue* v2 = m_expr2->evaluate(exec);
    30883088    KJS_CHECKEXCEPTIONVALUE
    30893089    return v2;
     
    30923092bool LogicalAndNode::evaluateToBoolean(ExecState* exec)
    30933093{
    3094     bool b = expr1->evaluateToBoolean(exec);
     3094    bool b = m_expr1->evaluateToBoolean(exec);
    30953095    KJS_CHECKEXCEPTIONBOOLEAN
    3096     return b && expr2->evaluateToBoolean(exec);
     3096    return b && m_expr2->evaluateToBoolean(exec);
    30973097}
    30983098
    30993099void LogicalOrNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    31003100{
    3101     nodeStack.append(expr2.get());
    3102     nodeStack.append(expr1.get());
     3101    nodeStack.append(m_expr2.get());
     3102    nodeStack.append(m_expr1.get());
    31033103}
    31043104
    31053105JSValue* LogicalOrNode::evaluate(ExecState* exec)
    31063106{
    3107     JSValue* v1 = expr1->evaluate(exec);
     3107    JSValue* v1 = m_expr1->evaluate(exec);
    31083108    KJS_CHECKEXCEPTIONVALUE
    31093109    if (v1->toBoolean(exec))
    31103110        return v1;
    3111     return expr2->evaluate(exec);
     3111    return m_expr2->evaluate(exec);
    31123112}
    31133113
    31143114bool LogicalOrNode::evaluateToBoolean(ExecState* exec)
    31153115{
    3116     bool b = expr1->evaluateToBoolean(exec);
     3116    bool b = m_expr1->evaluateToBoolean(exec);
    31173117    KJS_CHECKEXCEPTIONBOOLEAN
    3118     return b || expr2->evaluateToBoolean(exec);
     3118    return b || m_expr2->evaluateToBoolean(exec);
    31193119}
    31203120
     
    31233123void ConditionalNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    31243124{
    3125     nodeStack.append(expr2.get());
    3126     nodeStack.append(expr1.get());
    3127     nodeStack.append(logical.get());
     3125    nodeStack.append(m_expr2.get());
     3126    nodeStack.append(m_expr1.get());
     3127    nodeStack.append(m_logical.get());
    31283128}
    31293129
     
    31313131JSValue* ConditionalNode::evaluate(ExecState* exec)
    31323132{
    3133     bool b = logical->evaluateToBoolean(exec);
     3133    bool b = m_logical->evaluateToBoolean(exec);
    31343134    KJS_CHECKEXCEPTIONVALUE
    3135     return b ? expr1->evaluate(exec) : expr2->evaluate(exec);
     3135    return b ? m_expr1->evaluate(exec) : m_expr2->evaluate(exec);
    31363136}
    31373137
    31383138bool ConditionalNode::evaluateToBoolean(ExecState* exec)
    31393139{
    3140     bool b = logical->evaluateToBoolean(exec);
     3140    bool b = m_logical->evaluateToBoolean(exec);
    31413141    KJS_CHECKEXCEPTIONBOOLEAN
    3142     return b ? expr1->evaluateToBoolean(exec) : expr2->evaluateToBoolean(exec);
     3142    return b ? m_expr1->evaluateToBoolean(exec) : m_expr2->evaluateToBoolean(exec);
    31433143}
    31443144
    31453145double ConditionalNode::evaluateToNumber(ExecState* exec)
    31463146{
    3147     bool b = logical->evaluateToBoolean(exec);
     3147    bool b = m_logical->evaluateToBoolean(exec);
    31483148    KJS_CHECKEXCEPTIONNUMBER
    3149     return b ? expr1->evaluateToNumber(exec) : expr2->evaluateToNumber(exec);
     3149    return b ? m_expr1->evaluateToNumber(exec) : m_expr2->evaluateToNumber(exec);
    31503150}
    31513151
    31523152int32_t ConditionalNode::evaluateToInt32(ExecState* exec)
    31533153{
    3154     bool b = logical->evaluateToBoolean(exec);
     3154    bool b = m_logical->evaluateToBoolean(exec);
    31553155    KJS_CHECKEXCEPTIONNUMBER
    3156     return b ? expr1->evaluateToInt32(exec) : expr2->evaluateToInt32(exec);
     3156    return b ? m_expr1->evaluateToInt32(exec) : m_expr2->evaluateToInt32(exec);
    31573157}
    31583158
    31593159uint32_t ConditionalNode::evaluateToUInt32(ExecState* exec)
    31603160{
    3161     bool b = logical->evaluateToBoolean(exec);
     3161    bool b = m_logical->evaluateToBoolean(exec);
    31623162    KJS_CHECKEXCEPTIONNUMBER
    3163     return b ? expr1->evaluateToUInt32(exec) : expr2->evaluateToUInt32(exec);
     3163    return b ? m_expr1->evaluateToUInt32(exec) : m_expr2->evaluateToUInt32(exec);
    31643164}
    31653165
     
    35213521void CommaNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    35223522{
    3523     nodeStack.append(expr2.get());
    3524     nodeStack.append(expr1.get());
     3523    nodeStack.append(m_expr2.get());
     3524    nodeStack.append(m_expr1.get());
    35253525}
    35263526
     
    35283528JSValue* CommaNode::evaluate(ExecState *exec)
    35293529{
    3530     expr1->evaluate(exec);
     3530    m_expr1->evaluate(exec);
    35313531    KJS_CHECKEXCEPTIONVALUE
    3532     return expr2->evaluate(exec);
     3532    return m_expr2->evaluate(exec);
    35333533}
    35343534
    35353535// ------------------------------ ConstDeclNode ----------------------------------
    35363536
    3537 ConstDeclNode::ConstDeclNode(const Identifier& id, ExpressionNode* in)
    3538     : ident(id)
    3539     , init(in)
     3537ConstDeclNode::ConstDeclNode(const Identifier& ident, ExpressionNode* init)
     3538    : m_ident(ident)
     3539    , m_init(init)
    35403540{
    35413541}
     
    35433543void ConstDeclNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    35443544{
    3545     if (next)
    3546         nodeStack.append(next.get());
    3547     if (init)
    3548         nodeStack.append(init.get());
     3545    if (m_next)
     3546        nodeStack.append(m_next.get());
     3547    if (m_init)
     3548        nodeStack.append(m_init.get());
    35493549}
    35503550
     
    35623562    do {
    35633563        base = *iter;
    3564         if (base->getPropertySlot(exec, ident, slot))
     3564        if (base->getPropertySlot(exec, m_ident, slot))
    35653565            break;
    35663566       
     
    35693569   
    35703570    unsigned flags = 0;
    3571     base->getPropertyAttributes(ident, flags);
     3571    base->getPropertyAttributes(m_ident, flags);
    35723572    flags |= ReadOnly;
    35733573   
    3574     base->put(exec, ident, val, flags);
     3574    base->put(exec, m_ident, val, flags);
    35753575}
    35763576
     
    35783578inline void ConstDeclNode::evaluateSingle(ExecState* exec)
    35793579{
    3580     ASSERT(exec->variableObject()->hasOwnProperty(exec, ident) || exec->codeType() == EvalCode); // Guaranteed by processDeclarations.
     3580    ASSERT(exec->variableObject()->hasOwnProperty(exec, m_ident) || exec->codeType() == EvalCode); // Guaranteed by processDeclarations.
    35813581    const ScopeChain& chain = exec->scopeChain();
    35823582    JSObject* variableObject = exec->variableObject();
     
    35863586    bool inGlobalScope = ++chain.begin() == chain.end();
    35873587
    3588     if (init) {
     3588    if (m_init) {
    35893589        if (inGlobalScope) {
    3590             JSValue* val = init->evaluate(exec);
     3590            JSValue* val = m_init->evaluate(exec);
    35913591            int flags = Internal;
    35923592            if (exec->codeType() != EvalCode)
    35933593                flags |= DontDelete;
    35943594            flags |= ReadOnly;
    3595             variableObject->put(exec, ident, val, flags);
     3595            variableObject->put(exec, m_ident, val, flags);
    35963596        } else {
    3597             JSValue* val = init->evaluate(exec);
     3597            JSValue* val = m_init->evaluate(exec);
    35983598            KJS_CHECKEXCEPTIONVOID
    35993599
     
    36053605
    36063606            unsigned flags = 0;
    3607             variableObject->getPropertyAttributes(ident, flags);
     3607            variableObject->getPropertyAttributes(m_ident, flags);
    36083608            flags |= ReadOnly;
    36093609           
    3610             variableObject->put(exec, ident, val, flags);
     3610            variableObject->put(exec, m_ident, val, flags);
    36113611        }
    36123612    }
     
    36173617    evaluateSingle(exec);
    36183618
    3619     if (ConstDeclNode* n = next.get()) {
     3619    if (ConstDeclNode* n = m_next.get()) {
    36203620        do {
    36213621            n->evaluateSingle(exec);
    36223622            KJS_CHECKEXCEPTIONVALUE
    3623             n = n->next.get();
     3623            n = n->m_next.get();
    36243624        } while (n);
    36253625    }
     
    36313631void ConstStatementNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    36323632{
    3633     ASSERT(next);
    3634     nodeStack.append(next.get());
     3633    ASSERT(m_next);
     3634    nodeStack.append(m_next.get());
    36353635}
    36363636
     
    36383638JSValue* ConstStatementNode::execute(ExecState* exec)
    36393639{
    3640     next->evaluate(exec);
     3640    m_next->evaluate(exec);
    36413641    KJS_CHECKEXCEPTION
    36423642
     
    37183718void ExprStatementNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    37193719{
    3720     ASSERT(expr);
    3721     nodeStack.append(expr.get());
     3720    ASSERT(m_expr);
     3721    nodeStack.append(m_expr.get());
    37223722}
    37233723
     
    37253725JSValue* ExprStatementNode::execute(ExecState* exec)
    37263726{
    3727     JSValue* value = expr->evaluate(exec);
     3727    JSValue* value = m_expr->evaluate(exec);
    37283728    KJS_CHECKEXCEPTION
    37293729
     
    37353735void VarStatementNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    37363736{
    3737     ASSERT(expr);
    3738     nodeStack.append(expr.get());
     3737    ASSERT(m_expr);
     3738    nodeStack.append(m_expr.get());
    37393739}
    37403740
    37413741JSValue* VarStatementNode::execute(ExecState* exec)
    37423742{
    3743     expr->evaluate(exec);
     3743    m_expr->evaluate(exec);
    37443744    KJS_CHECKEXCEPTION
    37453745
     
    37883788void DoWhileNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    37893789{
    3790     nodeStack.append(statement.get());
    3791     nodeStack.append(expr.get());
     3790    nodeStack.append(m_statement.get());
     3791    nodeStack.append(m_expr.get());
    37923792}
    37933793
     
    37993799    while (1) {
    38003800        exec->pushIteration();
    3801         JSValue* statementValue = statement->execute(exec);
     3801        JSValue* statementValue = m_statement->execute(exec);
    38023802        exec->popIteration();
    38033803
     
    38093809
    38103810        if (exec->completionType() != Normal) {
    3811             if (exec->completionType() == Continue && ls.contains(exec->breakOrContinueTarget()))
     3811            if (exec->completionType() == Continue && m_labelStack.contains(exec->breakOrContinueTarget()))
    38123812                goto continueDoWhileLoop;
    3813             if (exec->completionType() == Break && ls.contains(exec->breakOrContinueTarget()))
     3813            if (exec->completionType() == Break && m_labelStack.contains(exec->breakOrContinueTarget()))
    38143814                break;
    38153815            return statementValue;
     
    38173817
    38183818continueDoWhileLoop:
    3819         bool b = expr->evaluateToBoolean(exec);
     3819        bool b = m_expr->evaluateToBoolean(exec);
    38203820        KJS_CHECKEXCEPTION
    38213821        if (!b)
     
    38303830void WhileNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    38313831{
    3832     nodeStack.append(statement.get());
    3833     nodeStack.append(expr.get());
     3832    nodeStack.append(m_statement.get());
     3833    nodeStack.append(m_expr.get());
    38343834}
    38353835
     
    38403840
    38413841    while (1) {
    3842         bool b = expr->evaluateToBoolean(exec);
     3842        bool b = m_expr->evaluateToBoolean(exec);
    38433843        KJS_CHECKEXCEPTION
    38443844        if (!b)
     
    38463846
    38473847        exec->pushIteration();
    3848         JSValue* statementValue = statement->execute(exec);
     3848        JSValue* statementValue = m_statement->execute(exec);
    38493849        exec->popIteration();
    38503850
     
    38563856
    38573857        if (exec->completionType() != Normal) {
    3858             if (exec->completionType() == Continue && ls.contains(exec->breakOrContinueTarget()))
     3858            if (exec->completionType() == Continue && m_labelStack.contains(exec->breakOrContinueTarget()))
    38593859                continue;
    3860             if (exec->completionType() == Break && ls.contains(exec->breakOrContinueTarget()))
     3860            if (exec->completionType() == Break && m_labelStack.contains(exec->breakOrContinueTarget()))
    38613861                break;
    38623862            return statementValue;
     
    38713871void ForNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    38723872{
    3873     nodeStack.append(statement.get());
    3874     nodeStack.append(expr3.get());
    3875     nodeStack.append(expr2.get());
    3876     nodeStack.append(expr1.get());
     3873    nodeStack.append(m_statement.get());
     3874    nodeStack.append(m_expr3.get());
     3875    nodeStack.append(m_expr2.get());
     3876    nodeStack.append(m_expr1.get());
    38773877}
    38783878
     
    38823882    JSValue* value = 0;
    38833883
    3884     expr1->evaluate(exec);
     3884    m_expr1->evaluate(exec);
    38853885    KJS_CHECKEXCEPTION
    38863886
    38873887    while (1) {
    3888         bool b = expr2->evaluateToBoolean(exec);
     3888        bool b = m_expr2->evaluateToBoolean(exec);
    38893889        KJS_CHECKEXCEPTION
    38903890        if (!b)
     
    38923892
    38933893        exec->pushIteration();
    3894         JSValue* statementValue = statement->execute(exec);
     3894        JSValue* statementValue = m_statement->execute(exec);
    38953895        exec->popIteration();
    38963896        if (statementValue)
     
    39013901
    39023902        if (exec->completionType() != Normal) {
    3903             if (exec->completionType() == Continue && ls.contains(exec->breakOrContinueTarget()))
     3903            if (exec->completionType() == Continue && m_labelStack.contains(exec->breakOrContinueTarget()))
    39043904                goto continueForLoop;
    3905             if (exec->completionType() == Break && ls.contains(exec->breakOrContinueTarget()))
     3905            if (exec->completionType() == Break && m_labelStack.contains(exec->breakOrContinueTarget()))
    39063906                break;
    39073907            return statementValue;
     
    39093909
    39103910continueForLoop:
    3911         expr3->evaluate(exec);
     3911        m_expr3->evaluate(exec);
    39123912        KJS_CHECKEXCEPTION
    39133913    }
     
    39183918// ------------------------------ ForInNode ------------------------------------
    39193919
    3920 ForInNode::ForInNode(ExpressionNode* l, ExpressionNode* e, StatementNode* s)
    3921     : init(0L), lexpr(l), expr(e), statement(s), identIsVarDecl(false)
    3922 {
    3923 }
    3924 
    3925 ForInNode::ForInNode(const Identifier& i, ExpressionNode* in, ExpressionNode* e, StatementNode* s)
    3926     : ident(i), lexpr(new ResolveNode(i)), expr(e), statement(s), identIsVarDecl(true)
     3920ForInNode::ForInNode(ExpressionNode* l, ExpressionNode* expr, StatementNode* statement)
     3921    : m_init(0L)
     3922    , m_lexpr(l)
     3923    , m_expr(expr)
     3924    , m_statement(statement)
     3925    , m_identIsVarDecl(false)
     3926{
     3927}
     3928
     3929ForInNode::ForInNode(const Identifier& ident, ExpressionNode* in, ExpressionNode* expr, StatementNode* statement)
     3930    : m_ident(ident)
     3931    , m_lexpr(new ResolveNode(ident))
     3932    , m_expr(expr)
     3933    , m_statement(statement)
     3934    , m_identIsVarDecl(true)
    39273935{
    39283936  if (in)
    3929       init = new AssignResolveNode(i, in);
     3937      m_init = new AssignResolveNode(ident, in);
    39303938  // for( var foo = bar in baz )
    39313939}
     
    39333941void ForInNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    39343942{
    3935     nodeStack.append(statement.get());
    3936     nodeStack.append(expr.get());
    3937     nodeStack.append(lexpr.get());
    3938     if (init)
    3939         nodeStack.append(init.get());
     3943    nodeStack.append(m_statement.get());
     3944    nodeStack.append(m_expr.get());
     3945    nodeStack.append(m_lexpr.get());
     3946    if (m_init)
     3947        nodeStack.append(m_init.get());
    39403948}
    39413949
     
    39453953  JSValue* value = 0;
    39463954
    3947   if (init) {
    3948     init->evaluate(exec);
     3955  if (m_init) {
     3956    m_init->evaluate(exec);
    39493957    KJS_CHECKEXCEPTION
    39503958  }
    39513959
    3952   JSValue* e = expr->evaluate(exec);
     3960  JSValue* e = m_expr->evaluate(exec);
    39533961  KJS_CHECKEXCEPTION
    39543962
     
    39703978      JSValue *str = jsOwnedString(name.ustring());
    39713979
    3972       if (lexpr->isResolveNode()) {
    3973         const Identifier &ident = static_cast<ResolveNode *>(lexpr.get())->identifier();
     3980      if (m_lexpr->isResolveNode()) {
     3981        const Identifier& ident = static_cast<ResolveNode*>(m_lexpr.get())->identifier();
    39743982
    39753983        const ScopeChain& chain = exec->scopeChain();
     
    39934001        if (iter == end)
    39944002            o->put(exec, ident, str);
    3995     } else if (lexpr->isDotAccessorNode()) {
    3996         const Identifier& ident = static_cast<DotAccessorNode *>(lexpr.get())->identifier();
    3997         JSValue *v = static_cast<DotAccessorNode *>(lexpr.get())->base()->evaluate(exec);
     4003    } else if (m_lexpr->isDotAccessorNode()) {
     4004        const Identifier& ident = static_cast<DotAccessorNode*>(m_lexpr.get())->identifier();
     4005        JSValue* v = static_cast<DotAccessorNode*>(m_lexpr.get())->base()->evaluate(exec);
    39984006        KJS_CHECKEXCEPTION
    39994007        JSObject *o = v->toObject(exec);
     
    40014009        o->put(exec, ident, str);
    40024010    } else {
    4003         ASSERT(lexpr->isBracketAccessorNode());
    4004         JSValue *v = static_cast<BracketAccessorNode *>(lexpr.get())->base()->evaluate(exec);
     4011        ASSERT(m_lexpr->isBracketAccessorNode());
     4012        JSValue* v = static_cast<BracketAccessorNode*>(m_lexpr.get())->base()->evaluate(exec);
    40054013        KJS_CHECKEXCEPTION
    4006         JSValue *v2 = static_cast<BracketAccessorNode *>(lexpr.get())->subscript()->evaluate(exec);
     4014        JSValue* v2 = static_cast<BracketAccessorNode*>(m_lexpr.get())->subscript()->evaluate(exec);
    40074015        KJS_CHECKEXCEPTION
    40084016        JSObject *o = v->toObject(exec);
     
    40174025
    40184026    exec->pushIteration();
    4019     JSValue* statementValue = statement->execute(exec);
     4027    JSValue* statementValue = m_statement->execute(exec);
    40204028    exec->popIteration();
    40214029    if (statementValue)
     
    40234031
    40244032    if (exec->completionType() != Normal) {
    4025         if (exec->completionType() == Continue && ls.contains(exec->breakOrContinueTarget()))
     4033        if (exec->completionType() == Continue && m_labelStack.contains(exec->breakOrContinueTarget()))
    40264034            continue;
    4027         if (exec->completionType() == Break && ls.contains(exec->breakOrContinueTarget()))
     4035        if (exec->completionType() == Break && m_labelStack.contains(exec->breakOrContinueTarget()))
    40284036            break;
    40294037        return statementValue;
     
    40394047JSValue* ContinueNode::execute(ExecState* exec)
    40404048{
    4041   if (ident.isEmpty() && !exec->inIteration())
     4049  if (m_ident.isEmpty() && !exec->inIteration())
    40424050    return setErrorCompletion(exec, SyntaxError, "Invalid continue statement.");
    4043   if (!ident.isEmpty() && !exec->seenLabels().contains(ident))
    4044     return setErrorCompletion(exec, SyntaxError, "Label %s not found.", ident);
    4045   return exec->setContinueCompletion(&ident);
     4051  if (!m_ident.isEmpty() && !exec->seenLabels().contains(m_ident))
     4052    return setErrorCompletion(exec, SyntaxError, "Label %s not found.", m_ident);
     4053  return exec->setContinueCompletion(&m_ident);
    40464054}
    40474055
     
    40514059JSValue* BreakNode::execute(ExecState *exec)
    40524060{
    4053   if (ident.isEmpty() && !exec->inIteration() && !exec->inSwitch())
     4061  if (m_ident.isEmpty() && !exec->inIteration() && !exec->inSwitch())
    40544062    return setErrorCompletion(exec, SyntaxError, "Invalid break statement.");
    4055   if (!ident.isEmpty() && !exec->seenLabels().contains(ident))
     4063  if (!m_ident.isEmpty() && !exec->seenLabels().contains(m_ident))
    40564064    return setErrorCompletion(exec, SyntaxError, "Label %s not found.");
    4057   return exec->setBreakCompletion(&ident);
     4065  return exec->setBreakCompletion(&m_ident);
    40584066}
    40594067
     
    40624070void ReturnNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    40634071{
    4064     if (value)
    4065         nodeStack.append(value.get());
     4072    if (m_value)
     4073        nodeStack.append(m_value.get());
    40664074}
    40674075
     
    40734081    return setErrorCompletion(exec, SyntaxError, "Invalid return statement.");
    40744082
    4075   if (!value)
     4083  if (!m_value)
    40764084    return exec->setReturnValueCompletion(jsUndefined());
    40774085
    4078   JSValue* v = value->evaluate(exec);
     4086  JSValue* v = m_value->evaluate(exec);
    40794087  KJS_CHECKEXCEPTION
    40804088
     
    40874095{
    40884096    // Can't optimize within statement because "with" introduces a dynamic scope.
    4089     nodeStack.append(expr.get());
     4097    nodeStack.append(m_expr.get());
    40904098}
    40914099
     
    40934101JSValue* WithNode::execute(ExecState *exec)
    40944102{
    4095   JSValue *v = expr->evaluate(exec);
     4103  JSValue *v = m_expr->evaluate(exec);
    40964104  KJS_CHECKEXCEPTION
    40974105  JSObject *o = v->toObject(exec);
     
    40994107  exec->dynamicGlobalObject()->tearOffActivation(exec);
    41004108  exec->pushScope(o);
    4101   JSValue* value = statement->execute(exec);
     4109  JSValue* value = m_statement->execute(exec);
    41024110  exec->popScope();
    41034111
     
    41094117void CaseClauseNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    41104118{
    4111     if (expr)
    4112         nodeStack.append(expr.get());
     4119    if (m_expr)
     4120        nodeStack.append(m_expr.get());
    41134121    statementListPushFIFO(m_children, nodeStack);
    41144122}
     
    41174125JSValue *CaseClauseNode::evaluate(ExecState *exec)
    41184126{
    4119   JSValue *v = expr->evaluate(exec);
     4127  JSValue *v = m_expr->evaluate(exec);
    41204128  KJS_CHECKEXCEPTIONVALUE
    41214129
     
    41334141void ClauseListNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    41344142{
    4135     if (next)
    4136         nodeStack.append(next.get());
    4137     nodeStack.append(clause.get());
     4143    if (m_next)
     4144        nodeStack.append(m_next.get());
     4145    nodeStack.append(m_clause.get());
    41384146}
    41394147
    41404148// ------------------------------ CaseBlockNode --------------------------------
    41414149
    4142 CaseBlockNode::CaseBlockNode(ClauseListNode* l1, CaseClauseNode* d, ClauseListNode* l2)
    4143     : list1(l1)
    4144     , def(d)
    4145     , list2(l2)
     4150CaseBlockNode::CaseBlockNode(ClauseListNode* list1, CaseClauseNode* defaultClause, ClauseListNode* list2)
     4151    : m_list1(list1)
     4152    , m_defaultClause(defaultClause)
     4153    , m_list2(list2)
    41464154{
    41474155}
     
    41494157void CaseBlockNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    41504158{
    4151     if (list2)
    4152         nodeStack.append(list2.get());
    4153     if (def)
    4154         nodeStack.append(def.get());
    4155     if (list1)
    4156         nodeStack.append(list1.get());
     4159    if (m_list2)
     4160        nodeStack.append(m_list2.get());
     4161    if (m_defaultClause)
     4162        nodeStack.append(m_defaultClause.get());
     4163    if (m_list1)
     4164        nodeStack.append(m_list1.get());
    41574165}
    41584166
     
    41604168JSValue* CaseBlockNode::executeBlock(ExecState* exec, JSValue* input)
    41614169{
    4162   ClauseListNode* a = list1.get();
     4170  ClauseListNode* a = m_list1.get();
    41634171    while (a) {
    41644172      CaseClauseNode* clause = a->getClause();
     
    41794187    }
    41804188
    4181   ClauseListNode* b = list2.get();
     4189  ClauseListNode* b = m_list2.get();
    41824190  while (b) {
    41834191    CaseClauseNode* clause = b->getClause();
     
    41944202
    41954203  // default clause
    4196   if (def) {
    4197     JSValue* res = def->executeStatements(exec);
     4204  if (m_defaultClause) {
     4205    JSValue* res = m_defaultClause->executeStatements(exec);
    41984206    if (exec->completionType() != Normal)
    41994207      return res;
    42004208  }
    4201   b = list2.get();
     4209  b = m_list2.get();
    42024210 step18:
    42034211  while (b) {
     
    42194227void SwitchNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    42204228{
    4221     nodeStack.append(block.get());
    4222     nodeStack.append(expr.get());
     4229    nodeStack.append(m_block.get());
     4230    nodeStack.append(m_expr.get());
    42234231}
    42244232
     
    42264234JSValue* SwitchNode::execute(ExecState* exec)
    42274235{
    4228   JSValue *v = expr->evaluate(exec);
     4236  JSValue *v = m_expr->evaluate(exec);
    42294237  KJS_CHECKEXCEPTION
    42304238
    42314239  exec->pushSwitch();
    4232   JSValue* result = block->executeBlock(exec, v);
     4240  JSValue* result = m_block->executeBlock(exec, v);
    42334241  exec->popSwitch();
    42344242
    4235   if (exec->completionType() == Break && ls.contains(exec->breakOrContinueTarget()))
     4243  if (exec->completionType() == Break && m_labelStack.contains(exec->breakOrContinueTarget()))
    42364244    exec->setCompletionType(Normal);
    42374245  return result;
     
    42424250void LabelNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    42434251{
    4244     nodeStack.append(statement.get());
     4252    nodeStack.append(m_statement.get());
    42454253}
    42464254
    42474255// ECMA 12.12
    4248 JSValue* LabelNode::execute(ExecState *exec)
    4249 {
    4250   if (!exec->seenLabels().push(label))
    4251     return setErrorCompletion(exec, SyntaxError, "Duplicated label %s found.", label);
    4252   JSValue* result = statement->execute(exec);
     4256JSValue* LabelNode::execute(ExecState* exec)
     4257{
     4258  if (!exec->seenLabels().push(m_label))
     4259    return setErrorCompletion(exec, SyntaxError, "Duplicated label %s found.", m_label);
     4260  JSValue* result = m_statement->execute(exec);
    42534261  exec->seenLabels().pop();
    42544262
    4255   if (exec->completionType() == Break && exec->breakOrContinueTarget() == label)
     4263  if (exec->completionType() == Break && exec->breakOrContinueTarget() == m_label)
    42564264    exec->setCompletionType(Normal);
    42574265  return result;
     
    42624270void ThrowNode::optimizeVariableAccess(const SymbolTable&, const LocalStorage&, NodeStack& nodeStack)
    42634271{
    4264     nodeStack.append(expr.get());
     4272    nodeStack.append(m_expr.get());
    42654273}
    42664274
     
    42684276JSValue* ThrowNode::execute(ExecState* exec)
    42694277{
    4270   JSValue *v = expr->evaluate(exec);
     4278  JSValue *v = m_expr->evaluate(exec);
    42714279  KJS_CHECKEXCEPTION
    42724280
     
    42804288{
    42814289    // Can't optimize within catchBlock because "catch" introduces a dynamic scope.
    4282     if (finallyBlock)
    4283         nodeStack.append(finallyBlock.get());
    4284     nodeStack.append(tryBlock.get());
     4290    if (m_finallyBlock)
     4291        nodeStack.append(m_finallyBlock.get());
     4292    nodeStack.append(m_tryBlock.get());
    42854293}
    42864294
    42874295// ECMA 12.14
    4288 JSValue* TryNode::execute(ExecState *exec)
    4289 {
    4290   JSValue* result = tryBlock->execute(exec);
     4296JSValue* TryNode::execute(ExecState* exec)
     4297{
     4298  JSValue* result = m_tryBlock->execute(exec);
    42914299
    42924300  if (Collector::isOutOfMemory())
    42934301      return result; // don't try to catch an out of memory exception thrown by the collector
    42944302 
    4295   if (catchBlock && exec->completionType() == Throw) {
     4303  if (m_catchBlock && exec->completionType() == Throw) {
    42964304    JSObject* obj = new JSObject;
    4297     obj->put(exec, exceptionIdent, result, DontDelete);
     4305    obj->put(exec, m_exceptionIdent, result, DontDelete);
    42984306    exec->dynamicGlobalObject()->tearOffActivation(exec);
    42994307    exec->pushScope(obj);
    4300     result = catchBlock->execute(exec);
     4308    result = m_catchBlock->execute(exec);
    43014309    exec->popScope();
    43024310  }
    43034311
    4304   if (finallyBlock) {
     4312  if (m_finallyBlock) {
    43054313    ComplType savedCompletionType = exec->completionType();
    4306     JSValue* finallyResult = finallyBlock->execute(exec);
     4314    JSValue* finallyResult = m_finallyBlock->execute(exec);
    43074315    if (exec->completionType() != Normal)
    43084316        result = finallyResult;
     
    43814389
    43824390    for (size_t i = 0, size = m_functionStack.size(); i < size; ++i, ++localStorageIndex) {
    4383         UString::Rep* rep = m_functionStack[i]->ident.ustring().rep();
     4391        UString::Rep* rep = m_functionStack[i]->m_ident.ustring().rep();
    43844392        symbolTable.set(rep, localStorageIndex);
    43854393    }
     
    44124420    m_functionIndexes.resize(size);
    44134421    for (size_t i = 0; i < size; ++i) {
    4414         UString::Rep* rep = m_functionStack[i]->ident.ustring().rep();
     4422        UString::Rep* rep = m_functionStack[i]->m_ident.ustring().rep();
    44154423        pair<SymbolTable::iterator, bool> result = symbolTable.add(rep, localStorageIndex);
    44164424        m_functionIndexes[i] = result.first->second;
     
    45824590    for (i = 0, size = m_functionStack.size(); i < size; ++i) {
    45834591        FuncDeclNode* node = m_functionStack[i];
    4584         variableObject->put(exec, node->ident, node->makeFunction(exec), minAttributes);
     4592        variableObject->put(exec, node->m_ident, node->makeFunction(exec), minAttributes);
    45854593    }
    45864594}
     
    46524660void FuncDeclNode::addParams()
    46534661{
    4654   for (ParameterNode *p = param.get(); p != 0L; p = p->nextParam())
    4655     body->parameters().append(p->ident());
     4662  for (ParameterNode *p = m_parameter.get(); p != 0L; p = p->nextParam())
     4663    m_body->parameters().append(p->ident());
    46564664}
    46574665
    46584666FunctionImp* FuncDeclNode::makeFunction(ExecState* exec)
    46594667{
    4660   FunctionImp *func = new FunctionImp(exec, ident, body.get(), exec->scopeChain());
     4668  FunctionImp *func = new FunctionImp(exec, m_ident, m_body.get(), exec->scopeChain());
    46614669
    46624670  JSObject* proto = exec->lexicalGlobalObject()->objectConstructor()->construct(exec, exec->emptyList());
     
    46644672  func->put(exec, exec->propertyNames().prototype, proto, Internal|DontDelete);
    46654673
    4666   func->put(exec, exec->propertyNames().length, jsNumber(body->parameters().size()), ReadOnly|DontDelete|DontEnum);
     4674  func->put(exec, exec->propertyNames().length, jsNumber(m_body->parameters().size()), ReadOnly|DontDelete|DontEnum);
    46674675  return func;
    46684676}
     
    46784686void FuncExprNode::addParams()
    46794687{
    4680   for (ParameterNode *p = param.get(); p != 0L; p = p->nextParam())
    4681     body->parameters().append(p->ident());
     4688  for (ParameterNode* p = m_parameter.get(); p != 0L; p = p->nextParam())
     4689    m_body->parameters().append(p->ident());
    46824690}
    46834691
     
    46864694  exec->dynamicGlobalObject()->tearOffActivation(exec);
    46874695 
    4688   bool named = !ident.isNull();
     4696  bool named = !m_ident.isNull();
    46894697  JSObject *functionScopeObject = 0;
    46904698
     
    46974705  }
    46984706
    4699   FunctionImp* func = new FunctionImp(exec, ident, body.get(), exec->scopeChain());
     4707  FunctionImp* func = new FunctionImp(exec, m_ident, m_body.get(), exec->scopeChain());
    47004708  JSObject* proto = exec->lexicalGlobalObject()->objectConstructor()->construct(exec, exec->emptyList());
    47014709  proto->put(exec, exec->propertyNames().constructor, func, ReadOnly | DontDelete | DontEnum);
     
    47034711
    47044712  if (named) {
    4705     functionScopeObject->put(exec, ident, func, Internal | ReadOnly | (exec->codeType() == EvalCode ? 0 : DontDelete));
     4713    functionScopeObject->put(exec, m_ident, func, Internal | ReadOnly | (exec->codeType() == EvalCode ? 0 : DontDelete));
    47064714    exec->popScope();
    47074715  }
Note: See TracChangeset for help on using the changeset viewer.