[all-commits] [llvm/llvm-project] c0fdc7: [ORC] Add helper functions for running finalize / ...

lhames via All-commits all-commits at lists.llvm.org
Mon Jan 10 00:17:53 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c0fdc748871f44a2c98cdf54abf2dc8fe2c172aa
      https://github.com/llvm/llvm-project/commit/c0fdc748871f44a2c98cdf54abf2dc8fe2c172aa
  Author: Lang Hames <lhames at gmail.com>
  Date:   2022-01-10 (Mon, 10 Jan 2022)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/AllocationActions.h
    M llvm/include/llvm/ExecutionEngine/Orc/Shared/WrapperFunctionUtils.h
    M llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp
    A llvm/lib/ExecutionEngine/Orc/Shared/AllocationActions.cpp
    M llvm/lib/ExecutionEngine/Orc/Shared/CMakeLists.txt
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp

  Log Message:
  -----------
  [ORC] Add helper functions for running finalize / dealloc actions.

runFinalizeActions takes an AllocActions vector and attempts to run its finalize
actions. If any finalize action fails then all paired dealloc actions up to the
failing pair are run, and the error(s) returned. If all finalize actions succeed
then a vector containing the dealloc actions is returned.

runDeallocActions takes a vector<WrapperFunctionCall> containing dealloc action
calls and runs them all, returning any error(s).

These helpers are intended to simplify the implementation of
JITLinkMemoryManager::InFlightAlloc::finalize and
JITLinkMemoryManager::deallocate overrides by taking care of execution (and
potential roll-back) of allocation actions.




More information about the All-commits mailing list