Changeset 27126 in webkit for trunk/JavaScriptCore/ChangeLog
- Timestamp:
- Oct 26, 2007, 3:43:03 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/ChangeLog
r27124 r27126 1 2007-10-26 Geoffrey Garen <[email protected]> 2 3 Reviewed by Maciej Stachowiak. 4 5 Switched ActivationImp to using a symbol table. For now, though, all 6 clients take the slow path. 7 8 Net .6% speedup on SunSpider. 9 10 Slowdowns: 11 - ActivationImp now mallocs in its constructor 12 - Local variable hits use an extra level of indirection to retrieve 13 data 14 - Local variable misses do two lookups 15 16 Speedups: 17 - Fast initialization of local variables upon function entry 18 19 * JavaScriptCore.xcodeproj/project.pbxproj: Added SymbolTable.h 20 21 * kjs/function.cpp: 22 (KJS::ActivationImp::ActivationImp): Malloc a private structure to hold 23 data that won't fit in a JSCell. 24 (KJS::ActivationImp::argumentsGetter): Use slow symbol table path for 25 lookup. 26 (KJS::ActivationImp::getOwnPropertySlot): ditto 27 (KJS::ActivationImp::deleteProperty): ditto 28 (KJS::ActivationImp::put): ditto 29 (KJS::ActivationImp::createArgumentsObject): ditto 30 31 (KJS::ActivationImp::mark): Call JSObject::mark first so that one of 32 our properties doesn't try to recursively mark us. (This caused a crash 33 in earlier testing. Not sure why we haven't run into it before.) 34 35 * kjs/nodes.cpp: Functions now build a symbol table the first time 36 they're called. 37 (KJS::VarDeclNode::evaluate): 38 (KJS::FunctionBodyNode::FunctionBodyNode): 39 (KJS::FunctionBodyNode::initializeSymbolTable): 40 (KJS::FunctionBodyNode::processDeclarations): 41 (KJS::FunctionBodyNode::processDeclarationsForFunctionCode): 42 (KJS::FunctionBodyNode::processDeclarationsForProgramCode): 43 44 * kjs/nodes.h: 45 (KJS::FunctionBodyNode::symbolTable): 46 47 * wtf/Forward.h: Added Vector. 48 1 49 2007-10-26 Kevin McCullough <[email protected]> 2 50
Note:
See TracChangeset
for help on using the changeset viewer.