Ignore:
Timestamp:
May 10, 2015, 1:03:57 PM (10 years ago)
Author:
[email protected]
Message:

Remove unused things from PropertyNameArray.
<https://webkit.org/b/144834>

Reviewed by Filip Pizlo.

PropertyNameArray had a bunch of bells and whistles added to it when for-in iteration
was refactored and optimized last year. Then more refactoring happened and this class
doesn't need to ring and toot anymore.

The RefCountedIdentifierSet class disappears since the JSPropertyNameEnumerator wasn't
actually using it for anything and we were just wasting time creating these.

Also made the member functions take AtomicStringImpl* instead of plain StringImpl*.

  • runtime/JSObject.cpp:

(JSC::JSObject::getPropertyNames):

  • runtime/JSPropertyNameEnumerator.cpp:

(JSC::JSPropertyNameEnumerator::create):
(JSC::JSPropertyNameEnumerator::JSPropertyNameEnumerator):

  • runtime/JSPropertyNameEnumerator.h:
  • runtime/PropertyNameArray.cpp:

(JSC::PropertyNameArray::add):
(JSC::PropertyNameArray::setPreviouslyEnumeratedProperties): Deleted.

  • runtime/PropertyNameArray.h:

(JSC::PropertyNameArray::PropertyNameArray):
(JSC::PropertyNameArray::add):
(JSC::PropertyNameArray::addKnownUnique):
(JSC::PropertyNameArray::canAddKnownUniqueForStructure):
(JSC::RefCountedIdentifierSet::contains): Deleted.
(JSC::RefCountedIdentifierSet::size): Deleted.
(JSC::RefCountedIdentifierSet::add): Deleted.
(JSC::PropertyNameArray::identifierSet): Deleted.
(JSC::PropertyNameArray::numCacheableSlots): Deleted.
(JSC::PropertyNameArray::setNumCacheableSlotsForObject): Deleted.
(JSC::PropertyNameArray::setBaseObject): Deleted.
(JSC::PropertyNameArray::setPreviouslyEnumeratedLength): Deleted.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/runtime/PropertyNameArray.cpp

    r182406 r184050  
    3030namespace JSC {
    3131
    32 void PropertyNameArray::add(StringImpl* identifier)
     32void PropertyNameArray::add(AtomicStringImpl* identifier)
    3333{
    34     ASSERT(!identifier || (identifier == StringImpl::empty() || identifier->isAtomic() || identifier->isSymbol()));
    35     if (!ASSERT_DISABLED) {
    36         Optional<uint32_t> index = parseIndex(Identifier::fromUid(m_vm, identifier));
    37         ASSERT_UNUSED(index, !index || index.value() >= m_previouslyEnumeratedLength);
    38     }
     34    ASSERT(identifier);
    3935
    40     if (m_alternateSet && m_alternateSet->contains(identifier))
    41         return;
    42 
    43     if (!m_set->add(identifier).isNewEntry)
     36    if (!m_set.add(identifier).isNewEntry)
    4437        return;
    4538
     
    4740}
    4841
    49 void PropertyNameArray::setPreviouslyEnumeratedProperties(const JSPropertyNameEnumerator* enumerator)
    50 {
    51     m_alternateSet = enumerator->identifierSet();
    52 }
    53 
    5442} // namespace JSC
Note: See TracChangeset for help on using the changeset viewer.