infix
A JIT-Powered FFI Library for C
Loading...
Searching...
No Matches
infix_forward_t Struct Reference

Internal definition of a forward trampoline handle. More...

#include <infix_internals.h>

Collaboration diagram for infix_forward_t:
[legend]

Public Attributes

infix_arena_tarena
 
bool is_external_arena
 
infix_executable_t exec
 
infix_typereturn_type
 
infix_type ** arg_types
 
size_t num_args
 
size_t num_fixed_args
 
void * target_fn
 

Detailed Description

Internal definition of a forward trampoline handle.

This is the concrete implementation of the opaque infix_forward_t pointer returned to the user. It is a self-contained object that owns all memory and metadata required for its operation. The type information (return_type, arg_types) is a deep copy stored in the trampoline's private arena, ensuring its lifetime is independent of the types used to create it.

Member Data Documentation

◆ arena

infix_arena_t* infix_forward_t::arena

Private or shared arena holding all type metadata for this trampoline.

◆ arg_types

infix_type** infix_forward_t::arg_types

A deep copy of the function's argument types.

◆ exec

infix_executable_t infix_forward_t::exec

The executable memory containing the JIT-compiled code.

◆ is_external_arena

bool infix_forward_t::is_external_arena

True if the arena is user-provided and should not be freed by infix_forward_destroy.

◆ num_args

size_t infix_forward_t::num_args

The total number of arguments.

◆ num_fixed_args

size_t infix_forward_t::num_fixed_args

The number of non-variadic arguments.

◆ return_type

infix_type* infix_forward_t::return_type

A deep copy of the function's return type.

◆ target_fn

void* infix_forward_t::target_fn

The target C function pointer (for bound trampolines), or nullptr for unbound.


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