Skip to content
  • mjs's avatar
    JavaScriptCore: · f025068f
    mjs authored
            Reviewed by Eric.
    
    	- move HashMap/HashSet code down to JavaScriptCore
    	http://bugzilla.opendarwin.org/show_bug.cgi?id=5161
    
            * JavaScriptCore.xcodeproj/project.pbxproj:
            * kjs/internal.cpp:
            (KJS::interpreterMap): Function that fetches the interpreter map on demand.
            (KJS::InterpreterImp::InterpreterImp): Replace use of InterpreterMap
    	class with an appropriate HashMap.
            (KJS::InterpreterImp::clear): ditto
            (KJS::InterpreterImp::interpreterWithGlobalObject): ditto
            * kjs/interpreter_map.cpp: Removed.
            * kjs/interpreter_map.h: Removed.
    
    	The HashMap/HashSet code (copied and slightly tweaked from WebCore)
    
    	* kxmlcore/HashFunctions.h: Added.
            (KXMLCore::4):
            (KXMLCore::8):
            (KXMLCore::):
            (KXMLCore::PointerHash::hash):
            (KXMLCore::PointerHash::equal):
            * kxmlcore/HashMap.h: Added.
            (KXMLCore::extractFirst):
            (KXMLCore::HashMap::HashMap):
            (KXMLCore::::size):
            (KXMLCore::::capacity):
            (KXMLCore::::isEmpty):
            (KXMLCore::::begin):
            (KXMLCore::::end):
            (KXMLCore::::find):
            (KXMLCore::::contains):
            (KXMLCore::::set):
            (KXMLCore::::get):
            (KXMLCore::::remove):
            (KXMLCore::::clear):
            (KXMLCore::deleteAllValues):
            * kxmlcore/HashMapPtrSpec.h: Added.
            (KXMLCore::PointerHashIteratorAdapter::PointerHashIteratorAdapter):
            (KXMLCore::PointerHashIteratorAdapter::operator*):
            (KXMLCore::PointerHashIteratorAdapter::operator->):
            (KXMLCore::PointerHashIteratorAdapter::operator++):
            (KXMLCore::PointerHashIteratorAdapter::operator==):
            (KXMLCore::PointerHashIteratorAdapter::operator!=):
            (KXMLCore::PointerHashConstIteratorAdapter::PointerHashConstIteratorAdapter):
            (KXMLCore::PointerHashConstIteratorAdapter::operator*):
            (KXMLCore::PointerHashConstIteratorAdapter::operator->):
            (KXMLCore::PointerHashConstIteratorAdapter::operator++):
            (KXMLCore::PointerHashConstIteratorAdapter::operator==):
            (KXMLCore::PointerHashConstIteratorAdapter::operator!=):
            (KXMLCore::):
            * kxmlcore/HashSet.h: Added.
            (KXMLCore::identityExtract):
            (KXMLCore::convertAdapter):
            (KXMLCore::HashSet::HashSet):
            (KXMLCore::::size):
            (KXMLCore::::capacity):
            (KXMLCore::::isEmpty):
            (KXMLCore::::begin):
            (KXMLCore::::end):
            (KXMLCore::::find):
            (KXMLCore::::contains):
            (KXMLCore::::insert):
            (KXMLCore::::remove):
            (KXMLCore::::clear):
            * kxmlcore/HashTable.cpp: Added.
            (KXMLCore::HashTableStats::~HashTableStats):
            (KXMLCore::HashTableStats::recordCollisionAtCount):
            * kxmlcore/HashTable.h: Added.
            (KXMLCore::HashTableIterator::skipEmptyBuckets):
            (KXMLCore::HashTableIterator::HashTableIterator):
            (KXMLCore::HashTableIterator::operator*):
            (KXMLCore::HashTableIterator::operator->):
            (KXMLCore::HashTableIterator::operator++):
            (KXMLCore::HashTableIterator::operator==):
            (KXMLCore::HashTableIterator::operator!=):
            (KXMLCore::HashTableConstIterator::HashTableConstIterator):
            (KXMLCore::HashTableConstIterator::operator*):
            (KXMLCore::HashTableConstIterator::operator->):
            (KXMLCore::HashTableConstIterator::skipEmptyBuckets):
            (KXMLCore::HashTableConstIterator::operator++):
            (KXMLCore::HashTableConstIterator::operator==):
            (KXMLCore::HashTableConstIterator::operator!=):
            (KXMLCore::HashTable::HashTable):
            (KXMLCore::HashTable::~HashTable):
            (KXMLCore::HashTable::begin):
            (KXMLCore::HashTable::end):
            (KXMLCore::HashTable::size):
            (KXMLCore::HashTable::capacity):
            (KXMLCore::HashTable::insert):
            (KXMLCore::HashTable::isEmptyBucket):
            (KXMLCore::HashTable::isDeletedBucket):
            (KXMLCore::HashTable::isEmptyOrDeletedBucket):
            (KXMLCore::HashTable::hash):
            (KXMLCore::HashTable::equal):
            (KXMLCore::HashTable::identityConvert):
            (KXMLCore::HashTable::extractKey):
            (KXMLCore::HashTable::lookup):
            (KXMLCore::HashTable::shouldExpand):
            (KXMLCore::HashTable::mustRehashInPlace):
            (KXMLCore::HashTable::shouldShrink):
            (KXMLCore::HashTable::shrink):
            (KXMLCore::HashTable::clearBucket):
            (KXMLCore::HashTable::deleteBucket):
            (KXMLCore::HashTable::makeLookupResult):
            (KXMLCore::HashTable::makeIterator):
            (KXMLCore::HashTable::makeConstIterator):
            (KXMLCore::::lookup):
            (KXMLCore::::insert):
            (KXMLCore::::reinsert):
            (KXMLCore::::find):
            (KXMLCore::::contains):
            (KXMLCore::::remove):
            (KXMLCore::::allocateTable):
            (KXMLCore::::expand):
            (KXMLCore::::rehash):
            (KXMLCore::::clear):
            (KXMLCore::::HashTable):
            (KXMLCore::::swap):
            (KXMLCore::::operator):
            (KXMLCore::::checkTableConsistency):
            (KXMLCore::::checkTableConsistencyExceptSize):
            * kxmlcore/HashTraits.h: Added.
            (KXMLCore::HashTraits::emptyValue):
            (KXMLCore::):
            (KXMLCore::PairHashTraits::emptyValue):
            (KXMLCore::PairHashTraits::deletedValue):
    
    WebCore:
    
            Reviewed by Eric.
    
    	- move HashMap/HashSet code down to JavaScriptCore; adapt usage to the new header location
    	http://bugzilla.opendarwin.org/show_bug.cgi?id=5161
    
            * ForwardingHeaders/kxmlcore/HashMap.h: Added.
            * ForwardingHeaders/kxmlcore/HashSet.h: Added.
            * ForwardingHeaders/misc/hashmap.h: Removed.
            * ForwardingHeaders/misc/hashset.h: Removed.
            * ForwardingHeaders/misc/pointerhash.h: Removed.
            * WebCore.xcodeproj/project.pbxproj:
            * khtml/css/cssstyleselector.cpp:
            (khtml::CSSRuleSet::getIDRules):
            (khtml::CSSRuleSet::getClassRules):
            (khtml::CSSRuleSet::getTagRules):
            (khtml::CSSRuleSet::getUniversalRules):
            (khtml::CSSRuleSet::addToRuleSet):
            * khtml/css/cssstyleselector.h:
            * khtml/ecma/kjs_binding.cpp:
            * khtml/editing/jsediting.cpp:
            * khtml/html/html_documentimpl.cpp:
            (DOM::addItemToMap):
            * khtml/html/html_documentimpl.h:
            * khtml/html/html_elementimpl.cpp:
            * khtml/html/html_formimpl.cpp:
            (DOM::HTMLFormElementImpl::radioButtonChecked):
            * khtml/html/html_formimpl.h:
            * khtml/html/htmlfactory.cpp:
            (DOM::HTMLElementFactory::createHTMLElement):
            * khtml/html/htmlparser.cpp:
            (HTMLParser::getNode):
            * khtml/xml/dom_atomicstring.cpp:
            * khtml/xml/dom_qname.cpp:
            * khtml/xml/dom_stringimpl.h:
            (KXMLCore::):
            (KXMLCore::CaseInsensitiveHash::hash):
            (KXMLCore::CaseInsensitiveHash::equal):
            * khtml/xml/xml_tokenizer.cpp:
            * kwq/DOM.mm:
            (ObjCEventListener::ObjCEventListener):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@10653 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    f025068f