Doug Coleman
							
						 
						
							 
							
							
							
								
							
								e558bd7d86 
								
							
								 
							
						 
						
							
							
								
								vm: Fix compilation on Windows.  Fixes   #1086 .  
							
							 
							
							
							
						 
						
							2014-07-03 13:20:08 -05:00  
						
					 
				
					
						
							
							
								 
								Erik Charlebois
							
						 
						
							 
							
							
							
								
							
								88d7c10d03 
								
							
								 
							
						 
						
							
							
								
								VM: Replace u8-64, s8-64, cell, fixnum with stdint.h equivalents  
							
							 
							
							
							
						 
						
							2013-05-13 00:28:25 -04:00  
						
					 
				
					
						
							
							
								 
								Erik Charlebois
							
						 
						
							 
							
							
							
								
							
								7ea2150c39 
								
							
								 
							
						 
						
							
							
								
								VM: Remove WINCE #ifndef; fold wince? words  
							
							 
							
							
							
						 
						
							2013-05-13 00:01:46 -04:00  
						
					 
				
					
						
							
							
								 
								Erik Charlebois
							
						 
						
							 
							
							
							
								
							
								38802ce173 
								
							
								 
							
						 
						
							
							
								
								VM: Refactor master.hpp to Factor style  
							
							 
							
							
							
						 
						
							2013-05-12 13:24:46 -04:00  
						
					 
				
					
						
							
							
								 
								Erik Charlebois
							
						 
						
							 
							
							
							
								
							
								a42ba561d2 
								
							
								 
							
						 
						
							
							
								
								VM: Remove empty source files  
							
							 
							
							
							
						 
						
							2013-05-12 13:24:40 -04:00  
						
					 
				
					
						
							
							
								 
								Erik Charlebois
							
						 
						
							 
							
							
							
								
							
								ca2ea548be 
								
							
								 
							
						 
						
							
							
								
								VM: Remove exec bit from VM source files  
							
							 
							
							
							
						 
						
							2013-05-11 17:04:23 -04:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								0a1a252cdb 
								
							
								 
							
						 
						
							
							
								
								vm: replace assert with FACTOR_ASSERT  
							
							 
							
							... 
							
							
							
							Factor is finally a real C++ project and has a custom assert macro. Assertion failures were still getting caught as exceptions and causing failure loops. Write our own macro that calls factor::abort on failure. 
							
						 
						
							2011-11-23 11:11:26 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								c31530caec 
								
							
								 
							
						 
						
							
							
								
								vm: strip out call-counting profiler  
							
							 
							
							... 
							
							
							
							This makes the separate "code" and "entry_point" fields in word and quotation redundant, so also remove them to reclaim an additional cell per word and quotation object, which should help with #318 . 
							
						 
						
							2011-11-10 16:01:07 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								0e3c315099 
								
							
								 
							
						 
						
							
							
								
								vm: move bignum.cpp includes to master.hpp  
							
							 
							
							... 
							
							
							
							That way they get PCHed 
							
						 
						
							2011-11-08 08:42:47 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								72d335f2b5 
								
							
								 
							
						 
						
							
							
								
								vm: write async signals to pipe for multiplexer  
							
							 
							
							... 
							
							
							
							also factor out safepoint logic into its own file 
							
						 
						
							2011-11-08 08:42:46 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								80fb7788d9 
								
							
								 
							
						 
						
							
							
								
								vm: groundwork for sampling profiler  
							
							 
							
							... 
							
							
							
							Set up the state necessary to collect samples. We still need to add GC support for walking the sample set, and the compiler needs to register GC roots before safepoints as well. We also need primitives to expose the data to Factor for reporting. 
							
						 
						
							2011-11-02 13:23:06 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								cdfb1b1b94 
								
							
								 
							
						 
						
							
							
								
								vm: change "profiler" names to "counting_profiler"  
							
							 
							
							
							
						 
						
							2011-11-02 13:23:05 -07:00  
						
					 
				
					
						
							
							
								 
								Erik Charlebois
							
						 
						
							 
							
							
							
								
							
								64252dbdbc 
								
							
								 
							
						 
						
							
							
								
								32 and 64 bit Linux PPC support  
							
							 
							
							
							
						 
						
							2011-05-23 23:36:14 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a36bd7fbaf 
								
							
								 
							
						 
						
							
							
								
								vm: don't keep more than 10 unused contexts around to prevent address space wastage on low-budget operating systems like OpenBSD  
							
							 
							
							
							
						 
						
							2010-09-17 20:52:27 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								14de58b73c 
								
							
								 
							
						 
						
							
							
								
								vm: remove some mixed use of stdio/iostream. when monotonic timer decreases, log old and new values  
							
							 
							
							
							
						 
						
							2010-08-01 16:14:20 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								806e54630a 
								
							
								 
							
						 
						
							
							
								
								GC maps for more compact inline GC checks  
							
							 
							
							
							
						 
						
							2010-06-11 20:06:00 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b740a1fe5d 
								
							
								 
							
						 
						
							
							
								
								vm: use C++ exceptions instead of longjmp(), to make Windows crash more  
							
							 
							
							
							
						 
						
							2010-04-02 14:10:55 -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  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								1c08fde381 
								
							
								 
							
						 
						
							
							
								
								yay C89  
							
							 
							
							
							
						 
						
							2010-03-01 17:56:17 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								ac979619e6 
								
							
								 
							
						 
						
							
							
								
								record the C++ compiler version in the VM, and expose it with a vm-compiler word  
							
							 
							
							
							
						 
						
							2010-03-01 13:32:07 -08:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								942f6e0943 
								
							
								 
							
						 
						
							
							
								
								Update Win64 support  
							
							 
							
							
							
						 
						
							2010-01-25 15:39:34 +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
							
						 
						
							 
							
							
							
								
							
								2aa4d3d432 
								
							
								 
							
						 
						
							
							
								
								vm: fix compilation on 64-bit platforms  
							
							 
							
							
							
						 
						
							2010-01-14 02:18:49 +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
							
						 
						
							 
							
							
							
								
							
								9705768e3f 
								
							
								 
							
						 
						
							
							
								
								vm: remove DEFPUSHPOP macro  
							
							 
							
							
							
						 
						
							2009-12-04 20:56:48 -05: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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								57c541ea46 
								
							
								 
							
						 
						
							
							
								
								vm: eliminating literal table work in progress  
							
							 
							
							
							
						 
						
							2009-11-07 16:16:09 -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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								e28580dd0f 
								
							
								 
							
						 
						
							
							
								
								vm: faster sweep algorithm  
							
							 
							
							
							
						 
						
							2009-11-01 20:24:25 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b2ba465bcd 
								
							
								 
							
						 
						
							
							
								
								Merge optimizations from master branch  
							
							 
							
							
							
						 
						
							2009-10-31 03:02:19 -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
							
						 
						
							 
							
							
							
								
							
								a1aac42786 
								
							
								 
							
						 
						
							
							
								
								vm: clean up gc events, remove -verbosegc switch, fix compaction bug  
							
							 
							
							
							
						 
						
							2009-10-27 21:31: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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								ac25b8ebbb 
								
							
								 
							
						 
						
							
							
								
								vm: new mark_bits data structure replaces hashtable when compacting code heap  
							
							 
							
							
							
						 
						
							2009-10-19 02:21:11 -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
							
						 
						
							 
							
							
							
								
							
								107c96f642 
								
							
								 
							
						 
						
							
							
								
								vm: code heap compaction at runtime using compact-gc primitive  
							
							 
							
							
							
						 
						
							2009-10-16 11:39:35 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d34c7854cd 
								
							
								 
							
						 
						
							
							
								
								vm: simplify card marking logic, and unmark more cards during aging collections by checking if they actually contained young pointers or not  
							
							 
							
							
							
						 
						
							2009-10-09 01:37:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								43a21deb05 
								
							
								 
							
						 
						
							
							
								
								vm: rename data_gc.cpp to gc.cpp  
							
							 
							
							
							
						 
						
							2009-10-08 02:11:29 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6939759f46 
								
							
								 
							
						 
						
							
							
								
								vm: working on new object-oriented garbage collector  
							
							 
							
							
							
						 
						
							2009-10-07 15:48:09 -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