[e-lang] Looser memoization and constant-folding: will this work?

David Hopwood 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 mailing list