Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2022-09-11 | r/4800 refactor(tvix/eval): introduce Upvalues struct in closures & thunks | Vincent Ambo | 1 | -10/+37 | |
This struct will be responsible for tracking upvalues (and is a convenient place to introduce optimisations for reducing value clones) instead of a plain value vector. The main motivation for this is that the upvalues will have to capture the `with`-stack fully and I want to avoid duplicating the logic for this between the two capturing types. Change-Id: I6654f8739fc2e04ca046e6667d4a015f51724e99 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6485 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> | |||||
2022-09-06 | r/4677 refactor(tvix/eval): introduce UpvalueCarrier trait | Vincent Ambo | 1 | -0/+39 | |
This trait abstracts over the commonalities of upvalue handling between closures and thunks. It allows the VM to simplify the code used for setting up upvalues, without duplicating between the two different types. Note that this does not yet refactor the VM code to optimally make use of this. Change-Id: If8de5181f26ae1fa00d554f1ae6ea473ee4b6070 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6347 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> |