Changeset 90187 in webkit for trunk/Source/JavaScriptCore/ChangeLog
- Timestamp:
- Jun 30, 2011, 5:10:23 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r90179 r90187 1 2011-06-30 Geoffrey Garen <[email protected]> 2 3 Reviewed by Gavin Barraclough. 4 5 Added empty write barrier stubs in all the right places in the DFG JIT 6 https://bugs.webkit.org/show_bug.cgi?id=63764 7 8 SunSpider thinks this might be a 0.5% speedup. Meh. 9 10 * dfg/DFGJITCodeGenerator.cpp: 11 (JSC::DFG::JITCodeGenerator::writeBarrier): Le stub. 12 13 (JSC::DFG::JITCodeGenerator::cachedPutById): Don't do anything special 14 for the case where base == scratch, since we now require base and scratch 15 to be not equal, for the sake of the write barrier. 16 17 * dfg/DFGJITCodeGenerator.h: Le stub. 18 19 * dfg/DFGNonSpeculativeJIT.cpp: 20 (JSC::DFG::NonSpeculativeJIT::compile): Don't reuse the base register 21 as the scratch register, since that's incompatible with the write barrier, 22 which needs a distinct base and scratch. 23 24 Do put the global object into a register before loading its var storage, 25 since it needs to be in a register for the write barrier to operate on it. 26 27 * dfg/DFGSpeculativeJIT.cpp: 28 (JSC::DFG::SpeculativeJIT::compile): 29 * jit/JITPropertyAccess.cpp: 30 (JSC::JIT::emitWriteBarrier): Second verse, same as the first. 31 32 * jit/JITPropertyAccess.cpp: 33 (JSC::JIT::emit_op_get_scoped_var): 34 (JSC::JIT::emit_op_put_scoped_var): 35 (JSC::JIT::emit_op_put_global_var): Deployed offsetOfRegisters() to more 36 places. 37 38 (JSC::JIT::emitWriteBarrier): Added a teeny tiny ASSERT so this function 39 is a little more than meaningless. 40 41 * jit/JITPropertyAccess32_64.cpp: 42 (JSC::JIT::emit_op_get_scoped_var): 43 (JSC::JIT::emit_op_put_scoped_var): 44 (JSC::JIT::emit_op_put_global_var): Deployed offsetOfRegisters() to more 45 places. 46 47 (JSC::JIT::emitWriteBarrier): Added a teeny tiny ASSERT so this function 48 is a little more than meaningless. 49 50 * runtime/JSVariableObject.h: 51 (JSC::JSVariableObject::offsetOfRegisters): Now used by the JIT, since 52 we put the global object in a register and only then load its var storage 53 by offset. 54 55 (JSC::JIT::emitWriteBarrier): 56 1 57 2011-06-30 Oliver Hunt <[email protected]> 2 58
Note:
See TracChangeset
for help on using the changeset viewer.