* Work around problems with the ATerm library.

The ATerm library doesn't search the heap for pointers to ATerms
  when garbage collecting.  As a result, C++ containers such as
  `map<ATerm, ATerm>' will cause pointer to be hidden from the garbage
  collector, causing crashes.  Instead, we now use ATermTables.
This commit is contained in:
Eelco Dolstra 2003-11-03 20:30:40 +00:00
parent ff31324278
commit 0690c1c9c0
5 changed files with 182 additions and 55 deletions

View file

@ -7,13 +7,12 @@
#include "expr.hh"
typedef map<Expr, Expr> NormalForms;
typedef map<Path, PathSet> DrvPaths;
typedef map<Path, Hash> DrvHashes;
struct EvalState
{
NormalForms normalForms;
ATermMap normalForms;
DrvPaths drvPaths;
DrvHashes drvHashes; /* normalised derivation hashes */
Expr blackHole;