From 8feddbc07bd1e05ed7aa5cf5fc66f7b2c3c24c31 Mon Sep 17 00:00:00 2001 From: Vladimir Marko Date: Thu, 3 Sep 2020 09:59:45 +0100 Subject: 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 --- disassembler/disassembler_arm64.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'disassembler/disassembler_arm64.h') 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: -- cgit v1.2.3-59-g8ed1b