Ignore:
Timestamp:
Nov 20, 2002, 1:49:31 PM (23 years ago)
Author:
darin
Message:
  • oops, checked in big regression instead of 5% speedup
  • kjs/function.cpp: (ActivationImp::ActivationImp): Make a marking list, not a refing list.
  • a cut at the sparse array implementation
  • kjs/array_instance.h: Keep storageLength separate from length.
  • kjs/array_object.cpp: (ArrayInstanceImp::ArrayInstanceImp): Start with storageLength == length. (ArrayInstanceImp::get): Check against storage length. (ArrayInstanceImp::put): Ditto. (ArrayInstanceImp::hasProperty): Ditto. (ArrayInstanceImp::deleteProperty): Ditto. (ArrayInstanceImp::setLength): Only enlarge storage length up to a cutoff. (ArrayInstanceImp::mark): Use storageLength. (ArrayInstanceImp::pushUndefinedObjectsToEnd): Added FIXME.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/kjs/function.cpp

    r2783 r2786  
    331331// ECMA 10.1.6
    332332ActivationImp::ActivationImp(ExecState *exec, FunctionImp *f, const List &args)
    333   : _function(f), _arguments(args)
     333  : _function(f), _arguments(true)
    334334{
    335335  Value protect(this);
     336  _arguments = args;
    336337  _argumentsObject = new ArgumentsImp(exec, f, args);
    337338  putDirect(argumentsPropertyName, _argumentsObject, Internal|DontDelete);
Note: See TracChangeset for help on using the changeset viewer.