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


Ignore:
Timestamp:
Oct 29, 2007, 12:17:09 PM (18 years ago)
Author:
ggaren
Message:

Reviewed by Oliver Hunt.


Some small tweaks that I notice while reviewing Oliver's last patch.


Includes removal of an unnecessary KJS_CHECKEXCEPTIONVALUE.


No change in SunSpider because SunSpider doesn't take the code path that
would execute the unnecessary KJS_CHECKEXCEPTIONVALUE much.

  • kjs/nodes.cpp: (KJS::LocalVarPostfixNode::evaluate): (KJS::TypeOfResolveNode::optimizeVariableAccess): (KJS::LocalVarTypeOfNode::evaluate): (KJS::PrefixResolveNode::optimizeVariableAccess): (KJS::LocalVarPrefixNode::evaluate): (KJS::AssignResolveNode::optimizeVariableAccess): (KJS::LocalVarAssignNode::evaluate):
  • kjs/nodes.h: (KJS::LocalVarTypeOfNode::): (KJS::PrefixResolveNode::): (KJS::LocalVarPrefixNode::): (KJS::AssignResolveNode::): (KJS::LocalVarAssignNode::):
File:
1 edited

Legend:

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

    r27216 r27231  
    939939    ASSERT(variableObject == exec->scopeChain().top());
    940940
    941     JSValue** v = &variableObject->localStorage()[index].value;
    942     double n = (*v)->toNumber(exec);
     941    JSValue** slot = &variableObject->localStorage()[index].value;
     942    double n = (*slot)->toNumber(exec);
    943943    double newValue = (m_oper == OpPlusPlus) ? n + 1 : n - 1;
    944     *v = jsNumber(newValue);
     944    *slot = jsNumber(newValue);
    945945    return jsNumber(n);
    946946}
     
    11811181    size_t index = functionBody->symbolTable().get(m_ident.ustring().rep());
    11821182    if (index != missingSymbolMarker())
    1183         new (this) LocalTypeOfAccessNode(index);
    1184 }
    1185 
    1186 JSValue* LocalTypeOfAccessNode::evaluate(ExecState* exec)
     1183        new (this) LocalVarTypeOfNode(index);
     1184}
     1185
     1186JSValue* LocalVarTypeOfNode::evaluate(ExecState* exec)
    11871187{
    11881188    ActivationImp* variableObject = static_cast<ActivationImp*>(exec->variableObject());
     
    12341234    size_t index = functionBody->symbolTable().get(m_ident.ustring().rep());
    12351235    if (index != missingSymbolMarker())
    1236         new (this) PrefixLocalAccessNode(index);
    1237 }
    1238 
    1239 JSValue* PrefixLocalAccessNode::evaluate(ExecState* exec)
     1236        new (this) LocalVarPrefixNode(index);
     1237}
     1238
     1239JSValue* LocalVarPrefixNode::evaluate(ExecState* exec)
    12401240{
    12411241    ActivationImp* variableObject = static_cast<ActivationImp*>(exec->variableObject());
     
    20062006    size_t index = functionBody->symbolTable().get(m_ident.ustring().rep());
    20072007    if (index != missingSymbolMarker())
    2008         new (this) AssignLocalAccessNode(index);
    2009 }
    2010 
    2011 JSValue* AssignLocalAccessNode::evaluate(ExecState* exec)
     2008        new (this) LocalVarAssignNode(index);
     2009}
     2010
     2011JSValue* LocalVarAssignNode::evaluate(ExecState* exec)
    20122012{
    20132013    ActivationImp* variableObject = static_cast<ActivationImp*>(exec->variableObject());
     
    20152015    ASSERT(variableObject == exec->scopeChain().top());
    20162016    JSValue* v;
     2017    JSValue** slot = &variableObject->localStorage()[m_index].value;
    20172018
    20182019    if (m_oper == OpEqual)
    20192020        v = m_right->evaluate(exec);
    20202021    else {
    2021         JSValue* v1 = variableObject->localStorage()[m_index].value;
    2022         KJS_CHECKEXCEPTIONVALUE
    20232022        JSValue* v2 = m_right->evaluate(exec);
    2024         v = valueForReadModifyAssignment(exec, v1, v2, m_oper);
     2023        v = valueForReadModifyAssignment(exec, *slot, v2, m_oper);
    20252024    }
    20262025
    20272026    KJS_CHECKEXCEPTIONVALUE
    20282027
    2029     variableObject->localStorage()[m_index].value = v;
     2028    *slot = v;
    20302029    return v;
    20312030}
Note: See TracChangeset for help on using the changeset viewer.