diff options
author | Vladimir Marko <vmarko@google.com> | 2020-09-03 09:59:45 +0100 |
---|---|---|
committer | Vladimir Marko <vmarko@google.com> | 2020-09-03 11:11:19 +0000 |
commit | 8feddbc07bd1e05ed7aa5cf5fc66f7b2c3c24c31 (patch) | |
tree | 79401419489919a0051cd7e014a1b1ea3137c51f /disassembler/disassembler_arm64.h | |
parent | d111cd22792c1cda507e343e46762842956a2c9b (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.h | 5 |
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: |