Changeset 47186 in webkit for trunk/JavaScriptCore/assembler/ARMAssembler.h
- Timestamp:
- Aug 12, 2009, 10:58:36 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/assembler/ARMAssembler.h
r46832 r47186 181 181 JmpSrc() 182 182 : m_offset(-1) 183 , m_latePatch(false)184 183 { 185 184 } 186 185 187 void enableLatePatch() { m_latePatch = true; }188 186 private: 189 187 JmpSrc(int offset) 190 188 : m_offset(offset) 191 , m_latePatch(false)192 189 { 193 190 } 194 191 195 int m_offset : 31; 196 int m_latePatch : 1; 192 int m_offset; 197 193 }; 198 194 … … 568 564 } 569 565 566 int sizeOfConstantPool() 567 { 568 return m_buffer.sizeOfConstantPool(); 569 } 570 570 571 JmpDst label() 571 572 { … … 581 582 } 582 583 583 JmpSrc jmp(Condition cc = AL) 584 { 585 int s = size(); 584 JmpSrc jmp(Condition cc = AL, int useConstantPool = 0) 585 { 586 ensureSpace(sizeof(ARMWord), sizeof(ARMWord)); 587 int s = m_buffer.uncheckedSize(); 586 588 ldr_un_imm(ARM::pc, 0xffffffff, cc); 587 m_jumps.append(s );589 m_jumps.append(s | (useConstantPool & 0x1)); 588 590 return JmpSrc(s); 589 591 } … … 594 596 595 597 static ARMWord* getLdrImmAddress(ARMWord* insn, uint32_t* constPool = 0); 596 static void linkBranch(void* code, JmpSrc from, void* to );598 static void linkBranch(void* code, JmpSrc from, void* to, int useConstantPool = 0); 597 599 598 600 static void patchPointerInternal(intptr_t from, void* to) … … 661 663 static void linkCall(void* code, JmpSrc from, void* to) 662 664 { 663 linkBranch(code, from, to );665 linkBranch(code, from, to, true); 664 666 } 665 667
Note:
See TracChangeset
for help on using the changeset viewer.