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/bool_object.cpp

    r1824 r2783  
    3636const ClassInfo BooleanInstanceImp::info = {"Boolean", 0, 0, 0};
    3737
    38 BooleanInstanceImp::BooleanInstanceImp(const Object &proto)
     38BooleanInstanceImp::BooleanInstanceImp(ObjectImp *proto)
    3939  : ObjectImp(proto)
    4040{
     
    4848                                         ObjectPrototypeImp *objectProto,
    4949                                         FunctionPrototypeImp *funcProto)
    50   : BooleanInstanceImp(Object(objectProto))
     50  : BooleanInstanceImp(objectProto)
    5151{
    5252  Value protect(this);
    5353  // The constructor will be added later by InterpreterImp::InterpreterImp()
    5454
    55   put(exec,toStringPropertyName, Object(new BooleanProtoFuncImp(exec,funcProto,BooleanProtoFuncImp::ToString,0)), DontEnum);
    56   put(exec,valueOfPropertyName,  Object(new BooleanProtoFuncImp(exec,funcProto,BooleanProtoFuncImp::ValueOf,0)),  DontEnum);
     55  putDirect(toStringPropertyName, new BooleanProtoFuncImp(exec,funcProto,BooleanProtoFuncImp::ToString,0), DontEnum);
     56  putDirect(valueOfPropertyName,  new BooleanProtoFuncImp(exec,funcProto,BooleanProtoFuncImp::ValueOf,0),  DontEnum);
    5757  setInternalValue(Boolean(false));
    5858}
     
    6666{
    6767  Value protect(this);
    68   put(exec,lengthPropertyName,Number(len),DontDelete|ReadOnly|DontEnum);
     68  putDirect(lengthPropertyName, len, DontDelete|ReadOnly|DontEnum);
    6969}
    7070
     
    105105{
    106106  Value protect(this);
    107   put(exec,prototypePropertyName, Object(booleanProto),DontEnum|DontDelete|ReadOnly);
     107  putDirect(prototypePropertyName, booleanProto, DontEnum|DontDelete|ReadOnly);
    108108
    109109  // no. of arguments for constructor
    110   put(exec,lengthPropertyName, Number(1), ReadOnly|DontDelete|DontEnum);
     110  putDirect(lengthPropertyName, NumberImp::one(), ReadOnly|DontDelete|DontEnum);
    111111}
    112112
     
    120120Object BooleanObjectImp::construct(ExecState *exec, const List &args)
    121121{
    122   Object proto = exec->interpreter()->builtinBooleanPrototype();
    123   Object obj(new BooleanInstanceImp(proto));
     122  Object obj(new BooleanInstanceImp(exec->interpreter()->builtinBooleanPrototype().imp()));
    124123
    125124  Boolean b;
Note: See TracChangeset for help on using the changeset viewer.