LLVM 24.0.0git
llvm::orc::SharedMemoryMapBindings Struct Reference

The resolved controller-side handle to an executor-side shared-memory mapper: the address of the mapper instance, which is passed as the first argument to each call, plus the proxies for its operations. More...

#include "llvm/ExecutionEngine/Orc/SharedMemoryMap.h"

Public Types

using ReserveProxy
 Reserve an address range of the given size; returns its base together with the name of the shared-memory object backing it, which the controller maps into its own address space.
using InitializeProxy
 Apply a finalize request to the reservation with the given base; returns a key for the initialized allocation.
using DeinitializeProxy = Proxy<Error(ExecutorAddr, ArrayRef<ExecutorAddr>)>
 Deinitialize the allocations with the given keys (running their deallocation actions) without releasing their memory.
using ReleaseProxy = Proxy<Error(ExecutorAddr, ArrayRef<ExecutorAddr>)>
 Release the reservations with the given base addresses.

Public Attributes

ExecutorAddr Instance
ReserveProxy Reserve
InitializeProxy Initialize
DeinitializeProxy Deinitialize
ReleaseProxy Release

Detailed Description

The resolved controller-side handle to an executor-side shared-memory mapper: the address of the mapper instance, which is passed as the first argument to each call, plus the proxies for its operations.

This is the shared-memory analogue of SimpleMemoryMapBindings: reserve additionally returns the name of the shared-memory object backing the range (which the controller maps into its own address space), and initialize describes its segments by address and size, since their content is written directly into that shared region rather than shipped inline.

These are protocol-agnostic: sps::createSharedMemoryMapBindings populates them over the runtime's SPS controller interface, but a client targeting a different protocol – or a different executor-side implementation of these operations – can build its own and pass them to the utility that will use them.

Definition at line 40 of file SharedMemoryMap.h.

Member Typedef Documentation

◆ DeinitializeProxy

Deinitialize the allocations with the given keys (running their deallocation actions) without releasing their memory.

Definition at line 54 of file SharedMemoryMap.h.

◆ InitializeProxy

Initial value:

Apply a finalize request to the reservation with the given base; returns a key for the initialized allocation.

Definition at line 49 of file SharedMemoryMap.h.

◆ ReleaseProxy

Release the reservations with the given base addresses.

Definition at line 57 of file SharedMemoryMap.h.

◆ ReserveProxy

Initial value:

Reserve an address range of the given size; returns its base together with the name of the shared-memory object backing it, which the controller maps into its own address space.

Definition at line 44 of file SharedMemoryMap.h.

Member Data Documentation

◆ Deinitialize

DeinitializeProxy llvm::orc::SharedMemoryMapBindings::Deinitialize

Definition at line 62 of file SharedMemoryMap.h.

◆ Initialize

InitializeProxy llvm::orc::SharedMemoryMapBindings::Initialize

Definition at line 61 of file SharedMemoryMap.h.

◆ Instance

ExecutorAddr llvm::orc::SharedMemoryMapBindings::Instance

Definition at line 59 of file SharedMemoryMap.h.

◆ Release

ReleaseProxy llvm::orc::SharedMemoryMapBindings::Release

Definition at line 63 of file SharedMemoryMap.h.

◆ Reserve

ReserveProxy llvm::orc::SharedMemoryMapBindings::Reserve

Definition at line 60 of file SharedMemoryMap.h.


The documentation for this struct was generated from the following file: