aboutsummaryrefslogtreecommitdiff
path: root/src/aarch64/macro-assembler-aarch64.h
diff options
context:
space:
mode:
authorGeorgia Kouveli <georgia.kouveli@arm.com>2017-02-10 15:39:19 +0000
committerGeorgia Kouveli <georgia.kouveli@arm.com>2017-02-13 13:20:11 +0000
commit896682f0411643afa78e8c62caf723ec5f2b4dbe (patch)
tree2fa57870af5a7e26bd5b621690dab52e28e42cf6 /src/aarch64/macro-assembler-aarch64.h
parent2ab5c802e70ab95e794032878c95a7e446b23a07 (diff)
Fix issue with TBZ and large literal pool.
Before emitting a TBZ or TBNZ instruction, check whether the literal pool exceeds the range of these branches and if it does, emit it. Change-Id: I7de1e58c7ff0670a10dc09961bdafcabc5f874d5
Diffstat (limited to 'src/aarch64/macro-assembler-aarch64.h')
-rw-r--r--src/aarch64/macro-assembler-aarch64.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/aarch64/macro-assembler-aarch64.h b/src/aarch64/macro-assembler-aarch64.h
index f32edfd1..825c16dd 100644
--- a/src/aarch64/macro-assembler-aarch64.h
+++ b/src/aarch64/macro-assembler-aarch64.h
@@ -123,6 +123,9 @@ class LiteralPool : public Pool {
}
void CheckEmitFor(size_t amount, EmitOption option = kBranchRequired);
+ // Check whether we need to emit the literal pool in order to be able to
+ // safely emit a branch with a given range.
+ void CheckEmitForBranch(size_t range);
void Emit(EmitOption option = kNoBranchRequired);
void SetNextRecommendedCheckpoint(ptrdiff_t offset);