24c3ddbbde 
								
							
								 
							
						 
						
							
							
								
								Clean up startup/shutdown hook code  
							
							
							
						 
						
							2009-11-20 00:57:49 -06:00  
				
					
						
							
							
								 
						
							
							
								6f7ec206a1 
								
							
								 
							
						 
						
							
							
								
								rename millis to system-millis, micros to system-micros, add nano-count  
							
							
							
						 
						
							2009-11-18 15:58:48 -06:00  
				
					
						
							
							
								 
						
							
							
								51e21a6aa8 
								
							
								 
							
						 
						
							
							
								
								update vm for startup branch  
							
							
							
						 
						
							2009-11-15 02:53:02 -06:00  
				
					
						
							
							
								 
						
							
							
								cc194416f9 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into startup  
							
							... 
							
							
							
							Conflicts:
	core/bootstrap/primitives.factor
	vm/run.hpp 
							
						 
						
							2009-11-15 02:52:50 -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  
				
					
						
							
							
								 
						
							
							
								5ae40e26ee 
								
							
								 
							
						 
						
							
							
								
								vm: remove promotion strategy, clean up compaction code  
							
							
							
						 
						
							2009-11-01 03:47:09 -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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								7d8c85443e 
								
							
								 
							
						 
						
							
							
								
								vm: vm: fix large object allocation logic and change default heap image size for 2009  
							
							
							
						 
						
							2009-10-25 13:27:40 -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  
				
					
						
							
							
								 
						
							
							
								f0816d72f1 
								
							
								 
							
						 
						
							
							
								
								vm: split off free_list_allocator from heap class, rename zone to bump_allocator  
							
							
							
						 
						
							2009-10-20 15:26:11 -05:00  
				
					
						
							
							
								 
						
							
							
								110b310c54 
								
							
								 
							
						 
						
							
							
								
								the exit primitive is now called (exit) and exit calls shutdown hooks.  
							
							... 
							
							
							
							add a stop_factor function to the vm to allow calling the shutdown quotation 
							
						 
						
							2009-10-20 00:28:18 -04:00  
				
					
						
							
							
								 
						
							
							
								ac25b8ebbb 
								
							
								 
							
						 
						
							
							
								
								vm: new mark_bits data structure replaces hashtable when compacting code heap  
							
							
							
						 
						
							2009-10-19 02:21:11 -05:00  
				
					
						
							
							
								 
						
							
							
								236588208b 
								
							
								 
							
						 
						
							
							
								
								vm: rename F to false_object, and rename T to true_object  
							
							
							
						 
						
							2009-10-18 20:26:21 -05:00  
				
					
						
							
							
								 
						
							
							
								a955a12aa7 
								
							
								 
							
						 
						
							
							
								
								vm: fix compile errors on some gcc versions  
							
							
							
						 
						
							2009-10-16 12:13:43 -05:00  
				
					
						
							
							
								 
						
							
							
								107c96f642 
								
							
								 
							
						 
						
							
							
								
								vm: code heap compaction at runtime using compact-gc primitive  
							
							
							
						 
						
							2009-10-16 11:39:35 -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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								718cb8b579 
								
							
								 
							
						 
						
							
							
								
								vm: fix VM constructor  
							
							
							
						 
						
							2009-10-05 04:31:35 -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  
				
					
						
							
							
								 
						
							
							
								435cd02200 
								
							
								 
							
						 
						
							
							
								
								keep a map of thread ids to vm pointers. use this to look up the correct VM to handle mach exceptions on os x  
							
							
							
						 
						
							2009-10-02 12:03:05 -05:00  
				
					
						
							
							
								 
						
							
							
								b4ae77764c 
								
							
								 
							
						 
						
							
							
								
								don't leak startargs in start_standalone_factor_in_new_thread  
							
							
							
						 
						
							2009-10-02 11:11:17 -05: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  
				
					
						
							
							
								 
						
							
							
								617a7cbd65 
								
							
								 
							
						 
						
							
							
								
								Added more init code to vm constructor.  
							
							... 
							
							
							
							Also removed dummy variables file as have fixed that problem now 
							
						 
						
							2009-09-16 08:22:18 +01:00  
				
					
						
							
							
								 
						
							
							
								eee1de23c8 
								
							
								 
							
						 
						
							
							
								
								removed debugging  
							
							
							
						 
						
							2009-09-16 08:22:16 +01:00  
				
					
						
							
							
								 
						
							
							
								e8d1612e8e 
								
							
								 
							
						 
						
							
							
								
								Split data out into separate vm-data struct  
							
							
							
						 
						
							2009-09-16 08:22:16 +01:00  
				
					
						
							
							
								 
						
							
							
								f4af39b60e 
								
							
								 
							
						 
						
							
							
								
								thread_id is a pthread_t on unix  
							
							
							
						 
						
							2009-09-16 08:20:51 +01:00  
				
					
						
							
							
								 
						
							
							
								3a3154797c 
								
							
								 
							
						 
						
							
							
								
								fixed stupid signal handler bug  
							
							
							
						 
						
							2009-09-16 08:20:50 +01:00  
				
					
						
							
							
								 
						
							
							
								ca16daa4b2 
								
							
								 
							
						 
						
							
							
								
								cleaned up code a bit, added multithreaded mode flags  
							
							
							
						 
						
							2009-09-16 08:20:50 +01:00  
				
					
						
							
							
								 
						
							
							
								3c139593c5 
								
							
								 
							
						 
						
							
							
								
								moved the thread stuff around a bit  
							
							
							
						 
						
							2009-09-16 08:20:49 +01:00  
				
					
						
							
							
								 
						
							
							
								6ddd3c654e 
								
							
								 
							
						 
						
							
							
								
								fixed up linux64 bootstrap (single threaded)  
							
							
							
						 
						
							2009-09-16 08:20:09 +01:00  
				
					
						
							
							
								 
						
							
							
								aa005c948f 
								
							
								 
							
						 
						
							
							
								
								win32 main starts factorvm in new thread  
							
							
							
						 
						
							2009-09-16 08:20:09 +01:00  
				
					
						
							
							
								 
						
							
							
								5c2a28173a 
								
							
								 
							
						 
						
							
							
								
								Start windows factor in a spawned thread (for testing)  
							
							
							
						 
						
							2009-09-16 08:20:09 +01:00  
				
					
						
							
							
								 
						
							
							
								9cac5e8aa9 
								
							
								 
							
						 
						
							
							
								
								added lookup_vm and removed last usage of vm from windows code  
							
							
							
						 
						
							2009-09-16 08:20:09 +01:00  
				
					
						
							
							
								 
						
							
							
								e2d246f371 
								
							
								 
							
						 
						
							
							
								
								removed most global functions from factor.cpp  
							
							
							
						 
						
							2009-09-16 08:17:27 +01:00  
				
					
						
							
							
								 
						
							
							
								0a15e20e12 
								
							
								 
							
						 
						
							
							
								
								Added basic win32 start-thread support  
							
							
							
						 
						
							2009-09-16 08:17:26 +01:00  
				
					
						
							
							
								 
						
							
							
								a2f14b5a6d 
								
							
								 
							
						 
						
							
							
								
								added vm member to gc_root and growable arrays  
							
							
							
						 
						
							2009-09-16 08:16:22 +01:00  
				
					
						
							
							
								 
						
							
							
								8fea98ad7a 
								
							
								 
							
						 
						
							
							
								
								factorvm initialised globally  
							
							
							
						 
						
							2009-09-16 08:16:21 +01:00  
				
					
						
							
							
								 
						
							
							
								f88eaa0df3 
								
							
								 
							
						 
						
							
							
								
								moved factor.cpp functions to vm  
							
							
							
						 
						
							2009-09-16 08:16:21 +01:00  
				
					
						
							
							
								 
						
							
							
								adf2529451 
								
							
								 
							
						 
						
							
							
								
								added vm singleton  
							
							
							
						 
						
							2009-09-16 08:16:18 +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  
				
					
						
							
							
								 
						
							
							
								53db9d737a 
								
							
								 
							
						 
						
							
							
								
								Change (void) to ()  
							
							
							
						 
						
							2009-05-05 11:33:35 -05:00  
				
					
						
							
							
								 
						
							
							
								12de56c41e 
								
							
								 
							
						 
						
							
							
								
								Fix botched replace all in VM source, clean up image saving code, and fix save-image-and-exit to actually call (save-image-and-exit) instead of (save-image)  
							
							
							
						 
						
							2009-05-05 10:29:22 -05:00  
				
					
						
							
							
								 
						
							
							
								abf7912ae7 
								
							
								 
							
						 
						
							
							
								
								Cleanups  
							
							
							
						 
						
							2009-05-04 05:07:14 -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