diff options
author | Vincent Ambo <mail@tazj.in> | 2022-08-29T15·07+0300 |
---|---|---|
committer | tazjin <tazjin@tvl.su> | 2022-09-06T14·58+0000 |
commit | 25c62dd0ef70a37915957bb1eb8ba3f4885c7aad (patch) | |
tree | adfd834383a0238bafc1cd64418b7114e4c4521e /tvix/eval/src/vm.rs | |
parent | 8033a7abaea3c44a16eb6d3db477a89c2fa88a82 (diff) |
refactor(tvix/eval): introduce UpvalueCarrier trait r/4677
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>
Diffstat (limited to 'tvix/eval/src/vm.rs')
-rw-r--r-- | tvix/eval/src/vm.rs | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/tvix/eval/src/vm.rs b/tvix/eval/src/vm.rs index b363522994eb..aa67cb1ea817 100644 --- a/tvix/eval/src/vm.rs +++ b/tvix/eval/src/vm.rs @@ -7,6 +7,7 @@ use crate::{ chunk::Chunk, errors::{Error, ErrorKind, EvalResult}, opcode::{ConstantIdx, Count, JumpOffset, OpCode, StackIdx}, + upvalues::UpvalueCarrier, value::{Closure, Lambda, NixAttrs, NixList, Value}, }; |