Eelco Dolstra
6bb4c0b712
mkList: Scrub better
...
Clearing v.app.right was not enough, because the length field of a
list only takes 32 bits, so the most significant 32 bits of v.app.left
(a.k.a. v.thunk.env) would remain. This could cause Boehm GC to
interpret it as a valid pointer.
This change reduces maximum RSS for evaluating the ‘tested’ job in
nixos/release-small.nix from 1.33 GiB to 0.80 GiB, and runtime by
about 8%.
2014-10-09 13:08:53 +02:00
Eelco Dolstra
986fbd6fab
Typo
2014-10-09 11:34:48 +02:00
Eelco Dolstra
eff120d1b9
Add a function ‘valueSize’
...
It returns the size of value, including all other values and
environments reachable from it. It is intended for debugging memory
consumption issues.
2014-09-22 16:05:00 +02:00
Eelco Dolstra
94f9c14d52
Fix some clang warnings
2014-01-21 18:29:55 +01:00
Eelco Dolstra
285df765b9
Add a primop unsafeGetAttrPos to return the position of an attribute
2013-11-18 22:22:35 +01:00
Eelco Dolstra
d308aeaf53
Store Nix integers as longs
...
So on 64-bit systems, integers are now 64-bit.
Fixes #158 .
2013-08-19 12:35:03 +02:00
Eelco Dolstra
fd7d979c79
Remove obsolete reference to ATerms
2013-08-06 14:15:11 +02:00
Stuart Pernsteiner
a9045c727f
fix use-after-free bug in mkString(Value&, Symbol&)
2012-12-13 11:13:20 +01:00
Eelco Dolstra
b7fd2c2822
Use "#pragma once" to prevent repeated header file inclusion
2012-07-18 14:59:03 -04:00
Eelco Dolstra
9fe24c5a0d
* Don't create thunks for simple constants (integers, strings, paths)
...
and allocate them only once.
* Move Value and related functions into value.hh.
2012-01-07 17:26:33 +00:00