Ignore:
Timestamp:
Oct 29, 2007, 10:36:24 PM (18 years ago)
Author:
oliver
Message:

Debranching remaining assignment nodes, and miscellaneous cleanup

Reviewed by Maciej.

Split read-modify code paths out of AssignBracketNode and AssignDotNode
Removed now unnecessary check for write-only assignment in ReadModifyLocalVarNode
and ReadModifyResolveNode evaluate methods

Leads to a 1% gain in SunSpider.

File:
1 edited

Legend:

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

    r27252 r27255  
    674674}
    675675
    676 void AssignBracketNode::streamTo(SourceStream& s) const
     676void ReadModifyBracketNode::streamTo(SourceStream& s) const
    677677{
    678678    s << PrecCall << m_base << '[' << m_subscript << "] "
     
    680680}
    681681
    682 void AssignDotNode::streamTo(SourceStream& s) const
     682void AssignBracketNode::streamTo(SourceStream& s) const
     683{
     684    s << PrecCall << m_base << '[' << m_subscript << "] = " << PrecAssignment << m_right;
     685}
     686
     687void ReadModifyDotNode::streamTo(SourceStream& s) const
    683688{
    684689    s << DotExpr << PrecCall << m_base << "." << m_ident << ' '
    685690        << operatorString(m_oper) << ' ' << PrecAssignment << m_right;
     691}
     692
     693void AssignDotNode::streamTo(SourceStream& s) const
     694{
     695    s << DotExpr << PrecCall << m_base << "." << m_ident << " = " << PrecAssignment << m_right;
    686696}
    687697
Note: See TracChangeset for help on using the changeset viewer.