Ignore:
Timestamp:
Jul 29, 2008, 1:16:17 AM (17 years ago)
Author:
[email protected]
Message:

Reviewed by Oliver Hunt.

Store UString::Rep::isStatic bit in identifierTable pointer instead of reportedCost for
slightly nicer code and a 0.5% SunSpider improvement.

File:
1 edited

Legend:

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

    r34611 r35418  
    4141        HashSet<UString::Rep*>::iterator end = m_table.end();
    4242        for (HashSet<UString::Rep*>::iterator iter = m_table.begin(); iter != end; ++iter)
    43             (*iter)->identifierTable = 0;
     43            (*iter)->setIdentifierTable(0);
    4444    }
    4545   
     
    4747    {
    4848        std::pair<HashSet<UString::Rep*>::iterator, bool> result = m_table.add(value);
    49         (*result.first)->identifierTable = this;
     49        (*result.first)->setIdentifierTable(this);
    5050        return result;
    5151    }
     
    5555    {
    5656        std::pair<HashSet<UString::Rep*>::iterator, bool> result = m_table.add<U, V>(value);
    57         (*result.first)->identifierTable = this;
     57        (*result.first)->setIdentifierTable(this);
    5858        return result;
    5959    }
     
    205205PassRefPtr<UString::Rep> Identifier::addSlowCase(JSGlobalData* globalData, UString::Rep* r)
    206206{
    207     ASSERT(!r->identifierTable);
     207    ASSERT(!r->identifierTable());
    208208
    209209    if (r->len == 0) {
     
    222222void Identifier::remove(UString::Rep *r)
    223223{
    224     r->identifierTable->remove(r);
     224    r->identifierTable()->remove(r);
    225225}
    226226
Note: See TracChangeset for help on using the changeset viewer.