diff options
author | Andreas Gampe <agampe@google.com> | 2016-08-19 10:49:06 -0700 |
---|---|---|
committer | Andreas Gampe <agampe@google.com> | 2016-08-19 16:46:56 -0700 |
commit | 372f3a374681ef11f003460e14249adb7bc8313d (patch) | |
tree | b6d2bd95975a0ce1096dc2aa761f8e6b30e42b18 /disassembler/disassembler.h | |
parent | 9c07ab332b8ebbcb1586c311bfcb75e19b8a35b4 (diff) |
ART: Add thread offset printing hook to disassembler
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
Diffstat (limited to 'disassembler/disassembler.h')
-rw-r--r-- | disassembler/disassembler.h | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/disassembler/disassembler.h b/disassembler/disassembler.h index b08031587f..86793ccb19 100644 --- a/disassembler/disassembler.h +++ b/disassembler/disassembler.h @@ -28,8 +28,9 @@ namespace art { class DisassemblerOptions { public: - // Should the disassembler print absolute or relative addresses. - const bool absolute_addresses_; + using ThreadOffsetNameFunction = void (*)(std::ostream& os, uint32_t offset); + + ThreadOffsetNameFunction thread_offset_name_function_; // Base address for calculating relative code offsets when absolute_addresses_ is false. const uint8_t* const base_address_; @@ -37,6 +38,9 @@ class DisassemblerOptions { // End address (exclusive); const uint8_t* const end_address_; + // Should the disassembler print absolute or relative addresses. + const bool absolute_addresses_; + // If set, the disassembler is allowed to look at load targets in literal // pools. const bool can_read_literals_; @@ -44,10 +48,12 @@ class DisassemblerOptions { DisassemblerOptions(bool absolute_addresses, const uint8_t* base_address, const uint8_t* end_address, - bool can_read_literals) - : absolute_addresses_(absolute_addresses), + bool can_read_literals, + ThreadOffsetNameFunction fn) + : thread_offset_name_function_(fn), base_address_(base_address), end_address_(end_address), + absolute_addresses_(absolute_addresses), can_read_literals_(can_read_literals) {} private: |