ca2ea548be 
								
							
								 
							
						 
						
							
							
								
								VM: Remove exec bit from VM source files  
							
							
							
						 
						
							2013-05-11 17:04:23 -04:00  
				
					
						
							
							
								 
						
							
							
								2b33dde782 
								
							
								 
							
						 
						
							
							
								
								vm: Add more Allocates memory comments.  
							
							
							
						 
						
							2013-03-25 17:52:30 -07:00  
				
					
						
							
							
								 
						
							
							
								dbfa185eef 
								
							
								 
							
						 
						
							
							
								
								vm: Standardize /* Allocates memory */ comments so you can grep -A1  
							
							... 
							
							
							
							and see if a function allocates for easier debugging of the gc.
A couple of the functions were not yet annotated. 
							
						 
						
							2013-03-25 12:00:18 -07:00  
				
					
						
							
							
								 
						
							
							
								aad70160f0 
								
							
								 
							
						 
						
							
							
								
								vm: Add more comments about functions that allocate.  
							
							
							
						 
						
							2012-08-15 22:00:08 -07:00  
				
					
						
							
							
								 
						
							
							
								d74f194b07 
								
							
								 
							
						 
						
							
							
								
								vm: remove _reversed from callstack iterator names  
							
							... 
							
							
							
							Now that they're the only game in town we can give them the short names 
							
						 
						
							2011-12-14 09:56:49 -08:00  
				
					
						
							
							
								 
						
							
							
								822a658cc3 
								
							
								 
							
						 
						
							
							
								
								vm: callstack_reversed in call_frame_scrubber  
							
							
							
						 
						
							2011-12-14 09:56:48 -08:00  
				
					
						
							
							
								 
						
							
							
								e116bc497b 
								
							
								 
							
						 
						
							
							
								
								vm: reversed callstack iteration  
							
							
							
						 
						
							2011-12-14 09:56:47 -08:00  
				
					
						
							
							
								 
						
							
							
								e2fafaed9c 
								
							
								 
							
						 
						
							
							
								
								WIP verify_callstack function  
							
							... 
							
							
							
							dumps callstack in reverse order so i can visually inspect that it matches the old forward walking logic 
							
						 
						
							2011-12-14 09:56:47 -08:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								73845fdad9 
								
							
								 
							
						 
						
							
							
								
								vm: separate 'current_gc_p' from 'current_gc'  
							
							... 
							
							
							
							The 'current_gc' handle doesn't need to be volatile, just the state of GC-ness 
							
						 
						
							2011-11-02 13:23:19 -07:00  
				
					
						
							
							
								 
						
							
							
								0f5e0eada5 
								
							
								 
							
						 
						
							
							
								
								vm: fix high_fragmentation_p assertion  
							
							
							
						 
						
							2011-09-05 23:30:28 -07:00  
				
					
						
							
							
								 
						
							
							
								83b8717bad 
								
							
								 
							
						 
						
							
							
								
								Clean up some GC logic and fix a bug where large object allocation could grow the heap unnecessarily  
							
							
							
						 
						
							2011-09-05 16:28:00 -07:00  
				
					
						
							
							
								 
						
							
							
								0fc8ee8250 
								
							
								 
							
						 
						
							
							
								
								Fix win64 compile error  
							
							
							
						 
						
							2010-10-09 16:03:46 -05:00  
				
					
						
							
							
								 
						
							
							
								8a0d0fca83 
								
							
								 
							
						 
						
							
							
								
								Revert previous patch; not simply a typo.  Still broken on win64.  
							
							
							
						 
						
							2010-09-29 20:49:37 -05:00  
				
					
						
							
							
								 
						
							
							
								466e630dc9 
								
							
								 
							
						 
						
							
							
								
								Win64 Windows SDK hates int/cell type errors  
							
							
							
						 
						
							2010-09-29 17:43:27 -05:00  
				
					
						
							
							
								 
						
							
							
								ecb9ce4fc9 
								
							
								 
							
						 
						
							
							
								
								vm: don't need to save/restore FPU state when doing GC anymore, since we don't call nano_count() unless GC events are being recorded. If you want to record GC events with FP traps on, you're out of luck  
							
							
							
						 
						
							2010-09-04 16:16:22 -05:00  
				
					
						
							
							
								 
						
							
							
								2498a4d881 
								
							
								 
							
						 
						
							
							
								
								vm: don't call nano_count() from the GC at all, unless GC event recording is on  
							
							
							
						 
						
							2010-09-04 13:21:45 -07:00  
				
					
						
							
							
								 
						
							
							
								1818bcb780 
								
							
								 
							
						 
						
							
							
								
								Fix three problems discovered by running math.floats.env tests in a loop:  
							
							... 
							
							
							
							- Crash if allocating error triggers a GC from a signal/SEH handler
- Crash if GC runs with floating point traps enabled on Windows
- Floating point traps didn't prettyprint properly 
							
						 
						
							2010-09-02 22:57:14 -05:00  
				
					
						
							
							
								 
						
							
							
								70b8a74208 
								
							
								 
							
						 
						
							
							
								
								vm: have to be extra careful when messing with return addresses  
							
							
							
						 
						
							2010-06-13 18:12:57 -04:00  
				
					
						
							
							
								 
						
							
							
								3f28c0e7f5 
								
							
								 
							
						 
						
							
							
								
								vm: context switching needs to scrub the return address  
							
							
							
						 
						
							2010-06-12 19:54:31 -04:00  
				
					
						
							
							
								 
						
							
							
								806e54630a 
								
							
								 
							
						 
						
							
							
								
								GC maps for more compact inline GC checks  
							
							
							
						 
						
							2010-06-11 20:06:00 -04:00  
				
					
						
							
							
								 
						
							
							
								ec6c2ccc3e 
								
							
								 
							
						 
						
							
							
								
								silence more msvc warnings  
							
							
							
						 
						
							2010-05-05 22:32:45 -07:00  
				
					
						
							
							
								 
						
							
							
								fec408260e 
								
							
								 
							
						 
						
							
							
								
								vm: tweak inline_gc() for PowerPC  
							
							
							
						 
						
							2010-05-04 06:52:30 -04:00  
				
					
						
							
							
								 
						
							
							
								95ff5ffe51 
								
							
								 
							
						 
						
							
							
								
								New GC checks work in progress  
							
							
							
						 
						
							2010-05-03 17:34:16 -04:00  
				
					
						
							
							
								 
						
							
							
								b740a1fe5d 
								
							
								 
							
						 
						
							
							
								
								vm: use C++ exceptions instead of longjmp(), to make Windows crash more  
							
							
							
						 
						
							2010-04-02 14:10:55 -04:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								63edd20a55 
								
							
								 
							
						 
						
							
							
								
								vm: eliminating register variables work in progress. Works on x86-32 with non-optimizing compiler  
							
							
							
						 
						
							2009-12-19 10:59:56 +13:00  
				
					
						
							
							
								 
						
							
							
								344c357ef1 
								
							
								 
							
						 
						
							
							
								
								vm: grow the heap if a full collection doesn't reclaim enough space  
							
							
							
						 
						
							2009-12-05 19:03:53 -05:00  
				
					
						
							
							
								 
						
							
							
								b28619ce2f 
								
							
								 
							
						 
						
							
							
								
								vm: minor GC traces embedded pointers  
							
							
							
						 
						
							2009-11-22 13:37:39 -06:00  
				
					
						
							
							
								 
						
							
							
								6f7ec206a1 
								
							
								 
							
						 
						
							
							
								
								rename millis to system-millis, micros to system-micros, add nano-count  
							
							
							
						 
						
							2009-11-18 15:58:48 -06:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								064c00f78d 
								
							
								 
							
						 
						
							
							
								
								New identity-hashcode primitive  
							
							
							
						 
						
							2009-11-10 21:18:54 -06:00  
				
					
						
							
							
								 
						
							
							
								43e08c76fb 
								
							
								 
							
						 
						
							
							
								
								vm: on 32-bit, the largest free block size was only 512mb, leading to weird errors if the heap grew beyond this. eliminate this limit  
							
							
							
						 
						
							2009-11-06 08:44:36 -06:00  
				
					
						
							
							
								 
						
							
							
								11075828e5 
								
							
								 
							
						 
						
							
							
								
								vm: faster data_root and <array> primitive  
							
							
							
						 
						
							2009-11-06 05:30:37 -06:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								72ab6ec548 
								
							
								 
							
						 
						
							
							
								
								vm: rewrite 'become' primitive so that it uses a slot visitor instead of GC  
							
							
							
						 
						
							2009-11-05 19:03:51 -06:00  
				
					
						
							
							
								 
						
							
							
								e1c365e69a 
								
							
								 
							
						 
						
							
							
								
								vm: fix issue with unnecessary heap growth  
							
							
							
						 
						
							2009-11-03 22:25:22 -06:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								b2d96e5ef1 
								
							
								 
							
						 
						
							
							
								
								vm: remove debug messages  
							
							
							
						 
						
							2009-11-01 20:34:54 -06:00  
				
					
						
							
							
								 
						
							
							
								e28580dd0f 
								
							
								 
							
						 
						
							
							
								
								vm: faster sweep algorithm  
							
							
							
						 
						
							2009-11-01 20:24:25 -06:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								b2ba465bcd 
								
							
								 
							
						 
						
							
							
								
								Merge optimizations from master branch  
							
							
							
						 
						
							2009-10-31 03:02:19 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								5536003cf8 
								
							
								 
							
						 
						
							
							
								
								vm: new GC policy: mark sweep after N megabytes promoted, mark compact if tenured space cannot fit nursery+aging in one contiguous block. N = 32 on 32-bit and 64 on 64-bit  
							
							
							
						 
						
							2009-10-30 02:26:57 -05:00  
				
					
						
							
							
								 
						
							
							
								a1aac42786 
								
							
								 
							
						 
						
							
							
								
								vm: clean up gc events, remove -verbosegc switch, fix compaction bug  
							
							
							
						 
						
							2009-10-27 21:31:28 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								91cec17e52 
								
							
								 
							
						 
						
							
							
								
								vm: get GC events working, -verbosegc switch now produces more info  
							
							
							
						 
						
							2009-10-26 23:57:26 -05:00  
				
					
						
							
							
								 
						
							
							
								a60bf14673 
								
							
								 
							
						 
						
							
							
								
								vm: add gc_event  
							
							
							
						 
						
							2009-10-26 22:12:44 -05:00  
				
					
						
							
							
								 
						
							
							
								e793a72060 
								
							
								 
							
						 
						
							
							
								
								vm: remove crummy old GC stats, split off free list code, clean up various other things  
							
							
							
						 
						
							2009-10-26 22:08:35 -05:00  
				
					
						
							
							
								 
						
							
							
								c30df42e48 
								
							
								 
							
						 
						
							
							
								
								vm: make compaction its own gc_op  
							
							
							
						 
						
							2009-10-25 14:02:14 -05:00