[e-lang] Looser memoization and constant-folding: will this work?
david.nospam.hopwood at blueyonder.co.uk
Sun Jul 23 09:12:29 EDT 2006
Mark S. Miller wrote:
> As has been discussed, if we limit constant folding in the compiler to
> Data-returns-Data cases, i.e., the constant folding cases classically within
> the abilities of an offline compiler, then we could run the computation in a
> separately budgeted vat, and terminate it if it exceeds its budget. However,
> Kevin reports that many of the desirable constant folding cases for E-on-CL
> are the online cases. I suppose, since the E-to-CL compiler is part of the TCB
> and can be in bed with the E-on-CL runtime in magic ways, it could run the
> DeepFrozen-returning-DeepFrozen computation in the same vat but with a budget.
> If the computation exceeds its budget, the E-to-CL compiler could preemptively
> terminate it, in violation of the general E model. This would be safe since a
> partially completed DeepFrozen-returning-DeepFrozen computation cannot leave
> behind any reachable residual side effects.
I'm shortly going to propose (for different, security-motivated reasons) a
mechanism for supporting transactions in E, which would have the effect of
putting this within the general E model. Watch this space :-)
David Hopwood <david.nospam.hopwood at blueyonder.co.uk>
More information about the e-lang