about summary refs log tree commit diff
path: root/tvix/eval/src/vm.rs
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2022-08-28T13·32+0300
committertazjin <tazjin@tvl.su>2022-09-06T14·58+0000
commit203d9f2e3e05a0735269a9c73c26206ed34d653e (patch)
tree64ecbdf1eeb2731e0400811c5c24a9a881d4978b /tvix/eval/src/vm.rs
parent9dd1fa875d622ed808f20bbd35243e046659db59 (diff)
chore(tvix/eval): thread current slot index through compiler r/4664
While compiling local bindings, we now know the stack slot of the
value currently being compiled.

This will let us determine whether an upvalue can be captured directly
or whether it needs to wait for a synchronisation point at which the
upvalue can be instantiated.

This machinery lets us avoid unnecessary work at runtime when
instantiating closures that actually do not need complicated recursive
resolution.

This change itself introduces no new functionality, but since the
threading is noisy it is split out as a separate change.

Change-Id: I847c677ee8f6725fda1d2efd689b6a58bdccb779
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6328
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Diffstat (limited to 'tvix/eval/src/vm.rs')
0 files changed, 0 insertions, 0 deletions