about summary refs log tree commit diff
path: root/tvix/eval/Cargo.toml
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2022-08-13T18·29+0300
committertazjin <tazjin@tvl.su>2022-08-30T16·53+0000
commit57d0dbb1c62401559533ced7c1c686da5125df75 (patch)
tree1865da67e2e335b9e00c7a7a22a74571c0658291 /tvix/eval/Cargo.toml
parentdd0d6249190db1ab09dfbe4debcf857f7781616b (diff)
feat(tvix/eval): implement optional runtime tracing r/4533
This adds a `disassembler` feature to the crate configuration that
traces the operations executed and the state of the stack at runtime.

This can be enabled by compiling with `--feature disassembler`.

This will also gain a more sensible layout of code slices eventually.

Change-Id: I34c15e1cd346ecc4362b5afba6bf82dd49359d20
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6193
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Diffstat (limited to 'tvix/eval/Cargo.toml')
-rw-r--r--tvix/eval/Cargo.toml4
1 files changed, 4 insertions, 0 deletions
diff --git a/tvix/eval/Cargo.toml b/tvix/eval/Cargo.toml
index 836b5deed10b..b0ccabed2e02 100644
--- a/tvix/eval/Cargo.toml
+++ b/tvix/eval/Cargo.toml
@@ -11,6 +11,7 @@ smol_str = "0.1"
 rustyline = "10.0.0"
 dirs = "4.0.0"
 path-clean = "0.1"
+tabwriter = { version = "1.2", optional = true }
 
 [dev-dependencies]
 criterion = "0.3.6"
@@ -21,6 +22,9 @@ test-generator = "0.3.0"
 # Nix implementation (at version 2.3) against Tvix.
 nix_tests = []
 
+# Enables printing compiled code and tracing the stack state at runtime.
+disassembler = ["dep:tabwriter"]
+
 [[bench]]
 name = "eval"
 harness = false