Changeset 44713 in webkit for trunk/JavaScriptCore
- Timestamp:
- Jun 15, 2009, 11:52:49 PM (16 years ago)
- Location:
- trunk/JavaScriptCore
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/ChangeLog
r44711 r44713 1 2009-06-15 Gavin Barraclough <[email protected]> 2 3 Rubber Stamped by Sam Weinig. 4 5 Rename PatchBuffer to LinkBuffer. Previously our terminology has been a little 6 mixed up, but we have decided to fix on refering to the process that takes place 7 at the end of code generation as 'linking', and on any modifications that take 8 place later (and once the code has potentially already been executed) as 'patching'. 9 10 However, the term 'PatchBuffer' is already in use, and needs to be repurposed. 11 12 To try to minimize confusion, we're going to switch the terminology over in stages, 13 so for now we'll refer to later modifications as 'repatching'. This means that the 14 new 'PatchBuffer' has been introduced with the name 'RepatchBuffer' instead. 15 16 This patch renames the old 'PatchBuffer' to 'LinkBuffer'. We'll leave ToT in this 17 state for a week or so to try to avoid to much overlap of the meaning of the term 18 'PatchBuffer', then will come back and rename 'RepatchBuffer'. 19 20 * assembler/ARMv7Assembler.h: 21 * assembler/AbstractMacroAssembler.h: 22 (JSC::AbstractMacroAssembler::LinkBuffer::LinkBuffer): 23 (JSC::AbstractMacroAssembler::LinkBuffer::~LinkBuffer): 24 * jit/JIT.cpp: 25 (JSC::JIT::privateCompile): 26 * jit/JITPropertyAccess.cpp: 27 (JSC::JIT::privateCompilePutByIdTransition): 28 (JSC::JIT::privateCompilePatchGetArrayLength): 29 (JSC::JIT::privateCompileGetByIdProto): 30 (JSC::JIT::privateCompileGetByIdSelfList): 31 (JSC::JIT::privateCompileGetByIdProtoList): 32 (JSC::JIT::privateCompileGetByIdChainList): 33 (JSC::JIT::privateCompileGetByIdChain): 34 * yarr/RegexJIT.cpp: 35 (JSC::Yarr::RegexGenerator::compile): 36 1 37 2009-06-15 Gavin Barraclough <[email protected]> 2 38 -
trunk/JavaScriptCore/assembler/ARMv7Assembler.h
r44554 r44713 1521 1521 } 1522 1522 1523 // bah, this mathod should really be static, since it is used by the PatchBuffer.1523 // bah, this mathod should really be static, since it is used by the LinkBuffer. 1524 1524 // return a bool saying whether the link was successful? 1525 1525 static void linkCall(void* code, JmpSrc from, void* to) -
trunk/JavaScriptCore/assembler/AbstractMacroAssembler.h
r44711 r44713 50 50 51 51 class Jump; 52 class PatchBuffer;52 class LinkBuffer; 53 53 class RepatchBuffer; 54 54 … … 222 222 friend class Jump; 223 223 friend class MacroAssemblerCodeRef; 224 friend class PatchBuffer;224 friend class LinkBuffer; 225 225 226 226 public: … … 247 247 template<class TemplateAssemblerType> 248 248 friend class AbstractMacroAssembler; 249 friend class PatchBuffer;249 friend class LinkBuffer; 250 250 public: 251 251 DataLabelPtr() … … 269 269 template<class TemplateAssemblerType> 270 270 friend class AbstractMacroAssembler; 271 friend class PatchBuffer;271 friend class LinkBuffer; 272 272 public: 273 273 DataLabel32() … … 293 293 template<class TemplateAssemblerType> 294 294 friend class AbstractMacroAssembler; 295 friend class PatchBuffer;295 friend class LinkBuffer; 296 296 public: 297 297 enum Flags { … … 338 338 friend class AbstractMacroAssembler; 339 339 friend class Call; 340 friend class PatchBuffer;340 friend class LinkBuffer; 341 341 public: 342 342 Jump() … … 368 368 // All jumps in the set will be linked to the same destination. 369 369 class JumpList { 370 friend class PatchBuffer;370 friend class LinkBuffer; 371 371 372 372 public: … … 407 407 408 408 409 // Section 3: PatchBuffer - utility to finalize code generation.409 // Section 3: LinkBuffer - utility to finalize code generation. 410 410 411 411 static CodePtr trampolineAt(CodeRef ref, Label label) … … 414 414 } 415 415 416 // PatchBuffer:416 // LinkBuffer: 417 417 // 418 418 // This class assists in linking code generated by the macro assembler, once code generation … … 431 431 // address of calls, as opposed to a point that can be used to later relink a Jump - 432 432 // possibly wrap the later up in an object that can do just that). 433 class PatchBuffer : public Noncopyable {433 class LinkBuffer : public Noncopyable { 434 434 public: 435 435 // Note: Initialization sequence is significant, since executablePool is a PassRefPtr. 436 436 // First, executablePool is copied into m_executablePool, then the initialization of 437 437 // m_code uses m_executablePool, *not* executablePool, since this is no longer valid. 438 PatchBuffer(AbstractMacroAssembler<AssemblerType>* masm, PassRefPtr<ExecutablePool> executablePool)438 LinkBuffer(AbstractMacroAssembler<AssemblerType>* masm, PassRefPtr<ExecutablePool> executablePool) 439 439 : m_executablePool(executablePool) 440 440 , m_code(masm->m_assembler.executableCopy(m_executablePool.get())) … … 446 446 } 447 447 448 ~ PatchBuffer()448 ~LinkBuffer() 449 449 { 450 450 ASSERT(m_completed); -
trunk/JavaScriptCore/jit/JIT.cpp
r44711 r44713 430 430 ASSERT(m_jmpTable.isEmpty()); 431 431 432 PatchBuffer patchBuffer(this, m_globalData->executableAllocator.poolForSize(m_assembler.size()));432 LinkBuffer patchBuffer(this, m_globalData->executableAllocator.poolForSize(m_assembler.size())); 433 433 434 434 // Translate vPC offsets into addresses in JIT generated code, for switch tables. … … 852 852 853 853 // All trampolines constructed! copy the code, link up calls, and set the pointers on the Machine object. 854 PatchBuffer patchBuffer(this, m_globalData->executableAllocator.poolForSize(m_assembler.size()));854 LinkBuffer patchBuffer(this, m_globalData->executableAllocator.poolForSize(m_assembler.size())); 855 855 856 856 #if ENABLE(JIT_OPTIMIZE_PROPERTY_ACCESS) -
trunk/JavaScriptCore/jit/JITPropertyAccess.cpp
r44705 r44713 488 488 Call failureCall = tailRecursiveCall(); 489 489 490 PatchBuffer patchBuffer(this, m_codeBlock->executablePool());490 LinkBuffer patchBuffer(this, m_codeBlock->executablePool()); 491 491 492 492 patchBuffer.link(failureCall, FunctionPtr(JITStubs::cti_op_put_by_id_fail)); … … 573 573 Jump success = jump(); 574 574 575 PatchBuffer patchBuffer(this, m_codeBlock->executablePool());575 LinkBuffer patchBuffer(this, m_codeBlock->executablePool()); 576 576 577 577 // Use the patch information to link the failure cases back to the original slow case routine. … … 619 619 Jump success = jump(); 620 620 621 PatchBuffer patchBuffer(this, m_codeBlock->executablePool());621 LinkBuffer patchBuffer(this, m_codeBlock->executablePool()); 622 622 623 623 // Use the patch information to link the failure cases back to the original slow case routine. … … 648 648 Jump success = jump(); 649 649 650 PatchBuffer patchBuffer(this, m_codeBlock->executablePool());650 LinkBuffer patchBuffer(this, m_codeBlock->executablePool()); 651 651 652 652 // Use the patch information to link the failure cases back to the original slow case routine. … … 694 694 Jump success = jump(); 695 695 696 PatchBuffer patchBuffer(this, m_codeBlock->executablePool());696 LinkBuffer patchBuffer(this, m_codeBlock->executablePool()); 697 697 698 698 // Use the patch information to link the failure cases back to the original slow case routine. … … 747 747 Jump success = jump(); 748 748 749 PatchBuffer patchBuffer(this, m_codeBlock->executablePool());749 LinkBuffer patchBuffer(this, m_codeBlock->executablePool()); 750 750 751 751 // Use the patch information to link the failure cases back to the original slow case routine. … … 800 800 Jump success = jump(); 801 801 802 PatchBuffer patchBuffer(this, m_codeBlock->executablePool());802 LinkBuffer patchBuffer(this, m_codeBlock->executablePool()); 803 803 804 804 // Use the patch information to link the failure cases back to the original slow case routine. -
trunk/JavaScriptCore/yarr/RegexJIT.cpp
r44514 r44713 1359 1359 generate(); 1360 1360 1361 PatchBuffer patchBuffer(this, globalData->executableAllocator.poolForSize(size()));1361 LinkBuffer patchBuffer(this, globalData->executableAllocator.poolForSize(size())); 1362 1362 1363 1363 for (unsigned i = 0; i < m_backtrackRecords.size(); ++i)
Note:
See TracChangeset
for help on using the changeset viewer.