Next: , Previous: , Up: Simultaneous Execution   [Index]


15.6.2 Simultaneous Execution Function Evaluation Result Recorded

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).