Ignore:
Timestamp:
Sep 21, 2008, 2:35:23 PM (17 years ago)
Author:
Darin Adler
Message:

2008-09-21 Darin Adler <Darin Adler>

Reviewed by Sam Weinig.

No change on SunSpider. 1.29x as fast on V8 Raytrace.

  • kjs/Arguments.cpp: Moved ArgumentsData in here. Eliminated the indexToNameMap and hadDeletes data members. Changed extraArguments into an OwnArrayPtr and added deletedArguments, another OwnArrayPtr. Replaced numExtraArguments with numParameters, since that's what's used more directly in hot code paths. (JSC::Arguments::Arguments): Pass in argument count instead of ArgList. Initialize ArgumentsData the new way. (JSC::Arguments::mark): Updated. (JSC::Arguments::getOwnPropertySlot): Overload for the integer form so we don't have to convert integers to identifiers just to get an argument. Integrated the deleted case with the fast case. (JSC::Arguments::put): Ditto. (JSC::Arguments::deleteProperty): Ditto.
  • kjs/Arguments.h: Minimized includes. Made everything private. Added overloads for the integral property name case. Eliminated mappedIndexSetter. Moved ArgumentsData into the .cpp file.
  • kjs/IndexToNameMap.cpp: Emptied out and prepared for deletion.
  • kjs/IndexToNameMap.h: Ditto.
  • kjs/JSActivation.cpp: (JSC::JSActivation::createArgumentsObject): Elminated ArgList.
  • GNUmakefile.am:
  • JavaScriptCore.pri:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • JavaScriptCoreSources.bkl:
  • kjs/AllInOneFile.cpp: Removed IndexToNameMap.
File:
1 edited

Legend:

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

    r36735 r36743  
    171171    exec->machine()->getArgumentsData(callFrame, function, argv, argc);
    172172
    173     ArgList args(argv, argc);
    174173    int firstArgumentIndex = -d()->functionBody->generatedByteCode().numLocals + 1;
    175     return new (exec) Arguments(exec, function, args, this, firstArgumentIndex, argv);
     174    return new (exec) Arguments(exec, function, this, firstArgumentIndex, argv, argc);
    176175}
    177176
Note: See TracChangeset for help on using the changeset viewer.