c4fa0c2507 
								
							
								 
							
						 
						
							
							
								
								vm: fep g command prints addresses in h hex for readability  
							
							
							
						 
						
							2010-09-09 20:36:50 -07:00  
				
					
						
							
							
								 
						
							
							
								14de58b73c 
								
							
								 
							
						 
						
							
							
								
								vm: remove some mixed use of stdio/iostream. when monotonic timer decreases, log old and new values  
							
							
							
						 
						
							2010-08-01 16:14:20 -07:00  
				
					
						
							
							
								 
						
							
							
								a9ccfa8f05 
								
							
								 
							
						 
						
							
							
								
								strings: move string-nth primitive out of the VM and into the library  
							
							
							
						 
						
							2010-05-03 17:34:12 -04:00  
				
					
						
							
							
								 
						
							
							
								560c119cd2 
								
							
								 
							
						 
						
							
							
								
								vm: actually use context callstacks when running code  
							
							
							
						 
						
							2010-03-26 22:44:43 -04:00  
				
					
						
							
							
								 
						
							
							
								bb2f455747 
								
							
								 
							
						 
						
							
							
								
								Save images to a temporary file first, then call MOVE_FILE to avoid writing incomplete and truncated images.  
							
							
							
						 
						
							2010-01-22 12:59:20 -06: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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								d49c86ba11 
								
							
								 
							
						 
						
							
							
								
								vm: Clean up more code duplication and rename a few methods  
							
							
							
						 
						
							2009-12-02 01:17:30 -06:00  
				
					
						
							
							
								 
						
							
							
								c2b3d6b894 
								
							
								 
							
						 
						
							
							
								
								vm: fix fencepost error in write barrier on large object allocation; fixes benchmark.sort crash  
							
							
							
						 
						
							2009-11-11 19:31:18 -06:00  
				
					
						
							
							
								 
						
							
							
								064c00f78d 
								
							
								 
							
						 
						
							
							
								
								New identity-hashcode primitive  
							
							
							
						 
						
							2009-11-10 21:18:54 -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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								810e309e0c 
								
							
								 
							
						 
						
							
							
								
								vm: rename userenv to special_objects  
							
							
							
						 
						
							2009-10-23 00:33:53 -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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								464aac14cf 
								
							
								 
							
						 
						
							
							
								
								vm: working on new compaction implementation  
							
							
							
						 
						
							2009-10-19 00:07:43 -05:00  
				
					
						
							
							
								 
						
							
							
								a81f757a62 
								
							
								 
							
						 
						
							
							
								
								vm: fix conflict in image.cpp  
							
							
							
						 
						
							2009-10-18 20:54:13 -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  
				
					
						
							
							
								 
						
							
							
								69f9c80b5b 
								
							
								 
							
						 
						
							
							
								
								vm: code heap: move mark bits to a separate bitmap  
							
							
							
						 
						
							2009-10-16 14:41:40 -05:00  
				
					
						
							
							
								 
						
							
							
								107c96f642 
								
							
								 
							
						 
						
							
							
								
								vm: code heap compaction at runtime using compact-gc primitive  
							
							
							
						 
						
							2009-10-16 11:39:35 -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  
				
					
						
							
							
								 
						
							
							
								0bb6327688 
								
							
								 
							
						 
						
							
							
								
								fix compiler warnings in vm  
							
							
							
						 
						
							2009-10-15 21:37:53 -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  
				
					
						
							
							
								 
						
							
							
								0bf31e42e6 
								
							
								 
							
						 
						
							
							
								
								vm: refactoring card logic a bit  
							
							
							
						 
						
							2009-10-09 11:16:18 -05:00  
				
					
						
							
							
								 
						
							
							
								651a7fb6fa 
								
							
								 
							
						 
						
							
							
								
								vm: replace generations array with individual instance variables referencing zone objects  
							
							
							
						 
						
							2009-10-07 11:59:59 -05:00  
				
					
						
							
							
								 
						
							
							
								16c3251072 
								
							
								 
							
						 
						
							
							
								
								vm: free up a cell in compiled code block headers  
							
							
							
						 
						
							2009-10-06 05:52:45 -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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								9b7412b8f8 
								
							
								 
							
						 
						
							
							
								
								Moved PRIMITIVE and PRIMITIVE_FORWARDs to primitives.[ch]pp  
							
							
							
						 
						
							2009-09-27 19:42:18 +01:00  
				
					
						
							
							
								 
						
							
							
								c046ff4b23 
								
							
								 
							
						 
						
							
							
								
								vm: make heap data-type object-oriented  
							
							
							
						 
						
							2009-09-25 20:32:00 -05:00  
				
					
						
							
							
								 
						
							
							
								6b7717bf37 
								
							
								 
							
						 
						
							
							
								
								forwarding functions replaced with PRIMITIVE_FORWARD() macro  
							
							
							
						 
						
							2009-09-25 20:43:01 +01:00  
				
					
						
							
							
								 
						
							
							
								83b0769eef 
								
							
								 
							
						 
						
							
							
								
								renamed factorvm to factor_vm  
							
							
							
						 
						
							2009-09-24 08:16:52 +01:00  
				
					
						
							
							
								 
						
							
							
								e566656e46 
								
							
								 
							
						 
						
							
							
								
								removed a bunch of superflous blank lines  
							
							
							
						 
						
							2009-09-24 08:02:14 +01:00  
				
					
						
							
							
								 
						
							
							
								e3ac531fdb 
								
							
								 
							
						 
						
							
							
								
								renamed vmprim_ to primitive_  
							
							
							
						 
						
							2009-09-24 08:02:13 +01:00  
				
					
						
							
							
								 
						
							
							
								5a0c4d18aa 
								
							
								 
							
						 
						
							
							
								
								removed global functions from debug.cpp  
							
							
							
						 
						
							2009-09-16 08:16:27 +01:00  
				
					
						
							
							
								 
						
							
							
								d5da6a3d58 
								
							
								 
							
						 
						
							
							
								
								Dev checkpoint  
							
							
							
						 
						
							2009-09-16 08:16:25 +01:00  
				
					
						
							
							
								 
						
							
							
								c506abc6cd 
								
							
								 
							
						 
						
							
							
								
								moved global state from debug into vm  
							
							
							
						 
						
							2009-09-16 08:16:24 +01:00  
				
					
						
							
							
								 
						
							
							
								13e0ae6d97 
								
							
								 
							
						 
						
							
							
								
								moved debug functions into vm struct  
							
							
							
						 
						
							2009-09-16 08:16:19 +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  
				
					
						
							
							
								 
						
							
							
								91e5c05f40 
								
							
								 
							
						 
						
							
							
								
								debug.cpp: fep now prints return addresses in call stack dump  
							
							
							
						 
						
							2009-07-29 19:28:58 -05: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  
				
					
						
							
							
								 
						
							
							
								53db9d737a 
								
							
								 
							
						 
						
							
							
								
								Change (void) to ()  
							
							
							
						 
						
							2009-05-05 11:33:35 -05:00