[all-commits] [llvm/llvm-project] 8abf46: [ORC] Propagate out-of-band errors in callAsync.

lhames via All-commits all-commits at lists.llvm.org
Mon Oct 11 14:24:12 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8abf46d39a0cf93d0299ea31426a566747064f69
      https://github.com/llvm/llvm-project/commit/8abf46d39a0cf93d0299ea31426a566747064f69
  Author: Lang Hames <lhames at gmail.com>
  Date:   2021-10-11 (Mon, 11 Oct 2021)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/WrapperFunctionUtils.h
    M llvm/unittests/ExecutionEngine/Orc/WrapperFunctionUtilsTest.cpp

  Log Message:
  -----------
  [ORC] Propagate out-of-band errors in callAsync.

Returned out-of-band errors should be wrapped as llvm::Errors and passed to the
SendDeserializedResult function. Failure to do this results in an assertion when
we try to deserialize from the WrapperFunctionResult while it's in the
out-of-band error state.


  Commit: 4fc2a4cc013b87d240b7a8bd4109fbc58495d302
      https://github.com/llvm/llvm-project/commit/4fc2a4cc013b87d240b7a8bd4109fbc58495d302
  Author: Lang Hames <lhames at gmail.com>
  Date:   2021-10-11 (Mon, 11 Oct 2021)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManager.cpp

  Log Message:
  -----------
  [ORC] Destroy FinalizeErr if there is a serialization error.

If there is a serialization error then FinalizeErr should never be set, so we
can use cantFail rather than consumeError here.


  Commit: 17a0858f9d17a5d0d1b70b0e409e59a9f96967ca
      https://github.com/llvm/llvm-project/commit/17a0858f9d17a5d0d1b70b0e409e59a9f96967ca
  Author: Lang Hames <lhames at gmail.com>
  Date:   2021-10-11 (Mon, 11 Oct 2021)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
    M llvm/lib/ExecutionEngine/Orc/Shared/SimpleRemoteEPCUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp

  Log Message:
  -----------
  [ORC] Propagate errors to handlers when sendMessage fails.

In SimpleRemoteEPC, calls to from callWrapperAsync to sendMessage may fail.
The handlers may or may not be sent failure messages by handleDisconnect,
depending on when that method is run. This patch adds a check for an un-failed
handler, and if it finds one sends it a failure message.


Compare: https://github.com/llvm/llvm-project/compare/2a2a37d97207...17a0858f9d17


More information about the All-commits mailing list