Skip to content

Conversation

lhames
Copy link
Contributor

@lhames lhames commented Sep 6, 2025

This commit contains executor-side support for ORC allocation actions (see e50aea5).

An AllocAction is a function pointer with type
orc_rt_WrapperFunctionBuffer (*)(const char *ArgData, size_t ArgSize), along with an associated blob of argument bytes.

An AllocActionPair is a pair of AllocActions, one to be run at memory finalization time and another to be run at deallocation time.

The runFinalizeActions function can be used to run all non-null finalize actions in a sequence of AllocActionPairs, returning the corresponding sequence of deallocation actions on success.

The runDeallocActions function can be used to run a sequence of dealloc actions returned by runFinalizeActions.

This commit contains executor-side support for ORC allocation actions (see
e50aea5).

An AllocAction is a function pointer with type
orc_rt_WrapperFunctionBuffer (*)(const char *ArgData, size_t ArgSize),
along with an associated blob of argument bytes.

An AllocActionPair is a pair of AllocActions, one to be run at memory
finalization time and another to be run at deallocation time.

The runFinalizeActions function can be used to run all non-null finalize
actions in a sequence of AllocActionPairs, returning the corresponding
sequence of deallocation actions on success.

The runDeallocActions function can be used to run a sequence of
dealloc actions returned by runFinalizeActions.
@lhames lhames merged commit 88a5429 into llvm:main Sep 7, 2025
10 checks passed
@lhames lhames deleted the orc-rt-alloc-actions branch September 7, 2025 01:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant