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

    r2760 r2783  
    210210const ClassInfo DateInstanceImp::info = {"Date", 0, 0, 0};
    211211
    212 DateInstanceImp::DateInstanceImp(const Object &proto)
     212DateInstanceImp::DateInstanceImp(ObjectImp *proto)
    213213  : ObjectImp(proto)
    214214{
     
    272272DatePrototypeImp::DatePrototypeImp(ExecState *,
    273273                                   ObjectPrototypeImp *objectProto)
    274   : DateInstanceImp(Object(objectProto))
     274  : DateInstanceImp(objectProto)
    275275{
    276276  Value protect(this);
    277   setInternalValue(Number(NaN));
     277  setInternalValue(NumberImp::create(NaN));
    278278  // The constructor will be added later, after DateObjectImp has been built
    279279}
     
    293293{
    294294  Value protect(this);
    295   put(exec,lengthPropertyName,Number(len),DontDelete|ReadOnly|DontEnum);
     295  putDirect(lengthPropertyName, len, DontDelete|ReadOnly|DontEnum);
    296296}
    297297
     
    524524{
    525525  Value protect(this);
     526 
    526527  // ECMA 15.9.4.1 Date.prototype
    527   put(exec,prototypePropertyName, Object(dateProto), DontEnum|DontDelete|ReadOnly);
    528 
    529   put(exec,"parse", Object(new DateObjectFuncImp(exec,funcProto,DateObjectFuncImp::Parse, 1)), DontEnum);
    530   put(exec,"UTC",   Object(new DateObjectFuncImp(exec,funcProto,DateObjectFuncImp::UTC,   7)),   DontEnum);
     528  putDirect(prototypePropertyName, dateProto, DontEnum|DontDelete|ReadOnly);
     529
     530  static const Identifier parsePropertyName("parse");
     531  putDirect(parsePropertyName, new DateObjectFuncImp(exec,funcProto,DateObjectFuncImp::Parse, 1), DontEnum);
     532  static const Identifier UTCPropertyName("UTC");
     533  putDirect("UTC",   new DateObjectFuncImp(exec,funcProto,DateObjectFuncImp::UTC,   7),   DontEnum);
    531534
    532535  // no. of arguments for constructor
    533   put(exec,lengthPropertyName, Number(7), ReadOnly|DontDelete|DontEnum);
     536  putDirect(lengthPropertyName, 7, ReadOnly|DontDelete|DontEnum);
    534537}
    535538
     
    602605
    603606  Object proto = exec->interpreter()->builtinDatePrototype();
    604   Object ret(new DateInstanceImp(proto));
     607  Object ret(new DateInstanceImp(proto.imp()));
    605608  ret.setInternalValue(timeClip(value));
    606609  return ret;
     
    637640{
    638641  Value protect(this);
    639   put(exec,lengthPropertyName,Number(len),DontDelete|ReadOnly|DontEnum);
     642  putDirect(lengthPropertyName, len, DontDelete|ReadOnly|DontEnum);
    640643}
    641644
Note: See TracChangeset for help on using the changeset viewer.