tvl-depot/tvix/eval/src
Aspen Smith 59056cf705 feat(tvix/eval): Leak strings (with flag to disable)
Default to always leaking strings, and copying strings by copying
pointers rather than cloning the underlying allocation. This (somewhat
bafflingly) doesn't seem to affect any benchmarks, but paves the way for
some tricks around string allocation that do.

Unfortunately, we can't do this (yet?) for contextful strings, for
reasons I don't currently understand but which I will address later,
when I address contextful strings more holistically.

I've left a flag in here to disable this, both to test the cloning logic
for strings for when/if we decide to bring this back, and to allow
people who care more about memory usage than perf to disable leaking.

Change-Id: Iec44bcbfe9b3d20389d2450b9a551792a79b9b26
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12045
Autosubmit: aspen <root@gws.fyi>
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
2024-08-05 10:49:27 +00:00
..
builtins refactor(tvix/eval): Drop LightSpan entirely 2024-07-05 03:53:44 +00:00
compiler fix(tvix/repl): Share globals and sourcemap across evaluations 2024-07-07 15:04:26 +00:00
tests chore(3p/sources): Bump channels & overlays (2024-07-28) 2024-08-01 10:06:33 +00:00
value feat(tvix/eval): Leak strings (with flag to disable) 2024-08-05 10:49:27 +00:00
vm refactor(tvix/eval): Drop LightSpan entirely 2024-07-05 03:53:44 +00:00
chunk.rs chore(3p/sources): Bump channels & overlays (2024-07-28) 2024-08-01 10:06:33 +00:00
errors.rs feat(tvix/eval): Allow passing in an env to evaluation 2024-07-05 16:39:34 +00:00
io.rs fix(tvix/eval): don't bubble up io errors from path_exists 2024-07-27 21:29:46 +00:00
lib.rs fix(tvix/repl): Share globals and sourcemap across evaluations 2024-07-07 15:04:26 +00:00
nix_search_path.rs fix(tvix/eval/nix_search_path): gate tests on impure feature 2024-05-26 19:53:51 +00:00
observer.rs feat(tvix/eval/observer): Allow capturing timing of events 2024-01-31 04:41:37 +00:00
opcode.rs refactor(tvix/eval): let OpCoerceToString select the CoercionKind 2023-12-29 21:34:45 +00:00
pretty_ast.rs fix(tvix/eval): fix current clippy warnings 2022-12-25 18:25:06 +00:00
properties.rs refactor(tvix/eval): Don't (ab)use PartialEq for Nix equality 2022-09-18 22:03:41 +00:00
source.rs refactor(tvix/eval): impl Default for SourceCode 2023-08-20 21:52:21 +00:00
spans.rs feat(tvix/eval): Allow passing in an env to evaluation 2024-07-05 16:39:34 +00:00
systems.rs fix(tvix/eval): fix current clippy warnings 2022-12-25 18:25:06 +00:00
test_utils.rs test(tvix/eval): Add proof-of-concept test for Chunk 2022-09-18 17:55:06 +00:00
upvalues.rs fix(tvix/eval): remove impl PartialEq for Value 2022-11-04 00:30:13 +00:00
warnings.rs feat(tvix/glue): emit a warning in case of bad SRI hashes 2024-01-03 13:01:02 +00:00