diff options
Diffstat (limited to 'runtime/jit/debugger_interface.h')
-rw-r--r-- | runtime/jit/debugger_interface.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/runtime/jit/debugger_interface.h b/runtime/jit/debugger_interface.h index a784ef5990..74469a98d0 100644 --- a/runtime/jit/debugger_interface.h +++ b/runtime/jit/debugger_interface.h @@ -18,6 +18,7 @@ #define ART_RUNTIME_JIT_DEBUGGER_INTERFACE_H_ #include <inttypes.h> +#include <memory> namespace art { @@ -26,11 +27,25 @@ extern "C" { } // Notify native debugger about new JITed code by passing in-memory ELF. -JITCodeEntry* CreateJITCodeEntry(const uint8_t *symfile_addr, uintptr_t symfile_size); +// It takes ownership of the in-memory ELF file. +JITCodeEntry* CreateJITCodeEntry(std::unique_ptr<const uint8_t[]> symfile_addr, + uintptr_t symfile_size); // Notify native debugger that JITed code has been removed. +// It also releases the associated in-memory ELF file. void DeleteJITCodeEntry(JITCodeEntry* entry); +// Notify native debugger about new JITed code by passing in-memory ELF. +// The address is used only to uniquely identify the entry. +// It takes ownership of the in-memory ELF file. +void CreateJITCodeEntryForAddress(uintptr_t address, + std::unique_ptr<const uint8_t[]> symfile_addr, + uintptr_t symfile_size); + +// Notify native debugger that JITed code has been removed. +// Returns false if entry for the given address was not found. +bool DeleteJITCodeEntryForAddress(uintptr_t address); + } // namespace art #endif // ART_RUNTIME_JIT_DEBUGGER_INTERFACE_H_ |