diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2023-09-02 21:17:18 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2024-01-07 23:04:38 +0000 | 
| commit | 0e1e0ce556810ad5f9d45485e686f0653530516c (patch) | |
| tree | ab02ce7c4fafc0518430e9cec77d41201bce23f0 /contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp | |
| parent | c3eb0b7c19221f3a2133ab14d3ffffa61ec0c4bc (diff) | |
Diffstat (limited to 'contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp')
| -rw-r--r-- | contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp | 36 | 
1 files changed, 20 insertions, 16 deletions
diff --git a/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp b/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp index 1bd10c9c6c0e..3d3ca891d881 100644 --- a/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp +++ b/contrib/llvm-project/llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp @@ -49,7 +49,7 @@ Expected<int32_t> SimpleRemoteEPC::runAsMain(ExecutorAddr MainFnAddr,                                               ArrayRef<std::string> Args) {    int64_t Result = 0;    if (auto Err = callSPSWrapper<rt::SPSRunAsMainSignature>( -          RunAsMainAddr, Result, ExecutorAddr(MainFnAddr), Args)) +          RunAsMainAddr, Result, MainFnAddr, Args))      return std::move(Err);    return Result;  } @@ -57,7 +57,7 @@ Expected<int32_t> SimpleRemoteEPC::runAsMain(ExecutorAddr MainFnAddr,  Expected<int32_t> SimpleRemoteEPC::runAsVoidFunction(ExecutorAddr VoidFnAddr) {    int32_t Result = 0;    if (auto Err = callSPSWrapper<rt::SPSRunAsVoidFunctionSignature>( -          RunAsVoidFunctionAddr, Result, ExecutorAddr(VoidFnAddr))) +          RunAsVoidFunctionAddr, Result, VoidFnAddr))      return std::move(Err);    return Result;  } @@ -66,7 +66,7 @@ Expected<int32_t> SimpleRemoteEPC::runAsIntFunction(ExecutorAddr IntFnAddr,                                                      int Arg) {    int32_t Result = 0;    if (auto Err = callSPSWrapper<rt::SPSRunAsIntFunctionSignature>( -          RunAsIntFunctionAddr, Result, ExecutorAddr(IntFnAddr), Arg)) +          RunAsIntFunctionAddr, Result, IntFnAddr, Arg))      return std::move(Err);    return Result;  } @@ -126,23 +126,22 @@ SimpleRemoteEPC::handleMessage(SimpleRemoteEPCOpcode OpC, uint64_t SeqNo,      case SimpleRemoteEPCOpcode::Setup:        dbgs() << "Setup";        assert(SeqNo == 0 && "Non-zero SeqNo for Setup?"); -      assert(TagAddr.getValue() == 0 && "Non-zero TagAddr for Setup?"); +      assert(!TagAddr && "Non-zero TagAddr for Setup?");        break;      case SimpleRemoteEPCOpcode::Hangup:        dbgs() << "Hangup";        assert(SeqNo == 0 && "Non-zero SeqNo for Hangup?"); -      assert(TagAddr.getValue() == 0 && "Non-zero TagAddr for Hangup?"); +      assert(!TagAddr && "Non-zero TagAddr for Hangup?");        break;      case SimpleRemoteEPCOpcode::Result:        dbgs() << "Result"; -      assert(TagAddr.getValue() == 0 && "Non-zero TagAddr for Result?"); +      assert(!TagAddr && "Non-zero TagAddr for Result?");        break;      case SimpleRemoteEPCOpcode::CallWrapper:        dbgs() << "CallWrapper";        break;      } -    dbgs() << ", seqno = " << SeqNo -           << ", tag-addr = " << formatv("{0:x}", TagAddr.getValue()) +    dbgs() << ", seqno = " << SeqNo << ", tag-addr = " << TagAddr             << ", arg-buffer = " << formatv("{0:x}", ArgBytes.size())             << " bytes\n";    }); @@ -227,11 +226,11 @@ Error SimpleRemoteEPC::sendMessage(SimpleRemoteEPCOpcode OpC, uint64_t SeqNo,      case SimpleRemoteEPCOpcode::Hangup:        dbgs() << "Hangup";        assert(SeqNo == 0 && "Non-zero SeqNo for Hangup?"); -      assert(TagAddr.getValue() == 0 && "Non-zero TagAddr for Hangup?"); +      assert(!TagAddr && "Non-zero TagAddr for Hangup?");        break;      case SimpleRemoteEPCOpcode::Result:        dbgs() << "Result"; -      assert(TagAddr.getValue() == 0 && "Non-zero TagAddr for Result?"); +      assert(!TagAddr && "Non-zero TagAddr for Result?");        break;      case SimpleRemoteEPCOpcode::CallWrapper:        dbgs() << "CallWrapper"; @@ -239,8 +238,7 @@ Error SimpleRemoteEPC::sendMessage(SimpleRemoteEPCOpcode OpC, uint64_t SeqNo,      default:        llvm_unreachable("Invalid opcode");      } -    dbgs() << ", seqno = " << SeqNo -           << ", tag-addr = " << formatv("{0:x}", TagAddr.getValue()) +    dbgs() << ", seqno = " << SeqNo << ", tag-addr = " << TagAddr             << ", arg-buffer = " << formatv("{0:x}", ArgBytes.size())             << " bytes\n";    }); @@ -317,13 +315,19 @@ Error SimpleRemoteEPC::setup(Setup S) {      dbgs() << "SimpleRemoteEPC received setup message:\n"             << "  Triple: " << EI->TargetTriple << "\n"             << "  Page size: " << EI->PageSize << "\n" -           << "  Bootstrap symbols:\n"; +           << "  Bootstrap map" << (EI->BootstrapMap.empty() ? " empty" : ":") +           << "\n"; +    for (const auto &KV : EI->BootstrapMap) +      dbgs() << "    " << KV.first() << ": " << KV.second.size() +             << "-byte SPS encoded buffer\n"; +    dbgs() << "  Bootstrap symbols" +           << (EI->BootstrapSymbols.empty() ? " empty" : ":") << "\n";      for (const auto &KV : EI->BootstrapSymbols) -      dbgs() << "    " << KV.first() << ": " -             << formatv("{0:x16}", KV.second.getValue()) << "\n"; +      dbgs() << "    " << KV.first() << ": " << KV.second << "\n";    });    TargetTriple = Triple(EI->TargetTriple);    PageSize = EI->PageSize; +  BootstrapMap = std::move(EI->BootstrapMap);    BootstrapSymbols = std::move(EI->BootstrapSymbols);    if (auto Err = getBootstrapSymbols( @@ -402,7 +406,7 @@ void SimpleRemoteEPC::handleCallWrapper(                                    ExecutorAddr(), {WFR.data(), WFR.size()}))                  getExecutionSession().reportError(std::move(Err));              }, -            TagAddr.getValue(), ArgBytes); +            TagAddr, ArgBytes);        },        "callWrapper task"));  }  | 
