summaryrefslogtreecommitdiff
path: root/disassembler/disassembler_arm64.h
diff options
context:
space:
mode:
authorVladimir Marko <vmarko@google.com>2020-09-03 09:59:45 +0100
committerVladimir Marko <vmarko@google.com>2020-09-03 11:11:19 +0000
commit8feddbc07bd1e05ed7aa5cf5fc66f7b2c3c24c31 (patch)
tree79401419489919a0051cd7e014a1b1ea3137c51f /disassembler/disassembler_arm64.h
parentd111cd22792c1cda507e343e46762842956a2c9b (diff)
Improve disasembly of BL to thread entrypoint trampoline.
Test: Manual, search for "\bbl\b" in `m dump-oat` output and oatdump of an individual oat file for arm and arm64. Change-Id: Idb6d8d1a21b2aa8c77e5b72f24faf7a4e655294c
Diffstat (limited to 'disassembler/disassembler_arm64.h')
-rw-r--r--disassembler/disassembler_arm64.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/disassembler/disassembler_arm64.h b/disassembler/disassembler_arm64.h
index 89beaa927b..a895dfe823 100644
--- a/disassembler/disassembler_arm64.h
+++ b/disassembler/disassembler_arm64.h
@@ -53,7 +53,12 @@ class CustomDisassembler final : public vixl::aarch64::Disassembler {
// Improve the disassembly of thread offset.
void VisitLoadStoreUnsignedOffset(const vixl::aarch64::Instruction* instr) override;
+ // Improve the disassembly of branch to thunk jumping to pointer from thread entrypoint.
+ void VisitUnconditionalBranch(const vixl::aarch64::Instruction* instr) override;
+
private:
+ void AppendThreadOfsetName(const vixl::aarch64::Instruction* instr);
+
// Indicate if the disassembler should read data loaded from literal pools.
// This should only be enabled if reading the target of literal loads is safe.
// Here are possible outputs when the option is on or off: