| Index: src/arm/assembler-thumb2.h
|
| ===================================================================
|
| --- src/arm/assembler-thumb2.h (revision 3473)
|
| +++ src/arm/assembler-thumb2.h (working copy)
|
| @@ -508,6 +508,7 @@
|
|
|
|
|
| typedef int32_t Instr;
|
| +typedef int16_t ThumbInstr;
|
|
|
|
|
| extern const Instr kMovLrPc;
|
| @@ -590,6 +591,7 @@
|
|
|
| // Size of an instruction.
|
| static const int kInstrSize = sizeof(Instr);
|
| + static const int kThumbSize = sizeof(ThumbInstr);
|
|
|
| // Distance between the instruction referring to the address of the call
|
| // target (ldr pc, [target addr in const pool]) and the return address
|
| @@ -996,11 +998,17 @@
|
| int written_position_;
|
| int written_statement_position_;
|
|
|
| + bool thumb_mode_;
|
| +
|
| // Code emission
|
| inline void CheckBuffer();
|
| void GrowBuffer();
|
| inline void emit(Instr x);
|
| + inline void emitThumb(ThumbInstr x);
|
|
|
| + void forceThumbMode();
|
| + void forceArmMode();
|
| +
|
| // Instruction generation
|
| void addrmod1(Instr instr, Register rn, Register rd, const Operand& x);
|
| void addrmod2(Instr instr, Register rd, const MemOperand& x);
|
|
|