Ignore:
Timestamp:
Nov 20, 2002, 1:12:14 PM (23 years ago)
Author:
darin
Message:
  • decrease ref/deref -- 5% speedup in iBench
  • JavaScriptCore.pbproj/project.pbxproj: Added array_instance.h
  • kjs/array_instance.h: Added so it can be shared by function.h.
  • kjs/array_object.cpp:
  • kjs/array_object.h:
  • kjs/bool_object.cpp:
  • kjs/bool_object.h:
  • kjs/collector.cpp:
  • kjs/date_object.cpp:
  • kjs/date_object.h:
  • kjs/error_object.cpp:
  • kjs/function.cpp:
  • kjs/function.h:
  • kjs/function_object.cpp:
  • kjs/internal.cpp:
  • kjs/internal.h:
  • kjs/math_object.cpp:
  • kjs/nodes.cpp:
  • kjs/number_object.cpp:
  • kjs/object.cpp:
  • kjs/object.h:
  • kjs/object_object.cpp:
  • kjs/property_map.cpp:
  • kjs/reference.cpp:
  • kjs/reference.h:
  • kjs/regexp_object.cpp:
  • kjs/string_object.cpp:
  • kjs/string_object.h:
  • kjs/value.cpp:
  • kjs/value.h: Switched lots of interfaces so they don't require ref/deref.
File:
1 edited

Legend:

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

    r2760 r2783  
    2727
    2828namespace KJS {
    29 
    30   class ArrayInstanceImp : public ObjectImp {
    31   public:
    32     ArrayInstanceImp(const Object &proto, unsigned initialLength);
    33     ArrayInstanceImp(const Object &proto, const List &initialValues);
    34     ~ArrayInstanceImp();
    35 
    36     virtual Value get(ExecState *exec, const Identifier &propertyName) const;
    37     virtual Value get(ExecState *exec, unsigned propertyName) const;
    38     virtual void put(ExecState *exec, const Identifier &propertyName, const Value &value, int attr = None);
    39     virtual void put(ExecState *exec, unsigned propertyName, const Value &value, int attr = None);
    40     virtual bool hasProperty(ExecState *exec, const Identifier &propertyName) const;
    41     virtual bool hasProperty(ExecState *exec, unsigned propertyName) const;
    42     virtual bool deleteProperty(ExecState *exec, const Identifier &propertyName);
    43     virtual bool deleteProperty(ExecState *exec, unsigned propertyName);
    44 
    45     virtual void mark();
    46 
    47     virtual const ClassInfo *classInfo() const { return &info; }
    48     static const ClassInfo info;
    49    
    50     unsigned getLength() const { return length; }
    51    
    52     void sort(ExecState *exec);
    53     void sort(ExecState *exec, Object &compareFunction);
    54    
    55   private:
    56     void setLength(unsigned newLength);
    57    
    58     unsigned pushUndefinedObjectsToEnd();
    59    
    60     unsigned length;
    61     unsigned capacity;
    62     ValueImp **storage;
    63   };
    6429
    6530 class ArrayPrototypeImp : public ArrayInstanceImp {
Note: See TracChangeset for help on using the changeset viewer.