implement detached-send

bddd5b8
Opened by Graydon Hoare at 2011-01-27 00:50:17

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.

  1. WONTFIX (not required for bootstrapping)

    Graydon Hoare at 2011-01-27 00:50:17