diff options
author | Vincent Ambo <mail@tazj.in> | 2022-08-28T20·53+0300 |
---|---|---|
committer | tazjin <tazjin@tvl.su> | 2022-09-06T14·58+0000 |
commit | d1798444bec692a608aa93605cbe449d985c3e16 (patch) | |
tree | 470d7aeef33079e12d865b89f7797c2b531ca072 /tvix/eval/src/vm.rs | |
parent | 1f37275cfb42994ed23742b80055a7ab0485247d (diff) |
feat(tvix/eval): Add Compiler::thunk method for emitting thunks r/4674
The logic in this method is *very* similar to `compile_lambda`. It is intended to be called around any expression that should be thunked (such as function applications, attribute set values, etc.). Change-Id: Idfbb2daa9f4b735095378fb9c39a2fd07c8cff91 Reviewed-on: https://cl.tvl.fyi/c/depot/+/6344 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 | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/tvix/eval/src/vm.rs b/tvix/eval/src/vm.rs index 1aaba9b0573e..b363522994eb 100644 --- a/tvix/eval/src/vm.rs +++ b/tvix/eval/src/vm.rs @@ -435,6 +435,8 @@ impl VM { } } + OpCode::OpThunk(_idx) => todo!("runtime thunk construction"), + OpCode::OpFinalise(StackIdx(idx)) => { match &self.stack[self.frame().stack_offset + idx] { Value::Closure(closure) => closure |