[ORC] Add a generic bootstrap key-value store to SimpleRemoteEPC.
authorLang Hames <lhames@gmail.com>
Sun, 2 Apr 2023 16:41:47 +0000 (09:41 -0700)
committerLang Hames <lhames@gmail.com>
Sun, 2 Apr 2023 17:27:06 +0000 (10:27 -0700)
commit060319a278202725687f0a74f3e0f0ab57df452c
tree3fe65aaf987fc1ea7ffc306082f9156a26d16909
parent2a2e21625fd499359f53f13a5f712fbe224db71b
[ORC] Add a generic bootstrap key-value store to SimpleRemoteEPC.

SimpleRemoteEPC already included a "bootstrap symbols map" that could be used
to communicate the addresses of symbols needed for JIT bootstrap. The new
bootstrap map can be used to communicate arbitrary bootstrap values (encoded as
SPS buffers).

The bootstrap symbols map is kept as distinct becasue bootstrap symbols are
significant, and having a known value type for them allows for better debug
logging (we know how to render the values) and tooling (e.g. utils for adding
all bootstrap symbols to a JITDylib).
llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
llvm/include/llvm/ExecutionEngine/Orc/Shared/SimpleRemoteEPCUtils.h
llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/SimpleRemoteEPCServer.h
llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleRemoteEPCServer.cpp