Doug Coleman
							
						 
						
							 
							
							
							
								
							
								366ce2896f 
								
							
								 
							
						 
						
							
							
								
								Add callstack-bounds primitive to vm/ for use with javascriptcore library  
							
							 
							
							
							
						 
						
							2010-04-19 20:08:15 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								288090d993 
								
							
								 
							
						 
						
							
							
								
								math.parser: expose a format-float primitive for use by formatting vocabulary  
							
							 
							
							
							
						 
						
							2010-04-13 21:21:28 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								74640b7f71 
								
							
								 
							
						 
						
							
							
								
								Get green threads working on Windows  
							
							 
							
							... 
							
							
							
							- store stack base and limit in TIB
- set up a frame-based structured exception handler in each context's callstack
- boot.x86.32.image has now been replaced by boot.winnt-x86.32.image and boot.unix-x86.32.image 
							
						 
						
							2010-04-03 20:24:33 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0faa3bcf4a 
								
							
								 
							
						 
						
							
							
								
								vm: pre-allocate context alien  
							
							 
							
							
							
						 
						
							2010-04-02 00:02:21 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								fb2ecab614 
								
							
								 
							
						 
						
							
							
								
								threads: delete old contexts immediately instead of handing them off to a 'context recycler' thread  
							
							 
							
							
							
						 
						
							2010-03-30 21:47:48 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c7142e4281 
								
							
								 
							
						 
						
							
							
								
								threads: use context-switching primitives  
							
							 
							
							
							
						 
						
							2010-03-29 20:40:17 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								43b2e02534 
								
							
								 
							
						 
						
							
							
								
								vm: split up TLS code and add a dummy implementation for a dummy OS known as NetBSD  
							
							 
							
							
							
						 
						
							2010-03-29 02:23:21 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9ffe0a69d1 
								
							
								 
							
						 
						
							
							
								
								vm: use sigaltstack to handle callstack overflow properly  
							
							 
							
							
							
						 
						
							2010-03-28 11:37:28 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								11ddbc03a4 
								
							
								 
							
						 
						
							
							
								
								vm: signal handling cleanup  
							
							 
							
							
							
						 
						
							2010-03-27 07:33:28 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1717b8d0f7 
								
							
								 
							
						 
						
							
							
								
								Implement start-context and set-context primitives  
							
							 
							
							
							
						 
						
							2010-03-27 02:56:11 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								560c119cd2 
								
							
								 
							
						 
						
							
							
								
								vm: actually use context callstacks when running code  
							
							 
							
							
							
						 
						
							2010-03-26 22:44:43 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6aee6b3adc 
								
							
								 
							
						 
						
							
							
								
								Add context-specific special object table, generalizing catchstack_save and current_callback_save fields of context struct  
							
							 
							
							
							
						 
						
							2010-03-18 22:06:00 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								747974f4ae 
								
							
								 
							
						 
						
							
							
								
								vm: nuke unused (string>float) primitive  
							
							 
							
							
							
						 
						
							2010-02-08 08:16:56 +13:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								d22eb40360 
								
							
								 
							
						 
						
							
							
								
								Fix spaces that crept into vm/ cpp files  
							
							 
							
							
							
						 
						
							2010-02-06 01:06:26 -06:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								f72bcd3346 
								
							
								 
							
						 
						
							
							
								
								reorder functions in header file  
							
							 
							
							
							
						 
						
							2010-02-04 23:55:17 -06:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								06f02d1314 
								
							
								 
							
						 
						
							
							
								
								Refactor error handling in io.cpp.  Update image.cpp and header files for changes.  
							
							 
							
							
							
						 
						
							2010-02-04 23:53:54 -06:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								950eaed73a 
								
							
								 
							
						 
						
							
							
								
								Change the MOVE_FILE macro to a function named move_file  
							
							 
							
							
							
						 
						
							2010-02-03 15:12:13 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								942f6e0943 
								
							
								 
							
						 
						
							
							
								
								Update Win64 support  
							
							 
							
							
							
						 
						
							2010-01-25 15:39:34 +13:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								00328c85e0 
								
							
								 
							
						 
						
							
							
								
								vm: remove vm-ptr primitive  
							
							 
							
							
							
						 
						
							2010-01-20 17:06:49 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5606825e8b 
								
							
								 
							
						 
						
							
							
								
								vm: remove primitive table, non-optimizing compiler now looks up primitives with dlsym()  
							
							 
							
							
							
						 
						
							2010-01-19 20:00:33 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e4da687413 
								
							
								 
							
						 
						
							
							
								
								vm: Tweak Factor VM to compile with Microsoft Visual Studio on Windows, in addition to Mingw. Add an Nmakefile which can be used for this purpose. Rename Makefile to GNUmakefile.  
							
							 
							
							
							
						 
						
							2010-01-17 03:43:22 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c04fef10c7 
								
							
								 
							
						 
						
							
							
								
								vm: ensure that non-optimized calls to generic words which have not yet been compiled can still work  
							
							 
							
							
							
						 
						
							2010-01-06 23:49:14 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								47c6197799 
								
							
								 
							
						 
						
							
							
								
								Update x86-32 for assembly entry point changes  
							
							 
							
							
							
						 
						
							2010-01-06 17:55:20 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								36d2ac8921 
								
							
								 
							
						 
						
							
							
								
								vm: move c_to_factor, lazy_jit_compile_impl, throw_impl, set_callstack assembly routines into non-optimizing compiler for x86-64  
							
							 
							
							
							
						 
						
							2010-01-06 15:47:36 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ba5b90e063 
								
							
								 
							
						 
						
							
							
								
								Change how non-volatile register preservation is done in alien callbacks, with the aim of fixing callbacks on PowerPC, and to eventually eliminate assembly code from VM  
							
							 
							
							... 
							
							
							
							- Simplify calculation of offset in relocation table
- Open-code %alien-callback
- Remove magic_frame hack from context objects
- Move magical return instruction from optimizing compiler backend into callback entry stub 
							
						 
						
							2010-01-03 01:11:51 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								15eb8d1a0a 
								
							
								 
							
						 
						
							
							
								
								vm: remove VM_ASM_API  
							
							 
							
							
							
						 
						
							2009-12-24 01:37:24 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e96404327e 
								
							
								 
							
						 
						
							
							
								
								Get optimizing compiler working without global register variables in VM  
							
							 
							
							
							
						 
						
							2009-12-22 15:42:49 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								63edd20a55 
								
							
								 
							
						 
						
							
							
								
								vm: eliminating register variables work in progress. Works on x86-32 with non-optimizing compiler  
							
							 
							
							
							
						 
						
							2009-12-19 10:59:56 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								eb0a28aa54 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-12-15 07:21:17 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0a3c5f5ac6 
								
							
								 
							
						 
						
							
							
								
								vm: fep out if monotonic counter decreases  
							
							 
							
							
							
						 
						
							2009-12-14 01:09:04 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9963d265ba 
								
							
								 
							
						 
						
							
							
								
								vm: fix walker  
							
							 
							
							
							
						 
						
							2009-12-02 18:43:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								eb840dcf41 
								
							
								 
							
						 
						
							
							
								
								RT_HERE now takes its argument from the literal table rather than the parameter table, reducing image size further  
							
							 
							
							
							
						 
						
							2009-12-02 04:55:48 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d49c86ba11 
								
							
								 
							
						 
						
							
							
								
								vm: Clean up more code duplication and rename a few methods  
							
							 
							
							
							
						 
						
							2009-12-02 01:17:30 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d664507b36 
								
							
								 
							
						 
						
							
							
								
								vm: factor out common code between image loading and initial code block relocation  
							
							 
							
							
							
						 
						
							2009-12-02 00:54:16 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								260cc9e2ff 
								
							
								 
							
						 
						
							
							
								
								vm: growing heap no longer uses relocate_code_block()  
							
							 
							
							
							
						 
						
							2009-11-28 19:48:26 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								58c21a1a11 
								
							
								 
							
						 
						
							
							
								
								vm: new image relocation that doesn't use literal table  
							
							 
							
							
							
						 
						
							2009-11-27 17:05:08 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								77a877789a 
								
							
								 
							
						 
						
							
							
								
								vm: new implementation of modify-code-heap that doesn't use literal tables  
							
							 
							
							
							
						 
						
							2009-11-25 17:20:48 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								73e105bfc4 
								
							
								 
							
						 
						
							
							
								
								vm: flush icache after GC  
							
							 
							
							
							
						 
						
							2009-11-24 21:36:35 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bfd4cce364 
								
							
								 
							
						 
						
							
							
								
								vm: compaction now updates the needs_fixup set  
							
							 
							
							
							
						 
						
							2009-11-24 19:29:59 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								001a3f2847 
								
							
								 
							
						 
						
							
							
								
								vm: mark sweep now traces code block references; rename embedded_pointer to instruction_operand  
							
							 
							
							
							
						 
						
							2009-11-23 19:17:12 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b28619ce2f 
								
							
								 
							
						 
						
							
							
								
								vm: minor GC traces embedded pointers  
							
							 
							
							
							
						 
						
							2009-11-22 13:37:39 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								57fe0dea48 
								
							
								 
							
						 
						
							
							
								
								Fix conflict  
							
							 
							
							
							
						 
						
							2009-11-22 02:12:44 -06:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								bce084ac12 
								
							
								 
							
						 
						
							
							
								
								fix windows compile error  
							
							 
							
							
							
						 
						
							2009-11-20 04:21:21 -06:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								987602235e 
								
							
								 
							
						 
						
							
							
								
								remove sleep_micros, add sleeo_nanos to vm  
							
							 
							
							
							
						 
						
							2009-11-19 04:49:29 -06:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								6f7ec206a1 
								
							
								 
							
						 
						
							
							
								
								rename millis to system-millis, micros to system-micros, add nano-count  
							
							 
							
							
							
						 
						
							2009-11-18 15:58:48 -06:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								b4206f5252 
								
							
								 
							
						 
						
							
							
								
								initial commit to nanos branch to replace micros  
							
							 
							
							
							
						 
						
							2009-11-18 04:20:05 -06:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								cc194416f9 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into startup  
							
							 
							
							... 
							
							
							
							Conflicts:
	core/bootstrap/primitives.factor
	vm/run.hpp 
							
						 
						
							2009-11-15 02:52:50 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								86da8ebed9 
								
							
								 
							
						 
						
							
							
								
								Instead of bumping the definition counter every time in the VM, bump it only if stack effects changed or macros were redefined  
							
							 
							
							
							
						 
						
							2009-11-13 03:52:14 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								cba12eae37 
								
							
								 
							
						 
						
							
							
								
								Invalidate inline caches used by call( and execute( when words are redefined  
							
							 
							
							
							
						 
						
							2009-11-12 16:09:07 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c2b3d6b894 
								
							
								 
							
						 
						
							
							
								
								vm: fix fencepost error in write barrier on large object allocation; fixes benchmark.sort crash  
							
							 
							
							
							
						 
						
							2009-11-11 19:31:18 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2c8f67851e 
								
							
								 
							
						 
						
							
							
								
								vm: fix GC safety issue in callers of unbox_array_size(), and change how disable-gc-events works so that it doesn't make a byte array that's too large  
							
							 
							
							
							
						 
						
							2009-11-11 05:21:03 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2afd7ce244 
								
							
								 
							
						 
						
							
							
								
								Faster identity-hashcode primitive; fast path now opencoded by the compiler  
							
							 
							
							
							
						 
						
							2009-11-11 02:27:19 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								064c00f78d 
								
							
								 
							
						 
						
							
							
								
								New identity-hashcode primitive  
							
							 
							
							
							
						 
						
							2009-11-10 21:18:54 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								57c541ea46 
								
							
								 
							
						 
						
							
							
								
								vm: eliminating literal table work in progress  
							
							 
							
							
							
						 
						
							2009-11-07 16:16:09 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								11075828e5 
								
							
								 
							
						 
						
							
							
								
								vm: faster data_root and <array> primitive  
							
							 
							
							
							
						 
						
							2009-11-06 05:30:37 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e2107166ff 
								
							
								 
							
						 
						
							
							
								
								vm: restructure data_roots so that its a sequence of handle/len pairs rather than just handles, use it in inline_gc() and all_instances() so that we don't run out of heap while building the object array  
							
							 
							
							
							
						 
						
							2009-11-06 00:54:28 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								18a2ce1f8c 
								
							
								 
							
						 
						
							
							
								
								vm: remove some dead code  
							
							 
							
							
							
						 
						
							2009-11-05 19:32:26 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								72ab6ec548 
								
							
								 
							
						 
						
							
							
								
								vm: rewrite 'become' primitive so that it uses a slot visitor instead of GC  
							
							 
							
							
							
						 
						
							2009-11-05 19:03:51 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								47df580081 
								
							
								 
							
						 
						
							
							
								
								tools.time: overhaul  
							
							 
							
							
							
						 
						
							2009-11-05 01:07:59 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e1c365e69a 
								
							
								 
							
						 
						
							
							
								
								vm: fix issue with unnecessary heap growth  
							
							 
							
							
							
						 
						
							2009-11-03 22:25:22 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e4ad642134 
								
							
								 
							
						 
						
							
							
								
								vm: 4 bit tags, new representation of alien objects makes unbox-any-c-ptr more efficient (work in progress)  
							
							 
							
							
							
						 
						
							2009-11-02 04:25:54 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								882daae06c 
								
							
								 
							
						 
						
							
							
								
								vm: more sweep phase optimizations  
							
							 
							
							
							
						 
						
							2009-11-01 04:40:15 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5ae40e26ee 
								
							
								 
							
						 
						
							
							
								
								vm: remove promotion strategy, clean up compaction code  
							
							 
							
							
							
						 
						
							2009-11-01 03:47:09 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b2ba465bcd 
								
							
								 
							
						 
						
							
							
								
								Merge optimizations from master branch  
							
							 
							
							
							
						 
						
							2009-10-31 03:02:19 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b202371d62 
								
							
								 
							
						 
						
							
							
								
								vm: faster tuple allocation primitives  
							
							 
							
							
							
						 
						
							2009-10-31 02:58:00 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								793d0606f6 
								
							
								 
							
						 
						
							
							
								
								vm: various minor optimizations speeding up gc0 and dispatch1 benchmarks, as well as bootstrap  
							
							 
							
							... 
							
							
							
							- make allot_object() inline, move slow case to allot_large_object()
- reduce number of conditional branches in megamorphic cache miss handler
- make unbox_array_size() inline, move slow case to unbox_array_size_slow()
- new memset_cell() function uses memset_pattern4/8() on Mac OS X 
							
						 
						
							2009-10-31 02:30:48 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a1aac42786 
								
							
								 
							
						 
						
							
							
								
								vm: clean up gc events, remove -verbosegc switch, fix compaction bug  
							
							 
							
							
							
						 
						
							2009-10-27 21:31:28 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c30df42e48 
								
							
								 
							
						 
						
							
							
								
								vm: make compaction its own gc_op  
							
							 
							
							
							
						 
						
							2009-10-25 14:02:14 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b7181d14a8 
								
							
								 
							
						 
						
							
							
								
								vm: debugging compaction  
							
							 
							
							
							
						 
						
							2009-10-25 08:07:21 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								62e718eaa9 
								
							
								 
							
						 
						
							
							
								
								vm: combine heap_block and code_block structs, eliminates some boilerplate  
							
							 
							
							
							
						 
						
							2009-10-24 21:33:31 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d855593f1f 
								
							
								 
							
						 
						
							
							
								
								vm: clean up code heap visitor  
							
							 
							
							
							
						 
						
							2009-10-24 04:36:29 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								03f4b4cdd6 
								
							
								 
							
						 
						
							
							
								
								vm: move binary_payload_start() method from factor_vm to object class  
							
							 
							
							
							
						 
						
							2009-10-24 04:27:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								29a27cfde4 
								
							
								 
							
						 
						
							
							
								
								vm: data heap compaction work in progress  
							
							 
							
							
							
						 
						
							2009-10-24 04:18:33 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								810e309e0c 
								
							
								 
							
						 
						
							
							
								
								vm: rename userenv to special_objects  
							
							 
							
							
							
						 
						
							2009-10-23 00:33:53 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3394309659 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into new_gc  
							
							 
							
							
							
						 
						
							2009-10-22 05:40:57 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3d5c3935ad 
								
							
								 
							
						 
						
							
							
								
								vm: fix compilation  
							
							 
							
							
							
						 
						
							2009-10-22 06:38:02 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f24942e063 
								
							
								 
							
						 
						
							
							
								
								vm: clean up signal handling and add EXC_BAD_INSTRUCTION Mach exception handler for OS X, since signal handlers cannot change the stack pointer  
							
							 
							
							
							
						 
						
							2009-10-22 05:22:59 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								606a805d7d 
								
							
								 
							
						 
						
							
							
								
								vm: debugging mark and sweep  
							
							 
							
							
							
						 
						
							2009-10-21 23:24:35 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								40351d40be 
								
							
								 
							
						 
						
							
							
								
								vm: use iostreams instead of printf for debug messages, clean up a few things  
							
							 
							
							
							
						 
						
							2009-10-21 20:12:57 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								814f6371d6 
								
							
								 
							
						 
						
							
							
								
								vm: mark sweep gc for tenured space work in progress  
							
							 
							
							
							
						 
						
							2009-10-20 22:20:49 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f0816d72f1 
								
							
								 
							
						 
						
							
							
								
								vm: split off free_list_allocator from heap class, rename zone to bump_allocator  
							
							 
							
							
							
						 
						
							2009-10-20 15:26:11 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d22d5466fc 
								
							
								 
							
						 
						
							
							
								
								vm: move factor_vm::untagged_object_size() to object::size()  
							
							 
							
							
							
						 
						
							2009-10-20 13:13:39 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d85d84697a 
								
							
								 
							
						 
						
							
							
								
								Change data heap alignment to 16 bytes  
							
							 
							
							
							
						 
						
							2009-10-20 12:45:00 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								50f9bf67a7 
								
							
								 
							
						 
						
							
							
								
								vm: fix crash when converting a callstack to an array  
							
							 
							
							
							
						 
						
							2009-10-20 12:19:02 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								838a44e901 
								
							
								 
							
						 
						
							
							
								
								vm: change code heap layout somewhat, remove unused allocation bitmap from mark_bits  
							
							 
							
							
							
						 
						
							2009-10-20 09:37:24 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								278a6955c5 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into startup  
							
							 
							
							
							
						 
						
							2009-10-20 00:31:45 -04:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ac25b8ebbb 
								
							
								 
							
						 
						
							
							
								
								vm: new mark_bits data structure replaces hashtable when compacting code heap  
							
							 
							
							
							
						 
						
							2009-10-19 02:21:11 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								464aac14cf 
								
							
								 
							
						 
						
							
							
								
								vm: working on new compaction implementation  
							
							 
							
							
							
						 
						
							2009-10-19 00:07:43 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a81f757a62 
								
							
								 
							
						 
						
							
							
								
								vm: fix conflict in image.cpp  
							
							 
							
							
							
						 
						
							2009-10-18 20:54:13 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								236588208b 
								
							
								 
							
						 
						
							
							
								
								vm: rename F to false_object, and rename T to true_object  
							
							 
							
							
							
						 
						
							2009-10-18 20:26:21 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								69f9c80b5b 
								
							
								 
							
						 
						
							
							
								
								vm: code heap: move mark bits to a separate bitmap  
							
							 
							
							
							
						 
						
							2009-10-16 14:41:40 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a955a12aa7 
								
							
								 
							
						 
						
							
							
								
								vm: fix compile errors on some gcc versions  
							
							 
							
							
							
						 
						
							2009-10-16 12:13:43 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								107c96f642 
								
							
								 
							
						 
						
							
							
								
								vm: code heap compaction at runtime using compact-gc primitive  
							
							 
							
							
							
						 
						
							2009-10-16 11:39:35 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								349cb41a29 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'reentrantvm' of git://github.com/phildawes/factor  
							
							 
							
							
							
						 
						
							2009-10-16 03:52:35 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0a3d08bc52 
								
							
								 
							
						 
						
							
							
								
								vm: make the code nice and pretty  
							
							 
							
							
							
						 
						
							2009-10-16 02:55:02 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								0bb6327688 
								
							
								 
							
						 
						
							
							
								
								fix compiler warnings in vm  
							
							 
							
							
							
						 
						
							2009-10-15 21:37:53 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								7fef05fd76 
								
							
								 
							
						 
						
							
							
								
								Removed VM_PTR macros. All builds reentrant by default  
							
							 
							
							
							
						 
						
							2009-10-14 19:14:57 +01:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ae90ebe3be 
								
							
								 
							
						 
						
							
							
								
								vm: faster write barrier for non-optimized code  
							
							 
							
							
							
						 
						
							2009-10-14 06:13:51 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1ce39963fd 
								
							
								 
							
						 
						
							
							
								
								Working on adding support for the new write barrier to optimized code  
							
							 
							
							
							
						 
						
							2009-10-14 02:06:01 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d689be57a5 
								
							
								 
							
						 
						
							
							
								
								vm: new card marking implementation supports marking partial objects  
							
							 
							
							
							
						 
						
							2009-10-13 21:16:04 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ab9b462411 
								
							
								 
							
						 
						
							
							
								
								vm: build fix  
							
							 
							
							
							
						 
						
							2009-10-09 05:12:28 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								95722adebc 
								
							
								 
							
						 
						
							
							
								
								vm: misc cleanups  
							
							 
							
							
							
						 
						
							2009-10-09 03:20:50 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								21f55ab1a3 
								
							
								 
							
						 
						
							
							
								
								vm: more efficient code heap remembered set  
							
							 
							
							
							
						 
						
							2009-10-08 23:10:32 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								dbf0dd4a2d 
								
							
								 
							
						 
						
							
							
								
								vm: split off parts of data_gc into sub-files and clean up logic  
							
							 
							
							
							
						 
						
							2009-10-08 02:10:28 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								6c047127ee 
								
							
								 
							
						 
						
							
							
								
								Change C++ exception usage back into a longjmp() due to GCC bugs  
							
							 
							
							
							
						 
						
							2009-10-05 03:27:28 -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  
						
					 
				
					
						
							
							
								 
								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  
						
					 
				
					
						
							
							
								 
								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  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								70f25c71b9 
								
							
								 
							
						 
						
							
							
								
								calls dispatched as per multithreaded, but checked against singleton  
							
							 
							
							
							
						 
						
							2009-09-30 21:25:50 +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  
						
					 
				
					
						
							
							
								 
								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  
						
					 
				
					
						
							
							
								 
								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