Age | Commit message (Collapse) | Author | Files | Lines |
|
Changes the internal compiler plumbing to not just return a chunk of
code, but the same chunk wrapped inside of a lambda value.
This is one more step towards compiling runtime lambdas.
Change-Id: If0035f8e65a2970c5ae123fc068a2396e1d8fd72
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6240
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
|
|
This makes for a much nicer view of an execution if `--feature
disassembler` is set, for example:
tvix-repl> let value = [ 1 2 { a = 1; } ]; in value ++ [ 1 ]
=== compiled bytecode (11 operations) ===
02 OpConstant(1)
02 OpConstant(2)
02 OpConstant("a")
02 OpConstant(1)
02 OpAttrs(1)
02 OpList(3)
02 OpGetLocal(0)
02 OpConstant(1)
02 OpList(1)
02 OpConcat
02 OpCloseScope(1)
=== runtime trace ===
0001 OpConstant(ConstantIdx(0)) [ 1 ]
0002 OpConstant(ConstantIdx(1)) [ 1 2 ]
0003 OpConstant(ConstantIdx(2)) [ 1 2 "a" ]
0004 OpConstant(ConstantIdx(3)) [ 1 2 "a" 1 ]
0005 OpAttrs(1) [ 1 2 { a = 1; } ]
0006 OpList(3) [ [ 1 2 { a = 1; } ] ]
0007 OpGetLocal(0) [ [ 1 2 { a = 1; } ] [ 1 2 { a = 1; } ] ]
0008 OpConstant(ConstantIdx(4)) [ [ 1 2 { a = 1; } ] [ 1 2 { a = 1; } ] 1 ]
0009 OpList(1) [ [ 1 2 { a = 1; } ] [ 1 2 { a = 1; } ] [ 1 ] ]
0010 OpConcat [ [ 1 2 { a = 1; } ] [ 1 2 { a = 1; } 1 ] ]
0011 OpCloseScope(1) [ [ 1 2 { a = 1; } 1 ] ]
=> [ 1 2 { a = 1; } 1 ] :: list
Change-Id: If79c7fd1f0f18255ddb3763c1ba585fda8041b1b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6195
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
|
|
grfn pointed out in cl/6069 that naming them like this makes it clear
that things are being added to the end of the state.
Change-Id: I6a23215c4fef713869a3c85b0dde1ebbda7637e9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6179
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
|
|
Change-Id: I53202e93938bede421c8f1c98901e4c67544e257
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6069
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
|