Index: src/arm64/assembler-arm64.h |
diff --git a/src/arm64/assembler-arm64.h b/src/arm64/assembler-arm64.h |
index 50f86cc3e66747a37e1aa9f4972a3b86d10409c2..edab1b423e1d687203d20447fd9fff58ece86575 100644 |
--- a/src/arm64/assembler-arm64.h |
+++ b/src/arm64/assembler-arm64.h |
@@ -1501,8 +1501,9 @@ class Assembler : public AssemblerBase { |
enum NopMarkerTypes { |
DEBUG_BREAK_NOP, |
INTERRUPT_CODE_NOP, |
+ ADR_FAR_NOP, |
FIRST_NOP_MARKER = DEBUG_BREAK_NOP, |
- LAST_NOP_MARKER = INTERRUPT_CODE_NOP |
+ LAST_NOP_MARKER = ADR_FAR_NOP |
}; |
void nop(NopMarkerTypes n) { |
@@ -2220,6 +2221,14 @@ class PatchingAssembler : public Assembler { |
size_t length = buffer_size_ - kGap; |
CPU::FlushICache(buffer_, length); |
} |
+ |
+ static const int kMovInt64NInstrs = 4; |
+ void MovInt64(const Register& rd, int64_t imm); |
+ |
+ // See definition of PatchAdrFar() for details. |
+ static const int kAdrFarPatchableNNops = kMovInt64NInstrs - 1; |
+ static const int kAdrFarPatchableNInstrs = kAdrFarPatchableNNops + 3; |
+ void PatchAdrFar(Instruction* target); |
}; |