Index: src/arm64/macro-assembler-arm64.h |
diff --git a/src/arm64/macro-assembler-arm64.h b/src/arm64/macro-assembler-arm64.h |
index 3061c1f0c14947a8e3685896d48daea3df2ebd32..e244c8ffe1078072ea0da64034dd1154f34aa29f 100644 |
--- a/src/arm64/macro-assembler-arm64.h |
+++ b/src/arm64/macro-assembler-arm64.h |
@@ -255,8 +255,16 @@ class MacroAssembler : public Assembler { |
void Load(const Register& rt, const MemOperand& addr, Representation r); |
void Store(const Register& rt, const MemOperand& addr, Representation r); |
+ enum AdrHint { |
+ // The target must be within the immediate range of adr. |
+ kAdrNear, |
+ // The target may be outside of the immediate range of adr. Additional |
+ // instructions may be emitted. |
+ kAdrFar |
+ }; |
+ void Adr(const Register& rd, Label* label, AdrHint = kAdrNear); |
+ |
// Remaining instructions are simple pass-through calls to the assembler. |
- inline void Adr(const Register& rd, Label* label); |
inline void Asr(const Register& rd, const Register& rn, unsigned shift); |
inline void Asr(const Register& rd, const Register& rn, const Register& rm); |