Changeset 2749 in webkit for trunk/JavaScriptCore/kjs/object.h


Ignore:
Timestamp:
Nov 18, 2002, 10:53:35 PM (23 years ago)
Author:
darin
Message:
  • property and string improvements giving a 7% or so improvement in JavaScript iBench
  • kjs/property_map.h: Rewrite to use a hash table.
  • kjs/property_map.cpp: Ditto.
  • kjs/string_object.h:
  • kjs/string_object.cpp: (StringInstanceImp::StringInstanceImp): Construct a string with the right value instead of putting the string in later. (StringInstanceImp::get): Get the length from the string, not a separate property. (StringInstanceImp::put): Ignore attempts to set length, since we don't put it in the property map. (StringInstanceImp::hasProperty): Return true for length. (StringInstanceImp::deleteProperty): Return false for length. (StringObjectImp::construct): Call new StringInstanceImp constructor. Don't try to set a length property.
  • kjs/ustring.h: Make the rep deref know how to deallocate the rep.
  • kjs/ustring.cpp: (UString::release): Move the real work to the rep's deref, since the hash table now uses the rep directly.
  • kjs/object.h: Remove unused field.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/kjs/object.h

    r2741 r2749  
    4444namespace KJS {
    4545
    46   class ObjectImpPrivate;
    4746  class PropertyMap;
    4847  class HashTable;
     
    584583  private:
    585584    const HashEntry* findPropertyHashEntry( const UString& propertyName ) const;
    586     ObjectImpPrivate *_od;
    587585    PropertyMap *_prop;
    588586    ValueImp *_proto;
Note: See TracChangeset for help on using the changeset viewer.