Ticket #300 (new task)
Opened 4 years ago
Buffers: Acquire through coercion
|Reported by:||dagss||Owned by:||somebody|
Currently, buffers are acquired/released through somewhat of a hack: There's code in NameNode to "manually" track assignments to buffered-type local variables and do the right thing when they are reassigned.
This means that it is not possible to do e.g.
as there wouldn't be a local variable for the buffer.
The proper way of doing this is moving buffer acquisition and release over to the existing Cython coercion system (which is used for coercing C ints to Python ints and so on), and insert a CoercionNode? in situations like above.
This requires #299 to be done first, as a coercion node requires a temporary result, neatly packed in a single variable.
When #177 is done, this will also be what enables
i.e. without explicitly acquiring the buffer.