| Index: src/arm/assembler-arm.h
|
| ===================================================================
|
| --- src/arm/assembler-arm.h (revision 4459)
|
| +++ src/arm/assembler-arm.h (working copy)
|
| @@ -958,14 +958,21 @@
|
| int current_position() const { return current_position_; }
|
| int current_statement_position() const { return current_statement_position_; }
|
|
|
| + // Read/patch instructions
|
| + static Instr instr_at(byte* pc) { return *reinterpret_cast<Instr*>(pc); }
|
| + static void instr_at_put(byte* pc, Instr instr) {
|
| + *reinterpret_cast<Instr*>(pc) = instr;
|
| + }
|
| + static bool IsB(Instr instr);
|
| + static int GetBOffset(Instr instr);
|
| + static bool IsLdrRegisterImmediate(Instr instr);
|
| + static int GetLdrRegisterImmediateOffset(Instr instr);
|
| + static Instr SetLdrRegisterImmediateOffset(Instr instr, int offset);
|
| +
|
| protected:
|
| int buffer_space() const { return reloc_info_writer.pos() - pc_; }
|
|
|
| // Read/patch instructions
|
| - static Instr instr_at(byte* pc) { return *reinterpret_cast<Instr*>(pc); }
|
| - void instr_at_put(byte* pc, Instr instr) {
|
| - *reinterpret_cast<Instr*>(pc) = instr;
|
| - }
|
| Instr instr_at(int pos) { return *reinterpret_cast<Instr*>(buffer_ + pos); }
|
| void instr_at_put(int pos, Instr instr) {
|
| *reinterpret_cast<Instr*>(buffer_ + pos) = instr;
|
|
|