45eb68fa38 
								
							
								 
							
						 
						
							
							
								
								vm: during tenuring stage of aging collection, if tenured space fills up, it would attempt a to_tenured collection. this will succeed if all roots were tenured. however, this is unsound, because there's now an untraced segment of tenured space. fix: if tenuring fails, go on to do a full collection instead  
							
							
							
						 
						
							2009-10-15 05:51:11 -05:00  
				
					
						
							
							
								 
						
							
							
								d689be57a5 
								
							
								 
							
						 
						
							
							
								
								vm: new card marking implementation supports marking partial objects  
							
							
							
						 
						
							2009-10-13 21:16:04 -05:00  
				
					
						
							
							
								 
						
							
							
								0bf31e42e6 
								
							
								 
							
						 
						
							
							
								
								vm: refactoring card logic a bit  
							
							
							
						 
						
							2009-10-09 11:16:18 -05:00  
				
					
						
							
							
								 
						
							
							
								6939759f46 
								
							
								 
							
						 
						
							
							
								
								vm: working on new object-oriented garbage collector  
							
							
							
						 
						
							2009-10-07 15:48:09 -05:00  
				
					
						
							
							
								 
						
							
							
								23e133e383 
								
							
								 
							
						 
						
							
							
								
								vm: make a new old_space type to encapsulate a few things, split up generations array somewhat  
							
							
							
						 
						
							2009-10-07 14:05:09 -05:00  
				
					
						
							
							
								 
						
							
							
								651a7fb6fa 
								
							
								 
							
						 
						
							
							
								
								vm: replace generations array with individual instance variables referencing zone objects  
							
							
							
						 
						
							2009-10-07 11:59:59 -05:00  
				
					
						
							
							
								 
						
							
							
								5c774d8c84 
								
							
								 
							
						 
						
							
							
								
								vm: more code cleanups  
							
							
							
						 
						
							2009-10-07 08:33:54 -05:00  
				
					
						
							
							
								 
						
							
							
								2311891910 
								
							
								 
							
						 
						
							
							
								
								vm: faster zone::contains_p()  
							
							
							
						 
						
							2009-10-06 06:47:56 -05:00  
				
					
						
							
							
								 
						
							
							
								b50d3f3fb0 
								
							
								 
							
						 
						
							
							
								
								vm: number of generations is not configurable anymore, split up begin_gc() and end_gc() into collect_{nursery,aging,aging_again,tenured}()  
							
							
							
						 
						
							2009-10-06 02:39:12 -05:00  
				
					
						
							
							
								 
						
							
							
								bae2240f62 
								
							
								 
							
						 
						
							
							
								
								vm: refactoring garbage collector  
							
							
							
						 
						
							2009-10-05 22:16:08 -05:00  
				
					
						
							
							
								 
						
							
							
								c4ef640f4d 
								
							
								 
							
						 
						
							
							
								
								Big VM cleanup  
							
							... 
							
							
							
							- Move forward declarations of 'struct factor_vm' to one place
- Rename template parameters from T and TYPE to descriptive names. New convention: CamelCase for template parameters
- Change some higher-order functions taking function pointers into templates, and define classes overriding operator(). There's a bit of new boilerplate here but its more consistent than the old mish-mash approaches
- Put GC state into a gc_state struct
- Use exceptions instead of longjmp for non-local control transfer in GC
- In code GC, instead of interleaving code block tracing with copying, add code blocks which need to be revisited to an std::set stored in the gc_state 
							
						 
						
							2009-10-03 08:47:05 -05:00  
				
					
						
							
							
								 
						
							
							
								ded33eda87 
								
							
								 
							
						 
						
							
							
								
								removed some superflous newlines  
							
							
							
						 
						
							2009-10-01 07:33:16 +01:00  
				
					
						
							
							
								 
						
							
							
								9b7412b8f8 
								
							
								 
							
						 
						
							
							
								
								Moved PRIMITIVE and PRIMITIVE_FORWARDs to primitives.[ch]pp  
							
							
							
						 
						
							2009-09-27 19:42:18 +01:00  
				
					
						
							
							
								 
						
							
							
								f81c8549f4 
								
							
								 
							
						 
						
							
							
								
								Make segment, context, data_heap, zone more object-oriented, and fix crash when calling undefined symbols  
							
							
							
						 
						
							2009-09-25 21:17:20 -05:00  
				
					
						
							
							
								 
						
							
							
								e566656e46 
								
							
								 
							
						 
						
							
							
								
								removed a bunch of superflous blank lines  
							
							
							
						 
						
							2009-09-24 08:02:14 +01:00  
				
					
						
							
							
								 
						
							
							
								c010afc345 
								
							
								 
							
						 
						
							
							
								
								nursery global variable moved into vm  
							
							
							
						 
						
							2009-09-16 08:16:31 +01:00  
				
					
						
							
							
								 
						
							
							
								b2f52ed109 
								
							
								 
							
						 
						
							
							
								
								removed non-primitive global functions from data_heap  
							
							
							
						 
						
							2009-09-16 08:16:26 +01:00  
				
					
						
							
							
								 
						
							
							
								d5da6a3d58 
								
							
								 
							
						 
						
							
							
								
								Dev checkpoint  
							
							
							
						 
						
							2009-09-16 08:16:25 +01:00  
				
					
						
							
							
								 
						
							
							
								221c0ac5c8 
								
							
								 
							
						 
						
							
							
								
								moved global state from data_heap into vm  
							
							
							
						 
						
							2009-09-16 08:16:24 +01:00  
				
					
						
							
							
								 
						
							
							
								230061783a 
								
							
								 
							
						 
						
							
							
								
								misc small documentation fixes, some fixes for factor.vim, changed permissions of vm/* to 644  
							
							
							
						 
						
							2009-08-10 21:33:07 +02:00  
				
					
						
							
							
								 
						
							
							
								69cb3dee5e 
								
							
								 
							
						 
						
							
							
								
								Fix FEP if there are too many words in the image, clean up some VM code  
							
							
							
						 
						
							2009-05-13 00:58:54 -05:00  
				
					
						
							
							
								 
						
							
							
								3bf8134476 
								
							
								 
							
						 
						
							
							
								
								VM cleanup: replace some #defines with constants and inline functions  
							
							
							
						 
						
							2009-05-08 15:05:55 -05:00  
				
					
						
							
							
								 
						
							
							
								53db9d737a 
								
							
								 
							
						 
						
							
							
								
								Change (void) to ()  
							
							
							
						 
						
							2009-05-05 11:33:35 -05:00  
				
					
						
							
							
								 
						
							
							
								8872c40b1e 
								
							
								 
							
						 
						
							
							
								
								The great type renaming  
							
							
							
						 
						
							2009-05-04 04:50:24 -05:00  
				
					
						
							
							
								 
						
							
							
								edecac508e 
								
							
								 
							
						 
						
							
							
								
								Use C++ namespaces  
							
							
							
						 
						
							2009-05-04 01:46:13 -05:00  
				
					
						
							
							
								 
						
							
							
								8e17e0a01e 
								
							
								 
							
						 
						
							
							
								
								VM: use better abstractions for tagged pointers, eliminate get()/set() stuff, clean up array, string, and byte-array element access  
							
							
							
						 
						
							2009-05-04 01:00:30 -05:00  
				
					
						
							
							
								 
						
							
							
								b923d548cf 
								
							
								 
							
						 
						
							
							
								
								Move vmpp to vm  
							
							
							
						 
						
							2009-05-02 20:37:18 -05:00