Changeset 36419 in webkit for trunk/JavaScriptCore
- Timestamp:
- Sep 14, 2008, 7:21:42 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/ChangeLog
r36418 r36419 1 2008-09-14 Maciej Stachowiak <[email protected]>2 3 Reviewed by Cameron Zwarich.4 5 - split the "prototype" lookup for hasInstance into opcode stream so it can be cached6 7 ~5% speedup on v8 earley-boyer test8 9 * API/JSCallbackObject.h: Add a parameter for the pre-looked-up prototype.10 * API/JSCallbackObjectFunctions.h:11 (JSC::::hasInstance): Ditto.12 * API/JSValueRef.cpp:13 (JSValueIsInstanceOfConstructor): Look up and pass in prototype.14 * JavaScriptCore.exp:15 * VM/CTI.cpp:16 (JSC::CTI::privateCompileMainPass): Pass along prototype.17 * VM/CodeBlock.cpp:18 (JSC::CodeBlock::dump): Print third arg.19 * VM/CodeGenerator.cpp:20 (JSC::CodeGenerator::emitInstanceOf): Implement this, now that there21 is a third argument.22 * VM/CodeGenerator.h:23 * VM/Machine.cpp:24 (JSC::Machine::privateExecute): Pass along the prototype.25 (JSC::Machine::cti_op_instanceof): ditto26 * kjs/JSObject.cpp:27 (JSC::JSObject::hasInstance): Expect to get a pre-looked-up prototype.28 * kjs/JSObject.h:29 * kjs/nodes.cpp:30 (JSC::InstanceOfNode::emitCode): Emit a get_by_id of the prototype31 property and pass that register to instanceof.32 * kjs/nodes.h:33 34 1 2008-09-14 Gavin Barraclough <[email protected]> 35 2 … … 103 70 (JSC::X86Assembler::getDifferenceBetweenLabels): 104 71 (JSC::X86Assembler::emitModRm_opmsib): 72 73 2008-09-14 Maciej Stachowiak <[email protected]> 74 75 Reviewed by Cameron Zwarich. 76 77 - split the "prototype" lookup for hasInstance into opcode stream so it can be cached 78 79 ~5% speedup on v8 earley-boyer test 80 81 * API/JSCallbackObject.h: Add a parameter for the pre-looked-up prototype. 82 * API/JSCallbackObjectFunctions.h: 83 (JSC::::hasInstance): Ditto. 84 * API/JSValueRef.cpp: 85 (JSValueIsInstanceOfConstructor): Look up and pass in prototype. 86 * JavaScriptCore.exp: 87 * VM/CTI.cpp: 88 (JSC::CTI::privateCompileMainPass): Pass along prototype. 89 * VM/CodeBlock.cpp: 90 (JSC::CodeBlock::dump): Print third arg. 91 * VM/CodeGenerator.cpp: 92 (JSC::CodeGenerator::emitInstanceOf): Implement this, now that there 93 is a third argument. 94 * VM/CodeGenerator.h: 95 * VM/Machine.cpp: 96 (JSC::Machine::privateExecute): Pass along the prototype. 97 (JSC::Machine::cti_op_instanceof): ditto 98 * kjs/JSObject.cpp: 99 (JSC::JSObject::hasInstance): Expect to get a pre-looked-up prototype. 100 * kjs/JSObject.h: 101 * kjs/nodes.cpp: 102 (JSC::InstanceOfNode::emitCode): Emit a get_by_id of the prototype 103 property and pass that register to instanceof. 104 * kjs/nodes.h: 105 105 106 106 2008-09-14 Gavin Barraclough <[email protected]>
Note:
See TracChangeset
for help on using the changeset viewer.