Ignore:
Timestamp:
Apr 16, 2009, 11:20:32 PM (16 years ago)
Author:
Stephanie Lewis
Message:

2009-04-16 Stephanie Lewis <Stephanie Lewis>

Reviewed by Oliver Hunt.

<rdar://problem/6744652> 32-bit to 64-bit: Javascript hash tables double in size

Remove perfect hash optimization which removes 1 MB of overhead on 32-bit and almost 2 MB on 64-bit. Removing the optimization was not a regression on SunSpider and the acid 3 test still passes.

  • create_hash_table:
  • runtime/Lookup.cpp: (JSC::HashTable::createTable): (JSC::HashTable::deleteTable):
  • runtime/Lookup.h: (JSC::HashEntry::initialize): (JSC::HashEntry::next): (JSC::HashTable::entry):
  • runtime/Structure.cpp: (JSC::Structure::getEnumerableNamesFromClassInfoTable):
File:
1 edited

Legend:

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

    r41232 r42606  
    949949        table->initializeIfNeeded(exec);
    950950        ASSERT(table->table);
    951 #if ENABLE(PERFECT_HASH_SIZE)
    952         int hashSizeMask = table->hashSizeMask;
    953 #else
     951
    954952        int hashSizeMask = table->compactSize - 1;
    955 #endif
    956953        const HashEntry* entry = table->table;
    957954        for (int i = 0; i <= hashSizeMask; ++i, ++entry) {
Note: See TracChangeset for help on using the changeset viewer.