ca2ea548be 
								
							
								 
							
						 
						
							
							
								
								VM: Remove exec bit from VM source files  
							
							
							
						 
						
							2013-05-11 17:04:23 -04:00  
				
					
						
							
							
								 
						
							
							
								2b33dde782 
								
							
								 
							
						 
						
							
							
								
								vm: Add more Allocates memory comments.  
							
							
							
						 
						
							2013-03-25 17:52:30 -07:00  
				
					
						
							
							
								 
						
							
							
								86649ce1c0 
								
							
								 
							
						 
						
							
							
								
								vm: More allocates comments.  
							
							
							
						 
						
							2013-03-25 14:05:05 -07:00  
				
					
						
							
							
								 
						
							
							
								0a1a252cdb 
								
							
								 
							
						 
						
							
							
								
								vm: replace assert with FACTOR_ASSERT  
							
							... 
							
							
							
							Factor is finally a real C++ project and has a custom assert macro. Assertion failures were still getting caught as exceptions and causing failure loops. Write our own macro that calls factor::abort on failure. 
							
						 
						
							2011-11-23 11:11:26 -08:00  
				
					
						
							
							
								 
						
							
							
								dca0fd3487 
								
							
								 
							
						 
						
							
							
								
								vm: Revert extra canary page before callstack  
							
							... 
							
							
							
							This reverts commit 7d5c8d6990385b94569116a23163d7e75ae21f49. We pretty much can't avoid unwinding frames without some more drastic redesign. 
							
						 
						
							2011-10-27 21:14:50 -07:00  
				
					
						
							
							
								 
						
							
							
								c3f007ce0a 
								
							
								 
							
						 
						
							
							
								
								vm: allocate an extra canary page before callstack  
							
							... 
							
							
							
							This will let us safely unguard the callstack overflow guard page as a grace page so the callstack overflow handler can do its business without discarding frames. 
							
						 
						
							2011-10-27 21:14:49 -07:00  
				
					
						
							
							
								 
						
							
							
								83b8717bad 
								
							
								 
							
						 
						
							
							
								
								Clean up some GC logic and fix a bug where large object allocation could grow the heap unnecessarily  
							
							
							
						 
						
							2011-09-05 16:28:00 -07:00  
				
					
						
							
							
								 
						
							
							
								806e54630a 
								
							
								 
							
						 
						
							
							
								
								GC maps for more compact inline GC checks  
							
							
							
						 
						
							2010-06-11 20:06:00 -04:00  
				
					
						
							
							
								 
						
							
							
								560c119cd2 
								
							
								 
							
						 
						
							
							
								
								vm: actually use context callstacks when running code  
							
							
							
						 
						
							2010-03-26 22:44:43 -04:00  
				
					
						
							
							
								 
						
							
							
								d22eb40360 
								
							
								 
							
						 
						
							
							
								
								Fix spaces that crept into vm/ cpp files  
							
							
							
						 
						
							2010-02-06 01:06:26 -06:00  
				
					
						
							
							
								 
						
							
							
								26cae00eeb 
								
							
								 
							
						 
						
							
							
								
								Add code heap introspection primitive to VM, and make a code-blocks word in tools.memory that wraps a useful interface around this. Add a lookup-return-address word and use this in tools.disassembler.utils  
							
							
							
						 
						
							2010-02-03 23:11:32 +13:00  
				
					
						
							
							
								 
						
							
							
								63edd20a55 
								
							
								 
							
						 
						
							
							
								
								vm: eliminating register variables work in progress. Works on x86-32 with non-optimizing compiler  
							
							
							
						 
						
							2009-12-19 10:59:56 +13:00  
				
					
						
							
							
								 
						
							
							
								0068bce934 
								
							
								 
							
						 
						
							
							
								
								vm: big overhaul of non-optimizing compiler  
							
							... 
							
							
							
							- change some primitives into sub-primitives: fixnum+ fixnum- fixnum* inline-cache-miss inline-cache-miss-tail
- rename some relocation types for clarity
- some other minor re-organizations and cleanups 
							
						 
						
							2009-12-15 07:20:09 -05:00  
				
					
						
							
							
								 
						
							
							
								344c357ef1 
								
							
								 
							
						 
						
							
							
								
								vm: grow the heap if a full collection doesn't reclaim enough space  
							
							
							
						 
						
							2009-12-05 19:03:53 -05:00  
				
					
						
							
							
								 
						
							
							
								ead592697b 
								
							
								 
							
						 
						
							
							
								
								vm: be more eager to do a full collection to avoid fragmentation leading to heap growth  
							
							
							
						 
						
							2009-12-04 03:41:19 -05:00  
				
					
						
							
							
								 
						
							
							
								001a3f2847 
								
							
								 
							
						 
						
							
							
								
								vm: mark sweep now traces code block references; rename embedded_pointer to instruction_operand  
							
							
							
						 
						
							2009-11-23 19:17:12 -06:00  
				
					
						
							
							
								 
						
							
							
								cf35ffb126 
								
							
								 
							
						 
						
							
							
								
								vm: fix problem in card marking if first block is free  
							
							
							
						 
						
							2009-11-16 00:52:32 -06:00  
				
					
						
							
							
								 
						
							
							
								064c00f78d 
								
							
								 
							
						 
						
							
							
								
								New identity-hashcode primitive  
							
							
							
						 
						
							2009-11-10 21:18:54 -06:00  
				
					
						
							
							
								 
						
							
							
								11075828e5 
								
							
								 
							
						 
						
							
							
								
								vm: faster data_root and <array> primitive  
							
							
							
						 
						
							2009-11-06 05:30:37 -06:00  
				
					
						
							
							
								 
						
							
							
								eac0f9ffcf 
								
							
								 
							
						 
						
							
							
								
								vm: report true size of mark stack  
							
							
							
						 
						
							2009-11-06 04:15:55 -06:00  
				
					
						
							
							
								 
						
							
							
								c512013220 
								
							
								 
							
						 
						
							
							
								
								vm: fix crash if all-instances primitive triggers a GC  
							
							
							
						 
						
							2009-11-06 01:41:11 -06:00  
				
					
						
							
							
								 
						
							
							
								e2107166ff 
								
							
								 
							
						 
						
							
							
								
								vm: restructure data_roots so that its a sequence of handle/len pairs rather than just handles, use it in inline_gc() and all_instances() so that we don't run out of heap while building the object array  
							
							
							
						 
						
							2009-11-06 00:54:28 -06:00  
				
					
						
							
							
								 
						
							
							
								4061951d1c 
								
							
								 
							
						 
						
							
							
								
								vm: simpler object space implementation. begin-scan/next-object/end-scan primitives replaced by a single all-instances primitive  
							
							
							
						 
						
							2009-11-05 21:49:03 -06:00  
				
					
						
							
							
								 
						
							
							
								72ab6ec548 
								
							
								 
							
						 
						
							
							
								
								vm: rewrite 'become' primitive so that it uses a slot visitor instead of GC  
							
							
							
						 
						
							2009-11-05 19:03:51 -06:00  
				
					
						
							
							
								 
						
							
							
								e1c365e69a 
								
							
								 
							
						 
						
							
							
								
								vm: fix issue with unnecessary heap growth  
							
							
							
						 
						
							2009-11-03 22:25:22 -06:00  
				
					
						
							
							
								 
						
							
							
								5ae40e26ee 
								
							
								 
							
						 
						
							
							
								
								vm: remove promotion strategy, clean up compaction code  
							
							
							
						 
						
							2009-11-01 03:47:09 -06:00  
				
					
						
							
							
								 
						
							
							
								7cbaf3e0a3 
								
							
								 
							
						 
						
							
							
								
								vm: don't do a data compaction when growing the data heap, speeds up data heap grow by a bit  
							
							
							
						 
						
							2009-10-31 21:06:34 -05:00  
				
					
						
							
							
								 
						
							
							
								5536003cf8 
								
							
								 
							
						 
						
							
							
								
								vm: new GC policy: mark sweep after N megabytes promoted, mark compact if tenured space cannot fit nursery+aging in one contiguous block. N = 32 on 32-bit and 64 on 64-bit  
							
							
							
						 
						
							2009-10-30 02:26:57 -05:00  
				
					
						
							
							
								 
						
							
							
								a1aac42786 
								
							
								 
							
						 
						
							
							
								
								vm: clean up gc events, remove -verbosegc switch, fix compaction bug  
							
							
							
						 
						
							2009-10-27 21:31:28 -05:00  
				
					
						
							
							
								 
						
							
							
								d95a98eb9c 
								
							
								 
							
						 
						
							
							
								
								vm: add primitives for getting at GC events, data-room and code-room primitives now return structs instead of arrays  
							
							
							
						 
						
							2009-10-27 03:32:28 -05:00  
				
					
						
							
							
								 
						
							
							
								e793a72060 
								
							
								 
							
						 
						
							
							
								
								vm: remove crummy old GC stats, split off free list code, clean up various other things  
							
							
							
						 
						
							2009-10-26 22:08:35 -05:00  
				
					
						
							
							
								 
						
							
							
								cf247c23a2 
								
							
								 
							
						 
						
							
							
								
								vm: room. now prints mark stack size, and total/contiguous free space  
							
							
							
						 
						
							2009-10-25 13:18:06 -05:00  
				
					
						
							
							
								 
						
							
							
								0b65b194c9 
								
							
								 
							
						 
						
							
							
								
								vm: fix 'data-room' primitive to report correct sizes for tenured space  
							
							
							
						 
						
							2009-10-24 23:49:33 -05:00  
				
					
						
							
							
								 
						
							
							
								03f4b4cdd6 
								
							
								 
							
						 
						
							
							
								
								vm: move binary_payload_start() method from factor_vm to object class  
							
							
							
						 
						
							2009-10-24 04:27:45 -05:00  
				
					
						
							
							
								 
						
							
							
								40351d40be 
								
							
								 
							
						 
						
							
							
								
								vm: use iostreams instead of printf for debug messages, clean up a few things  
							
							
							
						 
						
							2009-10-21 20:12:57 -05:00  
				
					
						
							
							
								 
						
							
							
								af855b7fa9 
								
							
								 
							
						 
						
							
							
								
								vm: debugging mark-sweep  
							
							
							
						 
						
							2009-10-21 19:41:54 -05:00  
				
					
						
							
							
								 
						
							
							
								814f6371d6 
								
							
								 
							
						 
						
							
							
								
								vm: mark sweep gc for tenured space work in progress  
							
							
							
						 
						
							2009-10-20 22:20:49 -05:00  
				
					
						
							
							
								 
						
							
							
								f0816d72f1 
								
							
								 
							
						 
						
							
							
								
								vm: split off free_list_allocator from heap class, rename zone to bump_allocator  
							
							
							
						 
						
							2009-10-20 15:26:11 -05:00  
				
					
						
							
							
								 
						
							
							
								a9dbbd1efb 
								
							
								 
							
						 
						
							
							
								
								vm: simplify code heap by eliminating HeapLayout template parameter  
							
							
							
						 
						
							2009-10-20 14:01:46 -05:00  
				
					
						
							
							
								 
						
							
							
								d22d5466fc 
								
							
								 
							
						 
						
							
							
								
								vm: move factor_vm::untagged_object_size() to object::size()  
							
							
							
						 
						
							2009-10-20 13:13:39 -05:00  
				
					
						
							
							
								 
						
							
							
								d85d84697a 
								
							
								 
							
						 
						
							
							
								
								Change data heap alignment to 16 bytes  
							
							
							
						 
						
							2009-10-20 12:45:00 -05:00  
				
					
						
							
							
								 
						
							
							
								236588208b 
								
							
								 
							
						 
						
							
							
								
								vm: rename F to false_object, and rename T to true_object  
							
							
							
						 
						
							2009-10-18 20:26:21 -05:00  
				
					
						
							
							
								 
						
							
							
								c04412219b 
								
							
								 
							
						 
						
							
							
								
								vm: allocate stacks and data heap segments without execute permissions  
							
							
							
						 
						
							2009-10-16 05:16:12 -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  
				
					
						
							
							
								 
						
							
							
								95722adebc 
								
							
								 
							
						 
						
							
							
								
								vm: misc cleanups  
							
							
							
						 
						
							2009-10-09 03:20:50 -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