diff options
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: |