Chromium Code Reviews| Index: src/arm/assembler-arm.h |
| =================================================================== |
| --- src/arm/assembler-arm.h (revision 4311) |
| +++ src/arm/assembler-arm.h (working copy) |
| @@ -511,6 +511,11 @@ |
| extern const Instr kMovLrPc; |
| extern const Instr kLdrPCMask; |
| extern const Instr kLdrPCPattern; |
| +extern const Instr kLdrMask; |
| +extern const Instr kLdrPattern; |
| +extern const Instr kMovwMovtMask; |
| +extern const Instr kMovwPattern; |
| +extern const Instr kMovtPattern; |
| extern const Instr kBlxRegMask; |
| extern const Instr kBlxRegPattern; |
| @@ -570,7 +575,8 @@ |
| // Read/Modify the code target address in the branch/call instruction at pc. |
| INLINE(static Address target_address_at(Address pc)); |
| - INLINE(static void set_target_address_at(Address pc, Address target)); |
| + INLINE(static void set_target_address_at(Address pc, Address target, |
| + bool need_icache_flush = true)); |
| // This sets the branch destination (which is in the constant pool on ARM). |
| // This is for calls and branches within generated code. |
| @@ -706,11 +712,14 @@ |
| } |
| void mov(Register dst, const Operand& src, |
| - SBit s = LeaveCC, Condition cond = al); |
| + SBit s = LeaveCC, Condition cond = al, bool use_movw_movt = true); |
|
Erik Corry
2010/05/03 10:06:28
Having bool arguments makes the code unreadable at
|
| void mov(Register dst, Register src, SBit s = LeaveCC, Condition cond = al) { |
| mov(dst, Operand(src), s, cond); |
| } |
| + void movt(Register dst, const Operand& src, Condition cond = al); |
| + void movw(Register dst, const Operand& src, Condition cond = al); |
| + |
| void bic(Register dst, Register src1, const Operand& src2, |
| SBit s = LeaveCC, Condition cond = al); |
| @@ -1057,7 +1066,8 @@ |
| inline void emit(Instr x); |
| // Instruction generation |
| - void addrmod1(Instr instr, Register rn, Register rd, const Operand& x); |
| + void addrmod1(Instr instr, Register rn, Register rd, |
| + const Operand& x, bool use_movw_movt = true); |
| void addrmod2(Instr instr, Register rd, const MemOperand& x); |
| void addrmod3(Instr instr, Register rd, const MemOperand& x); |
| void addrmod4(Instr instr, Register rn, RegList rl); |
| @@ -1070,7 +1080,9 @@ |
| void next(Label* L); |
| // Record reloc info for current pc_ |
| - void RecordRelocInfo(RelocInfo::Mode rmode, intptr_t data = 0); |
| + void RecordRelocInfo(RelocInfo::Mode rmode, |
| + intptr_t data = 0, |
| + bool with_const_pool = true); |
|
Erik Corry
2010/05/03 10:06:28
Also here the bool argument makes code unreadble a
|
| friend class RegExpMacroAssemblerARM; |
| friend class RelocInfo; |