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

#include <infix_internals.h>

Public Attributes

infix_status(* prepare_forward_call_frame )(infix_arena_t *, infix_call_frame_layout **, infix_type *, infix_type **, size_t, size_t, void *)
 Analyzes a signature and produces a complete call frame layout.
 
infix_status(* generate_forward_prologue )(code_buffer *, infix_call_frame_layout *)
 Generates the function prologue, including stack setup and saving registers.
 
infix_status(* generate_forward_argument_moves )(code_buffer *, infix_call_frame_layout *, infix_type **, size_t, size_t)
 Generates the instructions to move arguments from the generic void** array to their native locations.
 
infix_status(* generate_forward_call_instruction )(code_buffer *, infix_call_frame_layout *)
 Generates the call instruction (e.g., call rax).
 
infix_status(* generate_forward_epilogue )(code_buffer *, infix_call_frame_layout *, infix_type *)
 Generates the function epilogue, handling the return value and restoring the stack.
 

Member Data Documentation

◆ generate_forward_argument_moves

infix_status(* infix_forward_abi_spec::generate_forward_argument_moves) (code_buffer *, infix_call_frame_layout *, infix_type **, size_t, size_t)

Generates the instructions to move arguments from the generic void** array to their native locations.

◆ generate_forward_call_instruction

infix_status(* infix_forward_abi_spec::generate_forward_call_instruction) (code_buffer *, infix_call_frame_layout *)

Generates the call instruction (e.g., call rax).

◆ generate_forward_epilogue

infix_status(* infix_forward_abi_spec::generate_forward_epilogue) (code_buffer *, infix_call_frame_layout *, infix_type *)

Generates the function epilogue, handling the return value and restoring the stack.

◆ generate_forward_prologue

infix_status(* infix_forward_abi_spec::generate_forward_prologue) (code_buffer *, infix_call_frame_layout *)

Generates the function prologue, including stack setup and saving registers.

◆ prepare_forward_call_frame

infix_status(* infix_forward_abi_spec::prepare_forward_call_frame) (infix_arena_t *, infix_call_frame_layout **, infix_type *, infix_type **, size_t, size_t, void *)

Analyzes a signature and produces a complete call frame layout.


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