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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								349cb41a29 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'reentrantvm' of git://github.com/phildawes/factor  
							
							
							
						 
						
							2009-10-16 03:52:35 -05:00  
				
					
						
							
							
								 
						
							
							
								0a3d08bc52 
								
							
								 
							
						 
						
							
							
								
								vm: make the code nice and pretty  
							
							
							
						 
						
							2009-10-16 02:55:02 -05:00  
				
					
						
							
							
								 
						
							
							
								70dcecf61a 
								
							
								 
							
						 
						
							
							
								
								vm: don't flush instruction cache twice per code block on a major GC on PowerPC  
							
							
							
						 
						
							2009-10-15 22:31:41 -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  
				
					
						
							
							
								 
						
							
							
								7fef05fd76 
								
							
								 
							
						 
						
							
							
								
								Removed VM_PTR macros. All builds reentrant by default  
							
							
							
						 
						
							2009-10-14 19:14:57 +01:00  
				
					
						
							
							
								 
						
							
							
								ae90ebe3be 
								
							
								 
							
						 
						
							
							
								
								vm: faster write barrier for non-optimized code  
							
							
							
						 
						
							2009-10-14 06:13:51 -05:00  
				
					
						
							
							
								 
						
							
							
								1ce39963fd 
								
							
								 
							
						 
						
							
							
								
								Working on adding support for the new write barrier to optimized code  
							
							
							
						 
						
							2009-10-14 02:06:01 -05:00  
				
					
						
							
							
								 
						
							
							
								d689be57a5 
								
							
								 
							
						 
						
							
							
								
								vm: new card marking implementation supports marking partial objects  
							
							
							
						 
						
							2009-10-13 21:16:04 -05:00  
				
					
						
							
							
								 
						
							
							
								ab9b462411 
								
							
								 
							
						 
						
							
							
								
								vm: build fix  
							
							
							
						 
						
							2009-10-09 05:12:28 -05:00  
				
					
						
							
							
								 
						
							
							
								95722adebc 
								
							
								 
							
						 
						
							
							
								
								vm: misc cleanups  
							
							
							
						 
						
							2009-10-09 03:20:50 -05:00  
				
					
						
							
							
								 
						
							
							
								21f55ab1a3 
								
							
								 
							
						 
						
							
							
								
								vm: more efficient code heap remembered set  
							
							
							
						 
						
							2009-10-08 23:10:32 -05:00  
				
					
						
							
							
								 
						
							
							
								dbf0dd4a2d 
								
							
								 
							
						 
						
							
							
								
								vm: split off parts of data_gc into sub-files and clean up logic  
							
							
							
						 
						
							2009-10-08 02:10:28 -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  
				
					
						
							
							
								 
						
							
							
								3914b0264b 
								
							
								 
							
						 
						
							
							
								
								vm: rename a few things  
							
							
							
						 
						
							2009-10-07 08:40:28 -05:00  
				
					
						
							
							
								 
						
							
							
								5c774d8c84 
								
							
								 
							
						 
						
							
							
								
								vm: more code cleanups  
							
							
							
						 
						
							2009-10-07 08:33:54 -05:00  
				
					
						
							
							
								 
						
							
							
								1f76a64e91 
								
							
								 
							
						 
						
							
							
								
								vm: more refactoring  
							
							
							
						 
						
							2009-10-06 20:45:47 -05:00  
				
					
						
							
							
								 
						
							
							
								6789a40fc6 
								
							
								 
							
						 
						
							
							
								
								vm: refactor forwarding pointer logic  
							
							
							
						 
						
							2009-10-06 19:15:54 -05:00  
				
					
						
							
							
								 
						
							
							
								93d49428fb 
								
							
								 
							
						 
						
							
							
								
								vm: simplify some code  
							
							
							
						 
						
							2009-10-06 08:55:42 -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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								d10e27149c 
								
							
								 
							
						 
						
							
							
								
								vm: cleanup  
							
							
							
						 
						
							2009-10-06 01:42:17 -05:00  
				
					
						
							
							
								 
						
							
							
								47c735d81d 
								
							
								 
							
						 
						
							
							
								
								vm: more GC refactoring  
							
							
							
						 
						
							2009-10-06 00:13:54 -05:00  
				
					
						
							
							
								 
						
							
							
								bae2240f62 
								
							
								 
							
						 
						
							
							
								
								vm: refactoring garbage collector  
							
							
							
						 
						
							2009-10-05 22:16:08 -05:00  
				
					
						
							
							
								 
						
							
							
								6c047127ee 
								
							
								 
							
						 
						
							
							
								
								Change C++ exception usage back into a longjmp() due to GCC bugs  
							
							
							
						 
						
							2009-10-05 03:27:28 -05:00  
				
					
						
							
							
								 
						
							
							
								00efd780c9 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							
							
						 
						
							2009-10-03 18:27:38 -05:00  
				
					
						
							
							
								 
						
							
							
								11d55131de 
								
							
								 
							
						 
						
							
							
								
								add ftell primitive  
							
							
							
						 
						
							2009-10-03 18:20:35 -05:00  
				
					
						
							
							
								 
						
							
							
								24ba367ca0 
								
							
								 
							
						 
						
							
							
								
								vm.hpp: fix typo  
							
							
							
						 
						
							2009-10-03 09:47:06 -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  
				
					
						
							
							
								 
						
							
							
								70f25c71b9 
								
							
								 
							
						 
						
							
							
								
								calls dispatched as per multithreaded, but checked against singleton  
							
							
							
						 
						
							2009-09-30 21:25:50 +01:00  
				
					
						
							
							
								 
						
							
							
								3a88d8c49e 
								
							
								 
							
						 
						
							
							
								
								inlineimpl.hpp is toast  
							
							
							
						 
						
							2009-09-29 19:53:10 +01:00  
				
					
						
							
							
								 
						
							
							
								b6718641dc 
								
							
								 
							
						 
						
							
							
								
								Converted some callback fns to use member-fn pointers  
							
							
							
						 
						
							2009-09-28 19:45:10 +01:00  
				
					
						
							
							
								 
						
							
							
								791d654f92 
								
							
								 
							
						 
						
							
							
								
								moved local_roots and write_barrier stuff out of inlineimpls.hpp  
							
							
							
						 
						
							2009-09-28 19:02:51 +01:00  
				
					
						
							
							
								 
						
							
							
								dbc1411a6a 
								
							
								 
							
						 
						
							
							
								
								removed vm-data.hpp  
							
							
							
						 
						
							2009-09-27 20:09:09 +01:00  
				
					
						
							
							
								 
						
							
							
								9b7412b8f8 
								
							
								 
							
						 
						
							
							
								
								Moved PRIMITIVE and PRIMITIVE_FORWARDs to primitives.[ch]pp  
							
							
							
						 
						
							2009-09-27 19:42:18 +01:00  
				
					
						
							
							
								 
						
							
							
								ab8c6e9978 
								
							
								 
							
						 
						
							
							
								
								Word hashcodes are now computed from the word's name/vocabulary, removing a source of non-determinism  
							
							
							
						 
						
							2009-09-27 21:09:11 -05:00  
				
					
						
							
							
								 
						
							
							
								6578bd0533 
								
							
								 
							
						 
						
							
							
								
								vm: fix windows compilation (untested)  
							
							
							
						 
						
							2009-09-26 02:41:01 -05: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  
				
					
						
							
							
								 
						
							
							
								c046ff4b23 
								
							
								 
							
						 
						
							
							
								
								vm: make heap data-type object-oriented  
							
							
							
						 
						
							2009-09-25 20:32:00 -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  
				
					
						
							
							
								 
						
							
							
								e3ac531fdb 
								
							
								 
							
						 
						
							
							
								
								renamed vmprim_ to primitive_  
							
							
							
						 
						
							2009-09-24 08:02:13 +01:00  
				
					
						
							
							
								 
						
							
							
								d2afb4b344 
								
							
								 
							
						 
						
							
							
								
								put mach call_fault_handler in the vm  
							
							
							
						 
						
							2009-09-16 08:22:18 +01:00