f791c8c5d2 
								
							
								 
							
						 
						
							
							
								
								Squashed commit of the following:  
							
							... 
							
							
							
							commit 197dbe9a6733775ac0ea19b3da4bd4dc3c85418c
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Sat Sep 18 19:01:38 2010 -0500
    Fix bootstrap, move privileges to windows.privileges
commit 521c622f8afb15bf42d263c738cb990560dc29cb
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Sat Sep 18 18:26:30 2010 -0500
    Hopefully fix bootstrap
commit eb3f22928b59758b9505430034044b5b94705da2
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Sat Sep 18 18:19:05 2010 -0500
    Remove wince from factor codebase
commit 619d6c99415f46208a7ede6a04b0ccda46b15360
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Sat Sep 18 16:07:46 2010 -0500
    Remove Windows CE from vm/ 
							
						 
						
							2010-09-19 19:13:25 -05:00  
				
					
						
							
							
								 
						
							
							
								b23aac1beb 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: open-code parameter boxing and unboxing for certain C types  
							
							
							
						 
						
							2010-07-19 10:25:13 -04:00  
				
					
						
							
							
								 
						
							
							
								e5e51c40a1 
								
							
								 
							
						 
						
							
							
								
								vm: implement frame-based SEH for 64-bit Windows  
							
							
							
						 
						
							2010-04-08 10:32:14 -07: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  
				
					
						
							
							
								 
						
							
							
								3259ef4bec 
								
							
								 
							
						 
						
							
							
								
								vm: modify-code-heap primitive now takes a pair of parameters, update-existing? and reset-pics?. If no generic words were changed, PICs do not need to be reset. If no existing words were redefined, the code heap doesn't have to be traced at all. Speeds up compilation of PEGs since those create lots of compilation units  
							
							
							
						 
						
							2010-02-03 23:11:28 +13:00  
				
					
						
							
							
								 
						
							
							
								637a77c018 
								
							
								 
							
						 
						
							
							
								
								Stop wearing monocle and use the term "entry point" instead of "XT" throughout VM and compiler; also remove two unused relocation types  
							
							
							
						 
						
							2010-01-18 20:54:00 +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  
				
					
						
							
							
								 
						
							
							
								1454e534fe 
								
							
								 
							
						 
						
							
							
								
								fix a couple of warnings on win64  
							
							
							
						 
						
							2009-12-13 20:00:02 -06:00  
				
					
						
							
							
								 
						
							
							
								066d2836ca 
								
							
								 
							
						 
						
							
							
								
								Get modify-code-heap working if stack traces are stripped (but then it won't update existing code blocks), and rename code_heap::code_heap_free() to code_heap::free()  
							
							
							
						 
						
							2009-12-02 05:27:48 -06:00  
				
					
						
							
							
								 
						
							
							
								68c09f0e93 
								
							
								 
							
						 
						
							
							
								
								Split literal table into literal and parameter tables, literal table is discarded after code block initialization  
							
							
							
						 
						
							2009-12-02 04:28:15 -06:00  
				
					
						
							
							
								 
						
							
							
								c6602bda27 
								
							
								 
							
						 
						
							
							
								
								Big cleanup of literal table and relocation-related code  
							
							... 
							
							
							
							- new way to iterate over instruction_operands cleans up relocation code
- move some methods out of the VM class to clean up code
- if debugging is on, die earlier if attempting to allocate inside GC
- callback heap entries are now code_blocks
- replace block_granularity with data_alignment 
							
						 
						
							2009-12-02 00:48:41 -06:00  
				
					
						
							
							
								 
						
							
							
								bd02eef38e 
								
							
								 
							
						 
						
							
							
								
								Fix non-tail recursive inline recursive compilation  
							
							
							
						 
						
							2009-11-25 19:12:09 -06:00  
				
					
						
							
							
								 
						
							
							
								4ebaf956c3 
								
							
								 
							
						 
						
							
							
								
								vm: non-optimizing compiler now compiles word definition quotations with the owner set to the word object  
							
							
							
						 
						
							2009-11-24 22:44:04 -06:00  
				
					
						
							
							
								 
						
							
							
								bfd4cce364 
								
							
								 
							
						 
						
							
							
								
								vm: compaction now updates the needs_fixup set  
							
							
							
						 
						
							2009-11-24 19:29:59 -06:00  
				
					
						
							
							
								 
						
							
							
								001a3f2847 
								
							
								 
							
						 
						
							
							
								
								vm: mark sweep now traces code block references; rename embedded_pointer to instruction_operand  
							
							
							
						 
						
							2009-11-23 19:17:12 -06:00  
				
					
						
							
							
								 
						
							
							
								18a2ce1f8c 
								
							
								 
							
						 
						
							
							
								
								vm: remove some dead code  
							
							
							
						 
						
							2009-11-05 19:32:26 -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  
				
					
						
							
							
								 
						
							
							
								6c2c87758a 
								
							
								 
							
						 
						
							
							
								
								vm: rename gc_root to data_root, add code_root to fix a problem where code blocks would move underneath the PIC compiler if PIC compiler allocated enough  
							
							
							
						 
						
							2009-11-02 18:10:34 -06: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  
				
					
						
							
							
								 
						
							
							
								91cec17e52 
								
							
								 
							
						 
						
							
							
								
								vm: get GC events working, -verbosegc switch now produces more info  
							
							
							
						 
						
							2009-10-26 23:57:26 -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  
				
					
						
							
							
								 
						
							
							
								fae27fb361 
								
							
								 
							
						 
						
							
							
								
								vm: make some more ctors explicit just for kicks  
							
							
							
						 
						
							2009-10-24 23:02:58 -05:00  
				
					
						
							
							
								 
						
							
							
								62e718eaa9 
								
							
								 
							
						 
						
							
							
								
								vm: combine heap_block and code_block structs, eliminates some boilerplate  
							
							
							
						 
						
							2009-10-24 21:33:31 -05:00  
				
					
						
							
							
								 
						
							
							
								29a27cfde4 
								
							
								 
							
						 
						
							
							
								
								vm: data heap compaction work in progress  
							
							
							
						 
						
							2009-10-24 04:18:33 -05:00  
				
					
						
							
							
								 
						
							
							
								fd1e992e7d 
								
							
								 
							
						 
						
							
							
								
								vm: factor out code that visits object slots and code heap blocks into slot_visitor and code_block_visitor  
							
							
							
						 
						
							2009-10-24 03:54:53 -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  
				
					
						
							
							
								 
						
							
							
								acdcb181e0 
								
							
								 
							
						 
						
							
							
								
								vm: working on making heap more generic  
							
							
							
						 
						
							2009-10-20 10:22:06 -05:00  
				
					
						
							
							
								 
						
							
							
								838a44e901 
								
							
								 
							
						 
						
							
							
								
								vm: change code heap layout somewhat, remove unused allocation bitmap from mark_bits  
							
							
							
						 
						
							2009-10-20 09:37:24 -05:00  
				
					
						
							
							
								 
						
							
							
								4ddd63d83e 
								
							
								 
							
						 
						
							
							
								
								vm: move compaction algorithm to mark_bits.hpp since it doesn't rely on properties of heaps per se  
							
							
							
						 
						
							2009-10-19 03:05:20 -05:00  
				
					
						
							
							
								 
						
							
							
								ac25b8ebbb 
								
							
								 
							
						 
						
							
							
								
								vm: new mark_bits data structure replaces hashtable when compacting code heap  
							
							
							
						 
						
							2009-10-19 02:21:11 -05:00  
				
					
						
							
							
								 
						
							
							
								464aac14cf 
								
							
								 
							
						 
						
							
							
								
								vm: working on new compaction implementation  
							
							
							
						 
						
							2009-10-19 00:07:43 -05:00  
				
					
						
							
							
								 
						
							
							
								2e65366c6b 
								
							
								 
							
						 
						
							
							
								
								vm: rename myvm and parent_vm instance variables to parent, clean up casts in primitive definitions  
							
							
							
						 
						
							2009-10-18 20:31:59 -05:00  
				
					
						
							
							
								 
						
							
							
								236588208b 
								
							
								 
							
						 
						
							
							
								
								vm: rename F to false_object, and rename T to true_object  
							
							
							
						 
						
							2009-10-18 20:26:21 -05:00  
				
					
						
							
							
								 
						
							
							
								107c96f642 
								
							
								 
							
						 
						
							
							
								
								vm: code heap compaction at runtime using compact-gc primitive  
							
							
							
						 
						
							2009-10-16 11:39:35 -05:00  
				
					
						
							
							
								 
						
							
							
								c04412219b 
								
							
								 
							
						 
						
							
							
								
								vm: allocate stacks and data heap segments without execute permissions  
							
							
							
						 
						
							2009-10-16 05:16:12 -05:00  
				
					
						
							
							
								 
						
							
							
								85b746e7b5 
								
							
								 
							
						 
						
							
							
								
								vm: simpler and more efficient code heap compaction; restructure a few things to get ready for runtime code heap compaction  
							
							
							
						 
						
							2009-10-16 04:33:35 -05:00  
				
					
						
							
							
								 
						
							
							
								0a3d08bc52 
								
							
								 
							
						 
						
							
							
								
								vm: make the code nice and pretty  
							
							
							
						 
						
							2009-10-16 02:55:02 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								21f55ab1a3 
								
							
								 
							
						 
						
							
							
								
								vm: more efficient code heap remembered set  
							
							
							
						 
						
							2009-10-08 23:10:32 -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  
				
					
						
							
							
								 
						
							
							
								697e2342d0 
								
							
								 
							
						 
						
							
							
								
								vm: put code block owner directly in the header, instead of as the first entry in the literal table. Reduces x86-64 image size by ~700kb, also eliminates separate 'strip' set of staging images from deploy tool  
							
							
							
						 
						
							2009-10-06 06:25:07 -05:00  
				
					
						
							
							
								 
						
							
							
								16c3251072 
								
							
								 
							
						 
						
							
							
								
								vm: free up a cell in compiled code block headers  
							
							
							
						 
						
							2009-10-06 05:52:45 -05:00  
				
					
						
							
							
								 
						
							
							
								ed1ee19ce1 
								
							
								 
							
						 
						
							
							
								
								vm: add a remembered set for code blocks which may reference young literals. Improves loading time  
							
							
							
						 
						
							2009-10-06 04:36:34 -05:00  
				
					
						
							
							
								 
						
							
							
								d10e27149c 
								
							
								 
							
						 
						
							
							
								
								vm: cleanup  
							
							
							
						 
						
							2009-10-06 01:42:17 -05:00