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

A complete layout blueprint for a reverse call frame. More...

#include <infix_internals.h>

Public Attributes

size_t total_stack_alloc
 
int32_t return_buffer_offset
 
int32_t args_array_offset
 
int32_t saved_args_offset
 
int32_t gpr_save_area_offset
 
int32_t xmm_save_area_offset
 

Detailed Description

A complete layout blueprint for a reverse call frame.

This structure serves as a plan for the JIT-compiled reverse call stub. It contains the offsets for all data structures that the stub needs to create on its stack frame before calling the universal C dispatcher.

Member Data Documentation

◆ args_array_offset

int32_t infix_reverse_call_frame_layout::args_array_offset

Stack offset for the void** array passed to the C dispatcher.

◆ gpr_save_area_offset

int32_t infix_reverse_call_frame_layout::gpr_save_area_offset

(Win x64) Stack offset for saving non-volatile GPRs.

◆ return_buffer_offset

int32_t infix_reverse_call_frame_layout::return_buffer_offset

Stack offset for the buffer to store the return value.

◆ saved_args_offset

int32_t infix_reverse_call_frame_layout::saved_args_offset

Stack offset for the area where argument data is stored/marshalled.

◆ total_stack_alloc

size_t infix_reverse_call_frame_layout::total_stack_alloc

Total bytes of local stack space needed.

◆ xmm_save_area_offset

int32_t infix_reverse_call_frame_layout::xmm_save_area_offset

(Win x64) Stack offset for saving non-volatile XMMs.


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