Changeset 58003 in webkit for trunk/JavaScriptCore/runtime


Ignore:
Timestamp:
Apr 21, 2010, 12:40:20 PM (15 years ago)
Author:
[email protected]
Message:
  • API/JSValueRef.cpp:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • runtime/Identifier.cpp:

(JSC::IdentifierTable::~IdentifierTable):
(JSC::IdentifierTable::add):

  • runtime/Identifier.h:
  • wtf/WTFThreadData.h:

(JSC::IdentifierTable::remove):
(JSC::IdentifierTable::literalTable):

  • wtf/text/StringImpl.cpp:

(WebCore::StringImpl::~StringImpl):

Reviewed by NOBODY (windows build fix).

Location:
trunk/JavaScriptCore/runtime
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/runtime/Identifier.cpp

    r58001 r58003  
    3636namespace JSC {
    3737
    38 typedef HashMap<const char*, RefPtr<UString::Rep>, PtrHash<const char*> > LiteralIdentifierTable;
    39 
    40 class IdentifierTable : public FastAllocBase {
    41 public:
    42     ~IdentifierTable()
    43     {
    44         HashSet<UString::Rep*>::iterator end = m_table.end();
    45         for (HashSet<UString::Rep*>::iterator iter = m_table.begin(); iter != end; ++iter)
    46             (*iter)->setIsIdentifier(false);
    47     }
    48 
    49     std::pair<HashSet<UString::Rep*>::iterator, bool> add(UString::Rep* value)
    50     {
    51         std::pair<HashSet<UString::Rep*>::iterator, bool> result = m_table.add(value);
    52         (*result.first)->setIsIdentifier(true);
    53         return result;
    54     }
    55 
    56     template<typename U, typename V>
    57     std::pair<HashSet<UString::Rep*>::iterator, bool> add(U value)
    58     {
    59         std::pair<HashSet<UString::Rep*>::iterator, bool> result = m_table.add<U, V>(value);
    60         (*result.first)->setIsIdentifier(true);
    61         return result;
    62     }
    63 
    64     void remove(UString::Rep* r) { m_table.remove(r); }
    65 
    66     LiteralIdentifierTable& literalTable() { return m_literalTable; }
    67 
    68 private:
    69     HashSet<UString::Rep*> m_table;
    70     LiteralIdentifierTable m_literalTable;
    71 };
     38IdentifierTable::~IdentifierTable()
     39{
     40    HashSet<StringImpl*>::iterator end = m_table.end();
     41    for (HashSet<StringImpl*>::iterator iter = m_table.begin(); iter != end; ++iter)
     42        (*iter)->setIsIdentifier(false);
     43}
     44std::pair<HashSet<StringImpl*>::iterator, bool> IdentifierTable::add(StringImpl* value)
     45{
     46    std::pair<HashSet<StringImpl*>::iterator, bool> result = m_table.add(value);
     47    (*result.first)->setIsIdentifier(true);
     48    return result;
     49}
     50template<typename U, typename V>
     51std::pair<HashSet<StringImpl*>::iterator, bool> IdentifierTable::add(U value)
     52{
     53    std::pair<HashSet<StringImpl*>::iterator, bool> result = m_table.add<U, V>(value);
     54    (*result.first)->setIsIdentifier(true);
     55    return result;
     56}
    7257
    7358IdentifierTable* createIdentifierTable()
     
    229214}
    230215
    231 void Identifier::remove(UString::Rep* r)
    232 {
    233     wtfThreadData().currentIdentifierTable()->remove(r);
    234 }
    235    
    236216Identifier Identifier::from(ExecState* exec, unsigned value)
    237217{
  • trunk/JavaScriptCore/runtime/Identifier.h

    r58001 r58003  
    7474        friend bool operator!=(const Identifier&, const char*);
    7575   
    76         static void remove(UString::Rep*);
    77 
    7876        static bool equal(const UString::Rep*, const char*);
    7977        static bool equal(const UString::Rep*, const UChar*, unsigned length);
Note: See TracChangeset for help on using the changeset viewer.