Next: Switching Between Executed Programs, Previous: Simultaneous Execution Temporaries Allocator, Up: Simultaneous Execution [Index]
Function evaluation result recording is tempories creation, and it is to be approached for concurrent program execution just like the rest of temporaries management.
The procedural program executable representations need to know how to register the temporaries linking the aime function evaluation results in the previous (and larger) allocation scope (if allocation scopes are characteristic to the used temporaries allocator). They may be instructed how to do so as:
struct x1f4_a1_type a1; a1.autolead_set.context = context; a1.autolead_set.link = link_e4lf; a1.autolead_set.pick = pick_e4lf;
See struct x1f4_a1_type.
Plain memory allocated evaluation results will call:
static int link_e4lf(void *context, void **link, unsigned size) { return x1f4_link_e4lf(e4less, link, size); }
where e4less
is the execution specific temporaries allocator. The
allocator here is assumed to be of the e4ll hierarchical resource
allocation manager breed.
See Hierarchical Resource Allocation Manager.
See e4ll Temporaries Disposal Usage Example.
The evaluation results that need a special deregistration method will be dealt with in a similar fashion.
The application running simultaneous program execution will put a reference to
the temporaries allocator belonging to the foreground execution in a place from
where the functions link_e4lf
and pick_e4lf
can pick it up (the
context
points to an application object, uninterpreted by libaime
and a prime candidate for recording such a reference).