* 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:
		
							parent
							
								
									ff31324278
								
							
						
					
					
						commit
						0690c1c9c0
					
				
					 5 changed files with 182 additions and 55 deletions
				
			
		|  | @ -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; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue