Changeset 46202 in webkit for trunk/JavaScriptCore/assembler/LinkBuffer.h
- Timestamp:
- Jul 21, 2009, 5:37:03 PM (16 years ago)
- Author:
- [email protected]
- Message:
-
2009-07-21 Gavin Barraclough <[email protected]>
Reviewed by Oliver Hunt.
Move LinkBuffer/RepatchBuffer out of AbstractMacroAssembler.
( https://bugs.webkit.org/show_bug.cgi?id=27485 )
This change is the first step in a process to move code that should be in
the architecture-specific MacroAssembler classes up out of Assmbler and
AbstractMacroAssembler.
- JavaScriptCore.xcodeproj/project.pbxproj:
- added new files
- assembler/ARMAssembler.h:
(JSC::ARMAssembler::linkPointer):
- rename patchPointer to bring it in line with the current link/repatch naming scheme
- assembler/ARMv7Assembler.h:
(JSC::ARMv7Assembler::linkCall):
(JSC::ARMv7Assembler::linkPointer):
(JSC::ARMv7Assembler::relinkCall):
(JSC::ARMv7Assembler::repatchInt32):
(JSC::ARMv7Assembler::repatchPointer):
(JSC::ARMv7Assembler::setInt32):
(JSC::ARMv7Assembler::setPointer):
- rename patchPointer to bring it in line with the current link/repatch naming scheme
- assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssembler::linkJump):
(JSC::AbstractMacroAssembler::linkCall):
(JSC::AbstractMacroAssembler::linkPointer):
(JSC::AbstractMacroAssembler::getLinkerAddress):
(JSC::AbstractMacroAssembler::getLinkerCallReturnOffset):
(JSC::AbstractMacroAssembler::repatchJump):
(JSC::AbstractMacroAssembler::repatchCall):
(JSC::AbstractMacroAssembler::repatchNearCall):
(JSC::AbstractMacroAssembler::repatchInt32):
(JSC::AbstractMacroAssembler::repatchPointer):
(JSC::AbstractMacroAssembler::repatchLoadPtrToLEA):
- remove the LinkBuffer/RepatchBuffer classes, but leave a set of (private, friended) methods to interface to the Assembler
- assembler/LinkBuffer.h: Added.
(JSC::LinkBuffer::LinkBuffer):
(JSC::LinkBuffer::~LinkBuffer):
(JSC::LinkBuffer::link):
(JSC::LinkBuffer::patch):
(JSC::LinkBuffer::locationOf):
(JSC::LinkBuffer::locationOfNearCall):
(JSC::LinkBuffer::returnAddressOffset):
(JSC::LinkBuffer::finalizeCode):
(JSC::LinkBuffer::finalizeCodeAddendum):
(JSC::LinkBuffer::code):
(JSC::LinkBuffer::performFinalization):
- new file containing the LinkBuffer class, previously a member of AbstractMacroAssembler
- assembler/RepatchBuffer.h: Added.
(JSC::RepatchBuffer::RepatchBuffer):
(JSC::RepatchBuffer::relink):
(JSC::RepatchBuffer::repatch):
(JSC::RepatchBuffer::repatchLoadPtrToLEA):
(JSC::RepatchBuffer::relinkCallerToTrampoline):
(JSC::RepatchBuffer::relinkCallerToFunction):
(JSC::RepatchBuffer::relinkNearCallerToTrampoline):
- new file containing the RepatchBuffer class, previously a member of AbstractMacroAssembler
- assembler/X86Assembler.h:
(JSC::X86Assembler::linkJump):
(JSC::X86Assembler::linkCall):
(JSC::X86Assembler::linkPointerForCall):
(JSC::X86Assembler::linkPointer):
(JSC::X86Assembler::relinkJump):
(JSC::X86Assembler::relinkCall):
(JSC::X86Assembler::repatchInt32):
(JSC::X86Assembler::repatchPointer):
(JSC::X86Assembler::setPointer):
(JSC::X86Assembler::setInt32):
(JSC::X86Assembler::setRel32):
- rename patchPointer to bring it in line with the current link/repatch naming scheme
- jit/JIT.cpp:
(JSC::ctiPatchNearCallByReturnAddress):
(JSC::ctiPatchCallByReturnAddress):
- include new headers
- remove MacroAssembler:: specification from RepatchBuffer usage
- jit/JITPropertyAccess.cpp:
- yarr/RegexJIT.cpp:
- include new headers
- JavaScriptCore.xcodeproj/project.pbxproj:
- File:
-
- 1 added
Note:
See TracChangeset
for help on using the changeset viewer.