[ORC] Use raw OS handle values, ExecutorAddr for EPC dylib handles.
authorLang Hames <lhames@gmail.com>
Mon, 24 Oct 2022 19:41:45 +0000 (12:41 -0700)
committerLang Hames <lhames@gmail.com>
Mon, 24 Oct 2022 20:57:04 +0000 (13:57 -0700)
commit6613f4aff85b24a13d4f5f7e9cd24bf3f44037a3
tree17c6e8b33ce01cb4dd5e46dbbd8035479b021956
parent5dcfc3282282da4b5a5078fec214284026dfa7d7
[ORC] Use raw OS handle values, ExecutorAddr for EPC dylib handles.

Updates tpctypes::DylibHandle to be an ExecutorAddr (rather than a uint64_t),
and SimpleExecutorDylibManager to hold and return raw OS handle values (as
ExecutorAddrs) rather than index values into a map of DynamicLibrary instances.

This will allow clients to use EPCGenericDylibManager in contexts where the
existing DynamicLibrary interface is too limited to be used. (e.g. to look up
JIT symbols in a dylib that was loaded with RTLD_LOCAL).
llvm/include/llvm/ExecutionEngine/Orc/Shared/OrcRTBridge.h
llvm/include/llvm/ExecutionEngine/Orc/Shared/TargetProcessControlTypes.h
llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/SimpleExecutorDylibManager.h
llvm/include/llvm/Support/DynamicLibrary.h
llvm/lib/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.cpp
llvm/lib/ExecutionEngine/Orc/EPCGenericDylibManager.cpp
llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
llvm/lib/ExecutionEngine/Orc/LookupAndRecordAddrs.cpp
llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleExecutorDylibManager.cpp