aboutsummaryrefslogtreecommitdiff
path: root/src/libexpr/eval.hh
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2010-10-20 11:38:30 +0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2010-10-20 11:38:30 +0000
commite879a0371ba7ef99da2d82547823c3f96b445fdb (patch)
treede99e0a1d3e38ff75222f25f641d7e26cf339ad5 /src/libexpr/eval.hh
parentb0c11cda7ef9eaef46f9868e3f3736aa72fa641c (diff)
* Use the Boehm garbage collector to reclaim unused memory in the Nix
expression evaluator.
Diffstat (limited to 'src/libexpr/eval.hh')
-rw-r--r--src/libexpr/eval.hh5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/libexpr/eval.hh b/src/libexpr/eval.hh
index 501ac93d0..d74a03506 100644
--- a/src/libexpr/eval.hh
+++ b/src/libexpr/eval.hh
@@ -7,6 +7,8 @@
#include <map>
+#include <gc/gc_allocator.h>
+
namespace nix {
@@ -16,7 +18,7 @@ struct Env;
struct Value;
struct Attr;
-typedef std::map<Symbol, Attr> Bindings;
+typedef std::map<Symbol, Attr, std::less<Symbol>, gc_allocator<std::pair<const Symbol, Attr> > > Bindings;
typedef enum {
@@ -313,6 +315,7 @@ private:
char * deepestStack; /* for measuring stack usage */
friend class RecursionCounter;
+ friend class ExprOpUpdate;
};