Closed
Description
The send operators currently always deep-copy when they hit thread boundaries.
They should handle a mode in which a singly-referenced value can be sent
without deep-copying. This could take the form of a 'detached(x)' predicate
with a 'detach x' statement, that must hold before sending; or could simply be
part of the operator definition (that it detaches any memory before sending,
along with dropping the sent slot).
Note that there may be multiply-references leaves within a value that require
detachment themselves, so detachment is a recursive predicate / operation.
Metadata
Assignees
Labels
No labels
Activity