lix/src
Eelco Dolstra 0629601da1
Move EvalState from the stack to the heap
EvalState contains a few counters (e.g. nrValues) that increase
quickly enough that they end up being interpreted as pointers by the
garbage collector. Moving it to the heap makes them invisible to the
garbage collector.

This reduces the max RSS doing 100 evaluations of
nixos.tests.firefox.x86_64-linux.drvPath from 455 MiB to 292 MiB.

Note: ideally, allocations would be much further up in the 64-bit
address space to reduce the odds of an integer being misinterpreted as
a pointer. Maybe we can use some linker magic to move the .bss segment
to a higher address.
2018-06-12 17:49:55 +02:00
..
build-remote Merge branch 'aarch64-armv7' of git://github.com/lheckemann/nix 2018-04-23 08:48:22 -04:00
libexpr GC_malloc -> GC_MALLOC 2018-06-12 17:49:55 +02:00
libmain Modularize config settings 2018-05-30 13:28:01 +02:00
libstore Fix #2162: use getaddrinfo instead of curl to preload NSS 2018-06-12 13:05:14 +02:00
libutil Make <nix/fetchurl.nix> run in constant memory 2018-05-30 13:42:51 +02:00
linenoise linenoise.cpp: allow completions from empty input 2017-12-19 12:52:10 -06:00
nix Move EvalState from the stack to the heap 2018-06-12 17:49:55 +02:00
nix-build Move EvalState from the stack to the heap 2018-06-12 17:49:55 +02:00
nix-channel make sure not to use cached channels for nix-channel --update 2018-05-09 16:18:20 +02:00
nix-collect-garbage Add plugins to make Nix more extensible. 2018-02-08 12:44:37 -05:00
nix-copy-closure Fix library ordering in Makefiles 2018-04-21 21:10:52 -07:00
nix-daemon Move some Download-specific settings to download.cc 2018-05-30 13:29:50 +02:00
nix-env Merge pull request #767 from mogorman/garbage_collect_keep_last_few 2018-05-31 10:00:21 +02:00
nix-instantiate Move EvalState from the stack to the heap 2018-06-12 17:49:55 +02:00
nix-prefetch-url Move EvalState from the stack to the heap 2018-06-12 17:49:55 +02:00
nix-store Fix some random -Wconversion warnings 2018-05-02 13:56:34 +02:00
nlohmann nlohmann-json: 2.1.1 -> 3.0.1 2018-01-22 12:19:50 -06:00
resolve-system-dependencies Replace Unicode quotes in user-facing strings by ASCII 2017-07-30 12:32:45 +01:00