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; |