summaryrefslogtreecommitdiff
path: root/disassembler/disassembler_arm64.h
Commit message (Collapse)AuthorAgeFilesLines
* Improve disasembly of BL to thread entrypoint trampoline.Vladimir Marko2020-09-031-0/+5
| | | | | | 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
* Use 'final' and 'override' specifiers directly in ART.Roland Levillain2018-08-281-7/+7
| | | | | | | | | | | | | | | Remove all uses of macros 'FINAL' and 'OVERRIDE' and replace them with 'final' and 'override' specifiers. Remove all definitions of these macros as well, which were located in these files: - libartbase/base/macros.h - test/913-heaps/heaps.cc - test/ti-agent/ti_macros.h ART is now using C++14; the 'final' and 'override' specifiers have been introduced in C++11. Test: mmma art Change-Id: I256c7758155a71a2940ef2574925a44076feeebf
* ART: Add thread offset printing hook to disassemblerAndreas Gampe2016-08-191-1/+4
| | | | | | | | To prepare separation of disassembler from libart, add a function hook to the disassembler options for thread offset name printing. Bug: 15436106 Change-Id: I9e9b7e565ae923952c64026f675ac527b560f51b
* ARM64: VIXL: Support a newer version of VIXL.Artem Serov2016-08-121-2/+3
| | | | | | | | | | | Please note that compiling VIXL with -Wshadow is a known VIXL issue. This will be resolved in a later version of VIXL, when we can drop the deprecated API for getters and setters. For more info take a look at VIXL_DEPRECATED in the VIXL source code. Change-Id: Iea30b1a7b065f9b16a92c6cc7ebdc50ef068b348
* Fixes to build against new VIXL interface.Scott Wakeling2016-07-151-10/+11
| | | | | | | - Fix namespace usage and use of deprecated functions. - Link all dependants to new libvixl-arm64 target for now. Change-Id: Iee6f299784fd663fc2a759f3ee816fdbc511e509
* Fix oatdump crash on arm64/arm code.Aart Bik2016-05-121-2/+9
| | | | | | | | | | | | | | | | | Also adds 16 bit literal information. Rationale: When "run-away" instructions are disassembled, the literal addresses may go out of range, causing oatdump to crash. This CL guards memory access against the full memory range allocated to assembly instructions and data (it is possible but not really necessary to refine this a bit). Out of range arguments are now displayed as (?) to denote the issue, which is a lot nicer than crashing. BUG=28670871 Change-Id: I51e9b6a6a99162546fe31059f14278e8980451c2
* ARM64: Update to VIXL 1.9.Serban Constantinescu2015-03-311-2/+2
| | | | | | | Update VIXL's interface to VIXL 1.9. Change-Id: Iebae947539cbad65488b7195aaf01de284b71cbb Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
* ART: Enable the use of relative addresses in the arm64 disassembler.Alexandre Rames2015-03-061-6/+7
| | | | | | | | | Also, only keep register aliases for the link register 'lr' and the thread register 'tr' in the arm64 disassembler. Other aliases are not very important, and this way we don't have to provide aliases specialised for Quick or Optimizing. Change-Id: Ie7a04910f0c587710a0cf2648203d7e89eab5d1f
* ARM/ARM64: Dump thread offset.Zheng Xu2015-02-031-3/+6
| | | | | | | | | | | | Dump thread offset in compiler verbose log for arm32/arm64 and oatdump for arm64. Before patch : 0x4e: ldr lr, [rSELF, #604] After patch : 0x4e: ldr lr, [rSELF, #604] ; pTestSuspend Change-Id: I514e69dc44b1cf4c8a8fa085b31f93cf6a1b7c91
* Merge "Improvements to the ARM64 disassembler."Ian Rogers2014-11-191-2/+28
|\
| * Improvements to the ARM64 disassembler.Alexandre Rames2014-10-291-2/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This contains three changes: - Use register aliases in the disassembly. - When loading from a literal pool, show what is being loaded. - Disassemble using absolute addresses on ARM64. This ensures that addresses disassembled are coherent with instruction location addresses shown. Examples of disassembled instructions before and after the changes: Before: movz w17, #0x471f ldr d9, pc+736 (addr 0x72690d50) After: movz wip1, #0x471f ldr d9, pc+736 (addr 0x72690d50) (-745.133) Change-Id: I72fdc160fac26f74126921834f17a581c26fd5d8
* | ART: More warningsAndreas Gampe2014-11-041-0/+3
|/ | | | | | | Enable -Wno-conversion-null, -Wredundant-decls and -Wshadow in general, and -Wunused-but-set-parameter for GCC builds. Change-Id: I81bbdd762213444673c65d85edae594a523836e5
* Avoid printing absolute addresses in oatdumpBrian Carlstrom2014-09-161-1/+1
| | | | | | | | | | | | | | | | | - Added printing of OatClass offsets. - Added printing of OatMethod offsets. - Added bounds checks for code size size, code size, mapping table, gc map, vmap table. - Added sanity check of 100k for code size. - Added partial disassembly of questionable code. - Added --no-disassemble to disable disassembly. - Added --no-dump:vmap to disable vmap dumping. - Reordered OatMethod info to be in file order. Bug: 15567083 (cherry picked from commit 34fa79ece5b3a1940d412cd94dbdcc4225aae72f) Change-Id: I2c368f3b81af53b735149a866f3e491c9ac33fb8
* x86-64 disassembler support.Ian Rogers2014-03-141-3/+3
| | | | Change-Id: I0ae39ae1ffdae2500ff368354f9e4702445176f0
* AArch64: Add ARM64 DisassemblerSerban Constantinescu2014-03-101-0/+47
This patch adds disassembler support for ARM64 based on VIXL. Change-Id: Ic7f5e197350809632145d932dbae8f6c16aebd13 Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>