Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								3d38a49840 
								
							 
						 
						
							
							
								
								* In the download size indication, take binary patches into account.  
							
							... 
							
							
							
							Hopefully this doesn't slow things down too much. 
							
						 
						
							2010-11-17 17:32:25 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								f69626ed3e 
								
							 
						 
						
							
							
								
								 
							
							
							
						 
						
							2010-11-17 15:45:09 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								a07c68f05e 
								
							 
						 
						
							
							
								
								* Finally, a test for the binary patch functionality.  
							
							
							
						 
						
							2010-11-17 15:30:07 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								bf658f016f 
								
							 
						 
						
							
							
								
								* Test that download sizes are shown correctly.  
							
							
							
						 
						
							2010-11-17 14:39:02 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								1e24cbaba3 
								
							 
						 
						
							
							
								
								* Fix the test.  
							
							
							
						 
						
							2010-11-17 14:35:14 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								bdf089f463 
								
							 
						 
						
							
							
								
								* Before a build, show the disk space that the downloaded store paths  
							
							... 
							
							
							
							will approximately require. 
							
						 
						
							2010-11-17 14:31:42 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								06699d4219 
								
							 
						 
						
							
							
								
								* Store the NAR size in the manifest.  
							
							
							
						 
						
							2010-11-17 12:57:52 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								5693b8a7e2 
								
							 
						 
						
							
							
								
								* nix-push: no need to compute the NAR hash, since the Nix database  
							
							... 
							
							
							
							already has it (`nix-store -q --hash'). 
							
						 
						
							2010-11-17 12:51:54 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								e60c962fb8 
								
							 
						 
						
							
							
								
								* Add an operation `nix-store -q --size'.  
							
							
							
						 
						
							2010-11-17 12:40:52 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								1db6259076 
								
							 
						 
						
							
							
								
								* Implement RemoteStore::queryPathInfo().  
							
							
							
						 
						
							2010-11-17 12:08:01 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								a3883cbd28 
								
							 
						 
						
							
							
								
								* Store the size of a store path in the database (to be precise, the  
							
							... 
							
							
							
							size of the NAR serialisation of the path, i.e., `nix-store --dump
  PATH').  This is useful for Hydra. 
							
						 
						
							2010-11-16 17:11:46 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								fb9368b5a0 
								
							 
						 
						
							
							
								
								* Sync with the trunk.  
							
							
							
						 
						
							2010-11-16 12:49:47 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								4aced7f8d0 
								
							 
						 
						
							
							
								
								* Merge the GC branch.  
							
							
							
						 
						
							2010-10-29 15:04:39 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								26def5392f 
								
							 
						 
						
							
							
								
								* Document Boehm GC support.  
							
							
							
						 
						
							2010-10-29 14:44:02 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								3d71c8013e 
								
							 
						 
						
							
							
								
								* Use pkgconfig to locate the Boehm GC (as suggested by Ludo), if  
							
							... 
							
							
							
							--enable-gc is given. 
							
						 
						
							2010-10-29 14:00:47 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								14fbf85380 
								
							 
						 
						
							
							
								
								* Set libgc's initial heap size to 384 MiB to prevent garbage  
							
							... 
							
							
							
							collection in most cases (and therefore its performance overhead). 
							
						 
						
							2010-10-29 13:11:50 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								0c4828ea05 
								
							 
						 
						
							
							
								
								* new(UseGC) is inexplicably slower than GC_MALLOC, so prefer the  
							
							... 
							
							
							
							latter. 
							
						 
						
							2010-10-28 12:50:01 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								e11e6fb1c6 
								
							 
						 
						
							
							
								
								* Handle out of memory condition.  
							
							
							
						 
						
							2010-10-28 12:29:40 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								8a788e38ac 
								
							 
						 
						
							
							
								
								* Install config.h.  
							
							
							
						 
						
							2010-10-26 10:47:02 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								11ccd44e95 
								
							 
						 
						
							
							
								
								* We need Bison 2.4 now.  
							
							
							
						 
						
							2010-10-24 21:48:59 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								43535499f3 
								
							 
						 
						
							
							
								
								* When allocating an attribute set, reserve enough space for all  
							
							... 
							
							
							
							elements.  This prevents the vector from having to resize itself. 
							
						 
						
							2010-10-24 20:09:37 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								e0b7fb8f27 
								
							 
						 
						
							
							
								
								* Keep attribute sets in sorted order to speed up attribute lookups.  
							
							... 
							
							
							
							* Simplify the representation of attributes in the AST.
* Change the behaviour of listToAttrs() in case of duplicate names. 
							
						 
						
							2010-10-24 19:52:33 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								2dc6d50941 
								
							 
						 
						
							
							
								
								* Don't create thunks for variable lookups (if possible).  This  
							
							... 
							
							
							
							significantly reduces the number of values allocated (e.g. from 8.7m
  to 4.9m for the Bittorrent test). 
							
						 
						
							2010-10-24 14:20:02 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								0b305c534f 
								
							 
						 
						
							
							
								
								* Store attribute sets as a vector instead of a map (i.e. a red-black  
							
							... 
							
							
							
							tree).  This saves a lot of memory.  The vector should be sorted so
  that names can be looked up using binary search, but this is not the
  case yet.  (Surprisingly, looking up attributes using linear search
  doesn't have a big impact on performance.)
  Memory consumption for
    $ nix-instantiate /etc/nixos/nixos/tests -A bittorrent.test --readonly-mode
  on x86_64-linux with GC enabled is now 185 MiB (compared to 946
  MiB on the trunk). 
							
						 
						
							2010-10-24 00:41:29 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								a247d20604 
								
							 
						 
						
							
							
								
								* Fix compiling without Boehm.  
							
							... 
							
							
							
							* Fix the stats. 
							
						 
						
							2010-10-23 22:58:24 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								02934b1200 
								
							 
						 
						
							
							
								
								* Regression test for listToAttr's behaviour if an attribute name  
							
							... 
							
							
							
							occurs multiple times. 
							
						 
						
							2010-10-23 22:55:30 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								b2ba62170c 
								
							 
						 
						
							
							
								
								* Optimise string constants by putting them in the symbol table.  
							
							
							
						 
						
							2010-10-23 21:11:59 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								8ac06726b9 
								
							 
						 
						
							
							
								
								* Make Value smaller by not storing redundant PrimOp info.  
							
							... 
							
							
							
							* Clear pointers in Values after overwriting them to make sure that no
  objects are kept alive unnecessarily. 
							
						 
						
							2010-10-23 20:07:47 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								3f66cfb96b 
								
							 
						 
						
							
							
								
								* Remove allocValues().  
							
							
							
						 
						
							2010-10-23 18:18:07 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								4dee289550 
								
							 
						 
						
							
							
								
								* In environments, store pointers to values rather than values.  This  
							
							... 
							
							
							
							improves GC effectiveness a bit more (because a live value doesn't
  keep other values in the environment plus the parent environments
  alive), and removes the need for copy nodes. 
							
						 
						
							2010-10-22 15:51:52 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								cf7e645a48 
								
							 
						 
						
							
							
								
								* Regression test for __overrides.  
							
							
							
						 
						
							2010-10-22 15:15:12 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								41c45a9b31 
								
							 
						 
						
							
							
								
								* Store Value nodes outside of attribute sets.  I.e., Attr now stores  
							
							... 
							
							
							
							a pointer to a Value, rather than the Value directly.  This improves
  the effectiveness of garbage collection a lot: if the Value is
  stored inside the set directly, then any live pointer to the Value
  causes all other attributes in the set to be live as well. 
							
						 
						
							2010-10-22 14:47:42 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								64c3325b0b 
								
							 
						 
						
							
							
								
								* Make building against the Boehm GC a configure option.  
							
							
							
						 
						
							2010-10-22 13:39:15 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								76feaf016a 
								
							 
						 
						
							
							
								
								* Keep some more stats.  
							
							
							
						 
						
							2010-10-20 15:48:00 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								e879a0371b 
								
							 
						 
						
							
							
								
								* Use the Boehm garbage collector to reclaim unused memory in the Nix  
							
							... 
							
							
							
							expression evaluator. 
							
						 
						
							2010-10-20 11:38:30 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								b0c11cda7e 
								
							 
						 
						
							
							
								
								* Evaluator garbage collection branch.  
							
							
							
						 
						
							2010-10-20 09:08:39 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								64fd29855a 
								
							 
						 
						
							
							
								
								* Wrap deleteFromStore() in a transaction.  Otherwise there might be a  
							
							... 
							
							
							
							race with other processes that add new referrers to a path,
  resulting in the garbage collector crashing with "foreign key
  constraint failed".  (Nix/4)
* Make --gc --print-dead etc. interruptible. 
							
						 
						
							2010-10-14 15:55:51 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Rob Vermaas 
								
							 
						 
						
							
							
							
							
								
							
							
								8dadcede65 
								
							 
						 
						
							
							
								
								nix manual: fix 'install' -> 'uninstall' in garbage collection section of introduction  
							
							
							
						 
						
							2010-10-06 19:04:04 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								7119d38287 
								
							 
						 
						
							
							
								
								* In the referrers test, lower the nesting depth from 2500 to 1000 to  
							
							... 
							
							
							
							prevent hitting a stack overflow bug in the garbage collector. 
							
						 
						
							2010-10-04 22:26:38 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								705868a8a9 
								
							 
						 
						
							
							
								
								* Make sure that config.h is included before the system headers,  
							
							... 
							
							
							
							because it defines _FILE_OFFSET_BITS.  Without this, on 
  OpenSolaris the system headers define it to be 32, and then 
  the 32-bit stat() ends up being called with a 64-bit "struct 
  stat", or vice versa.
  This also ensures that we get 64-bit file sizes everywhere.
* Remove the redundant call to stat() in parseExprFromFile().
  The file cannot be a symlink because that's the exit condition
  of the loop before. 
							
						 
						
							2010-10-04 17:55:38 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								95f4f2cf61 
								
							 
						 
						
							
							
								
								* If std::tr1::unordered_set is unavailable, use std::set.  
							
							
							
						 
						
							2010-10-04 16:16:19 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								36a23e86b6 
								
							 
						 
						
							
							
								
								* "type -P" isn't portable.  
							
							
							
						 
						
							2010-10-04 15:50:08 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								bfa6ee7d91 
								
							 
						 
						
							
							
								
								* Don't use SSH's `-tt' flag because it doesn't seem to work  
							
							... 
							
							
							
							on OpenSolaris when using connection sharing.  Instead have
  the remote side check for disconnection and kill the process 
  group when that happens. 
							
						 
						
							2010-10-04 12:30:46 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								71dfe4b90b 
								
							 
						 
						
							
							
								
								* Sync with the trunk.  
							
							
							
						 
						
							2010-10-04 11:44:47 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								450837bcc8 
								
							 
						 
						
							
							
								
								* In printMsg(), ignore failing writes to stderr if we're in an  
							
							... 
							
							
							
							exception handler, otherwise throw an exception.  We need to ignore
  write errors in exception handlers to ensure that cleanup code runs
  to completion if the other side of stderr has been closed
  unexpectedly. 
							
						 
						
							2010-10-04 11:23:07 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								4aa9245083 
								
							 
						 
						
							
							
								
								* Hack needed for GCC 4.3.2 on OpenSolaris.  
							
							
							
						 
						
							2010-10-04 10:51:16 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								923736df38 
								
							 
						 
						
							
							
								
								* Doh.  Remove debug message.  
							
							
							
						 
						
							2010-09-14 12:47:19 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								e4907411c2 
								
							 
						 
						
							
							
								
								* Only do "pragma journal_mode = ..." if the current journal mode  
							
							... 
							
							
							
							differs from the desired mode.  There is an open SQLite ticket
  `Executing "PRAGMA journal_mode" may delete journal file while it is
  in use.' 
							
						 
						
							2010-09-01 11:36:22 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								bf0dde9597 
								
							 
						 
						
							
							
								
								* Always print hook output on stderr, even if --no-build-output is  
							
							... 
							
							
							
							set.
* In the build hook, print a trace message to allow Hydra to pick up
  the name of the remote machine used for the build. 
							
						 
						
							2010-08-31 12:36:24 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Eelco Dolstra 
								
							 
						 
						
							
							
							
							
								
							
							
								e2e168f7c2 
								
							 
						 
						
							
							
								
								`nix-store --verify' improvements:  
							
							... 
							
							
							
							* If a path has disappeared, check its referrers first, and don't try
  to invalidate paths that have valid referrers.  Otherwise we get a
  foreign key constraint violation.
* Read the whole Nix store directory instead of statting each valid
  path, which is slower.
* Acquire the global GC lock. 
							
						 
						
							2010-08-31 11:47:31 +00:00