Slava Pestov
							
						 
						
							 
							
							
							
								
							
								651a7fb6fa 
								
							
								 
							
						 
						
							
							
								
								vm: replace generations array with individual instance variables referencing zone objects  
							
							 
							
							
							
						 
						
							2009-10-07 11:59:59 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3914b0264b 
								
							
								 
							
						 
						
							
							
								
								vm: rename a few things  
							
							 
							
							
							
						 
						
							2009-10-07 08:40:28 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5c774d8c84 
								
							
								 
							
						 
						
							
							
								
								vm: more code cleanups  
							
							 
							
							
							
						 
						
							2009-10-07 08:33:54 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1f76a64e91 
								
							
								 
							
						 
						
							
							
								
								vm: more refactoring  
							
							 
							
							
							
						 
						
							2009-10-06 20:45:47 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6789a40fc6 
								
							
								 
							
						 
						
							
							
								
								vm: refactor forwarding pointer logic  
							
							 
							
							
							
						 
						
							2009-10-06 19:15:54 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								93d49428fb 
								
							
								 
							
						 
						
							
							
								
								vm: simplify some code  
							
							 
							
							
							
						 
						
							2009-10-06 08:55:42 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2311891910 
								
							
								 
							
						 
						
							
							
								
								vm: faster zone::contains_p()  
							
							 
							
							
							
						 
						
							2009-10-06 06:47:56 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8fcd6a3789 
								
							
								 
							
						 
						
							
							
								
								vm: simplify logic  
							
							 
							
							
							
						 
						
							2009-10-06 06:36:43 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								16c3251072 
								
							
								 
							
						 
						
							
							
								
								vm: free up a cell in compiled code block headers  
							
							 
							
							
							
						 
						
							2009-10-06 05:52:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2ca0044dd0 
								
							
								 
							
						 
						
							
							
								
								vm: tweak  
							
							 
							
							
							
						 
						
							2009-10-06 04:57:44 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d10e27149c 
								
							
								 
							
						 
						
							
							
								
								vm: cleanup  
							
							 
							
							
							
						 
						
							2009-10-06 01:42:17 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e2fcec6a99 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into new_gc  
							
							 
							
							
							
						 
						
							2009-10-06 01:31:50 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								884ac79423 
								
							
								 
							
						 
						
							
							
								
								vm: minor tweaks which reduce image size by ~300kb  
							
							 
							
							
							
						 
						
							2009-10-06 01:31:39 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								47c735d81d 
								
							
								 
							
						 
						
							
							
								
								vm: more GC refactoring  
							
							 
							
							
							
						 
						
							2009-10-06 00:13:54 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bae2240f62 
								
							
								 
							
						 
						
							
							
								
								vm: refactoring garbage collector  
							
							 
							
							
							
						 
						
							2009-10-05 22:16:08 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								36c1fcdbe8 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'for-slava' of git://git.rfc1149.net/factor  
							
							 
							
							
							
						 
						
							2009-10-05 18:29:31 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b4e36608da 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: remove _gc instruction, it doesn't need to exist, and change GC checks to ensure that the right amount of space is available instead of blindly checking for 1Kb  
							
							 
							
							
							
						 
						
							2009-10-05 05:27:49 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								718cb8b579 
								
							
								 
							
						 
						
							
							
								
								vm: fix VM constructor  
							
							 
							
							
							
						 
						
							2009-10-05 04:31:35 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								95655c26b4 
								
							
								 
							
						 
						
							
							
								
								vm: remove debug message  
							
							 
							
							
							
						 
						
							2009-10-05 03:28:36 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6c047127ee 
								
							
								 
							
						 
						
							
							
								
								Change C++ exception usage back into a longjmp() due to GCC bugs  
							
							 
							
							
							
						 
						
							2009-10-05 03:27:28 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								77860bc95d 
								
							
								 
							
						 
						
							
							
								
								let's work with cygwin here..._ftelli64 -> ftello64 on cygwin.  fine i guess  
							
							 
							
							
							
						 
						
							2009-10-04 06:10:57 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								00efd780c9 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-10-03 18:27:38 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								11d55131de 
								
							
								 
							
						 
						
							
							
								
								add ftell primitive  
							
							 
							
							
							
						 
						
							2009-10-03 18:20:35 -05:00  
						
					 
				
					
						
							
							
								 
								Samuel Tardieu
							
						 
						
							 
							
							
							
								
							
								2bbad8d837 
								
							
								 
							
						 
						
							
							
								
								Remove two small memory leaks on Linux  
							
							 
							
							
							
						 
						
							2009-10-03 18:18:07 +02:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								24ba367ca0 
								
							
								 
							
						 
						
							
							
								
								vm.hpp: fix typo  
							
							 
							
							
							
						 
						
							2009-10-03 09:47:06 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								cfc8b06ac0 
								
							
								 
							
						 
						
							
							
								
								vm: cleanup in os-genunix.cpp  
							
							 
							
							
							
						 
						
							2009-10-02 20:36:19 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								f867a776d9 
								
							
								 
							
						 
						
							
							
								
								import std::tr1/boost ::unordered_map into the factor namespace instead of using #define  
							
							 
							
							
							
						 
						
							2009-10-02 11:13:27 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								b4ae77764c 
								
							
								 
							
						 
						
							
							
								
								don't leak startargs in start_standalone_factor_in_new_thread  
							
							 
							
							
							
						 
						
							2009-10-02 11:11:17 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								96df486753 
								
							
								 
							
						 
						
							
							
								
								vm: add assertions to tls_vm()  
							
							 
							
							
							
						 
						
							2009-10-02 09:37:04 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								805fea33cb 
								
							
								 
							
						 
						
							
							
								
								vm: fix register clobberage in PowerPC c_to_factor (untested)  
							
							 
							
							
							
						 
						
							2009-10-02 09:19:31 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								512bf8befa 
								
							
								 
							
						 
						
							
							
								
								vm: fix register clobberage in x86 c_to_factor  
							
							 
							
							
							
						 
						
							2009-10-02 09:12:09 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d86ba27577 
								
							
								 
							
						 
						
							
							
								
								vm: fix compile error with DEBUG=1  
							
							 
							
							
							
						 
						
							2009-10-02 03:30:02 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2c136d6536 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'reentrantvm' of git://github.com/phildawes/factor  
							
							 
							
							
							
						 
						
							2009-10-02 03:28:21 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								913408c2a3 
								
							
								 
							
						 
						
							
							
								
								vm: fix stack alignment in primitive_inline_cache_miss  
							
							 
							
							
							
						 
						
							2009-10-02 03:25:18 -05:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								ded33eda87 
								
							
								 
							
						 
						
							
							
								
								removed some superflous newlines  
							
							 
							
							
							
						 
						
							2009-10-01 07:33:16 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								70f25c71b9 
								
							
								 
							
						 
						
							
							
								
								calls dispatched as per multithreaded, but checked against singleton  
							
							 
							
							
							
						 
						
							2009-09-30 21:25:50 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								65bcd86c10 
								
							
								 
							
						 
						
							
							
								
								ppc asm to pass vm pointer: inline_cache_miss, set_callstack  
							
							 
							
							
							
						 
						
							2009-09-30 19:43:36 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								a73e6f20d4 
								
							
								 
							
						 
						
							
							
								
								ppc asm to pass vm pointer: overflow fns  
							
							 
							
							
							
						 
						
							2009-09-30 07:59:36 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								6fa0a93498 
								
							
								 
							
						 
						
							
							
								
								ppc asm to pass vm pointer: initial bootstrap  
							
							 
							
							
							
						 
						
							2009-09-28 07:48:37 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								3a88d8c49e 
								
							
								 
							
						 
						
							
							
								
								inlineimpl.hpp is toast  
							
							 
							
							
							
						 
						
							2009-09-29 19:53:10 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								b6718641dc 
								
							
								 
							
						 
						
							
							
								
								Converted some callback fns to use member-fn pointers  
							
							 
							
							
							
						 
						
							2009-09-28 19:45:10 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								791d654f92 
								
							
								 
							
						 
						
							
							
								
								moved local_roots and write_barrier stuff out of inlineimpls.hpp  
							
							 
							
							
							
						 
						
							2009-09-28 19:02:51 +01:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								dbc1411a6a 
								
							
								 
							
						 
						
							
							
								
								removed vm-data.hpp  
							
							 
							
							
							
						 
						
							2009-09-27 20:09:09 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								9b7412b8f8 
								
							
								 
							
						 
						
							
							
								
								Moved PRIMITIVE and PRIMITIVE_FORWARDs to primitives.[ch]pp  
							
							 
							
							
							
						 
						
							2009-09-27 19:42:18 +01:00