19#define DEBUG_TYPE "orc"
40 asm volatile(
"" :::
"memory");
51 dbgs() <<
"Adding debug object to GDB JIT interface "
52 <<
formatv(
"([{0:x16} -- {1:x16}])",
53 reinterpret_cast<uintptr_t
>(ObjAddr),
54 reinterpret_cast<uintptr_t
>(ObjAddr +
Size))
60 E->symfile_size =
Size;
61 E->prev_entry =
nullptr;
64 static std::mutex JITDebugLock;
65 std::lock_guard<std::mutex> Lock(JITDebugLock);
81 using namespace orc::shared;
82 return WrapperFunction<SPSError(SPSExecutorAddrRange,
bool)>::handle(
97 using namespace orc::shared;
98 return WrapperFunction<SPSError(SPSExecutorAddrRange,
bool)>::handle(
104 if (AutoRegisterCode)
#define LLVM_ATTRIBUTE_NOINLINE
LLVM_ATTRIBUTE_NOINLINE - On compilers where we have a directive to do so, mark a method "not for inl...
#define LLVM_ATTRIBUTE_VISIBILITY_DEFAULT
static void appendJITDebugDescriptor(const char *ObjAddr, size_t Size)
LLVM_ATTRIBUTE_VISIBILITY_DEFAULT LLVM_ATTRIBUTE_NOINLINE void __jit_debug_register_code()
orc::shared::CWrapperFunctionResult llvm_orc_registerJITLoaderGDBAllocAction(const char *Data, size_t Size)
orc::shared::CWrapperFunctionResult llvm_orc_registerJITLoaderGDBWrapper(const char *Data, uint64_t Size)
LLVM_ATTRIBUTE_VISIBILITY_DEFAULT struct jit_descriptor __jit_debug_descriptor
static constexpr uint32_t JitDescriptorVersion
static ErrorSuccess success()
Create a success value.
This is an optimization pass for GlobalISel generic memory operations.
auto formatv(const char *Fmt, Ts &&...Vals) -> formatv_object< decltype(std::make_tuple(support::detail::build_format_adapter(std::forward< Ts >(Vals))...))>
raw_ostream & dbgs()
dbgs() - This returns a reference to a raw_ostream for debugging messages.
struct jit_code_entry * prev_entry
const char * symfile_addr
struct jit_code_entry * next_entry
struct jit_code_entry * relevant_entry
struct jit_code_entry * first_entry
Represents an address range in the exceutor process.