Sat Aug 29 11:11:18 CEST 2009
Fully linear PF machine
Hmm... Maybe the trick is really to have a single linear <-> nonlinear
conversion primitive, and never perform any conversions in other
Another problem: in _px_run() the `ip' can't be a C variable for the
same reason that other structures can't be present only on the C
stack: primitives might abort in which case the current `ip' is lost.
What about turning this around:
1. PF primitives can never fail due to GC restarts as they _always_
run in LINEAR mode. They will abort on an empty freelist, but this
case can be handled separately and be made more gentle in the
prototyping case (where you want to give up real-time behaviour
for extra allocation).
2. Anything that's nonlinear needs to be guarded from GC restarts in
a different way.