Ignore:
Timestamp:
Nov 20, 2002, 12:53:04 AM (23 years ago)
Author:
darin
Message:
  • add a couple of list operations to avoid clearing lists so much during sorting; gives 1.5% iBench
  • kjs/types.h: Added replaceFirst/replaceLast.
  • kjs/types.cpp: (List::replaceFirst), (List::replaceLast): Added.
  • kjs/array_object.cpp: (compareWithCompareFunctionForQSort): Use replaceFirst/replaceLast.
  • kjs/property_map.cpp: Put in an ifdef so I can re-add/remove the single entry to see if it has outlived its usefulness. (It hasn't yet.)
File:
1 edited

Legend:

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

    r2760 r2777  
    215215        , compareFunction(cf)
    216216        , globalObject(e->interpreter()->globalObject())
    217     { }
     217    {
     218        arguments.append(Undefined());
     219        arguments.append(Undefined());
     220    }
    218221
    219222    ExecState *exec;
     
    229232    CompareWithCompareFunctionArguments *args = compareWithCompareFunctionArguments;
    230233   
    231     args->arguments.clear();
    232     args->arguments.append(*(ValueImp **)a);
    233     args->arguments.append(*(ValueImp **)b);
     234    args->arguments.replaceFirst(*(ValueImp **)a);
     235    args->arguments.replaceLast(*(ValueImp **)b);
    234236    return args->compareFunction->call(args->exec, args->globalObject, args->arguments)
    235237        .toInt32(args->exec);
Note: See TracChangeset for help on using the changeset viewer.