beb71ce49b 
								
							
								 
							
						 
						
							
							
								
								VM: merge full_collector.hpp into full_collector.cpp  
							
							
							
						 
						
							2015-08-04 16:02:10 +02:00  
				
					
						
							
							
								 
						
							
							
								9d289e35f4 
								
							
								 
							
						 
						
							
							
								
								VM: macro FACTOR_FOR_EACH used in more places to drive iteration  
							
							
							
						 
						
							2015-06-05 02:14:49 +02:00  
				
					
						
							
							
								 
						
							
							
								b5a206c587 
								
							
								 
							
						 
						
							
							
								
								VM: new function visit_mark_stack() to factor out the mark stack iteration  
							
							
							
						 
						
							2015-02-28 14:14:29 -08:00  
				
					
						
							
							
								 
						
							
							
								5490c50217 
								
							
								 
							
						 
						
							
							
								
								VM: visit_roots and visit_contexts where always called in tandem, make a new method visit_all_roots that calls them both  
							
							
							
						 
						
							2015-02-28 14:14:29 -08:00  
				
					
						
							
							
								 
						
							
							
								8ea1eea4e1 
								
							
								 
							
						 
						
							
							
								
								VM: instead of passing around the trace_contexts_p arg, just clear the contexts in primitive_save_image_and_exit() it has the same effect but is simpler  
							
							
							
						 
						
							2015-01-15 09:29:14 +00:00  
				
					
						
							
							
								 
						
							
							
								4d7bc4c169 
								
							
								 
							
						 
						
							
							
								
								VM: merge of slot_visitor and code_block_visitor  
							
							... 
							
							
							
							Looks like there is no reason for them to be separate classes and by
merging them you can simplify lots of code. 
							
						 
						
							2015-01-15 09:29:14 +00:00  
				
					
						
							
							
								 
						
							
							
								d2aea0f606 
								
							
								 
							
						 
						
							
							
								
								VM: replaced the reset_generation() generic method with one method for each generation  
							
							
							
						 
						
							2015-01-15 09:29:14 +00:00  
				
					
						
							
							
								 
						
							
							
								b61eaa8a16 
								
							
								 
							
						 
						
							
							
								
								VM: the full_collector class isn't needed since it is only used once  
							
							
							
						 
						
							2015-01-15 09:29:14 +00:00  
				
					
						
							
							
								 
						
							
							
								693e8ad33a 
								
							
								 
							
						 
						
							
							
								
								VM: the clear_mark_bits methods are only called once -- make the calls inline instead  
							
							
							
						 
						
							2015-01-15 09:29:14 +00:00  
				
					
						
							
							
								 
						
							
							
								1beac119d8 
								
							
								 
							
						 
						
							
							
								
								VM: removes the template parameter from mark_bits  
							
							... 
							
							
							
							since mark_bits only deals with arithmetic on memory addresses, it
doesn't need to be specialized so it can be untemplateized 
							
						 
						
							2015-01-15 09:29:13 +00:00  
				
					
						
							
							
								 
						
							
							
								615420fe61 
								
							
								 
							
						 
						
							
							
								
								VM: calls to visit_code_roots() replaced with visit_uninitialized_code_blocks()  
							
							
							
						 
						
							2015-01-15 09:29:13 +00:00  
				
					
						
							
							
								 
						
							
							
								8ee1f890f2 
								
							
								 
							
						 
						
							
							
								
								VM: refactoring intended to remove trace_*-methods that are just  
							
							... 
							
							
							
							simple delegations to the data/code_visitor instances 
							
						 
						
							2015-01-15 09:29:12 +00:00  
				
					
						
							
							
								 
						
							
							
								7b1b1eef23 
								
							
								 
							
						 
						
							
							
								
								VM: Remove unnecessary _ suffix in constructors  
							
							
							
						 
						
							2013-05-12 23:20:43 -04:00  
				
					
						
							
							
								 
						
							
							
								9e2d775095 
								
							
								 
							
						 
						
							
							
								
								VM: Refactor full_collector to Factor style  
							
							
							
						 
						
							2013-05-12 13:24:44 -04:00  
				
					
						
							
							
								 
						
							
							
								bd7e6b33f8 
								
							
								 
							
						 
						
							
							
								
								vm: erase code blocks from all_blocks during sweep  
							
							... 
							
							
							
							Fixes  #437  
						
							2011-12-13 12:28:09 -08:00  
				
					
						
							
							
								 
						
							
							
								e3e2788414 
								
							
								 
							
						 
						
							
							
								
								vm: walk code roots from sample callstacks  
							
							
							
						 
						
							2011-11-02 13:23:08 -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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								806e54630a 
								
							
								 
							
						 
						
							
							
								
								GC maps for more compact inline GC checks  
							
							
							
						 
						
							2010-06-11 20:06:00 -04:00  
				
					
						
							
							
								 
						
							
							
								d22eb40360 
								
							
								 
							
						 
						
							
							
								
								Fix spaces that crept into vm/ cpp files  
							
							
							
						 
						
							2010-02-06 01:06:26 -06:00  
				
					
						
							
							
								 
						
							
							
								942f6e0943 
								
							
								 
							
						 
						
							
							
								
								Update Win64 support  
							
							
							
						 
						
							2010-01-25 15:39:34 +13:00  
				
					
						
							
							
								 
						
							
							
								7271900e6f 
								
							
								 
							
						 
						
							
							
								
								vm: code cleanup  
							
							
							
						 
						
							2009-12-26 15:24:21 +13:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								344c357ef1 
								
							
								 
							
						 
						
							
							
								
								vm: grow the heap if a full collection doesn't reclaim enough space  
							
							
							
						 
						
							2009-12-05 19:03:53 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								73e105bfc4 
								
							
								 
							
						 
						
							
							
								
								vm: flush icache after GC  
							
							
							
						 
						
							2009-11-24 21:36:35 -06:00  
				
					
						
							
							
								 
						
							
							
								bfd4cce364 
								
							
								 
							
						 
						
							
							
								
								vm: compaction now updates the needs_fixup set  
							
							
							
						 
						
							2009-11-24 19:29:59 -06:00  
				
					
						
							
							
								 
						
							
							
								001a3f2847 
								
							
								 
							
						 
						
							
							
								
								vm: mark sweep now traces code block references; rename embedded_pointer to instruction_operand  
							
							
							
						 
						
							2009-11-23 19:17:12 -06:00  
				
					
						
							
							
								 
						
							
							
								b28619ce2f 
								
							
								 
							
						 
						
							
							
								
								vm: minor GC traces embedded pointers  
							
							
							
						 
						
							2009-11-22 13:37:39 -06:00  
				
					
						
							
							
								 
						
							
							
								4c268f2600 
								
							
								 
							
						 
						
							
							
								
								vm: record compaction events correctly  
							
							
							
						 
						
							2009-11-13 09:29:21 -06:00  
				
					
						
							
							
								 
						
							
							
								8b52d85aed 
								
							
								 
							
						 
						
							
							
								
								vm: minor cleanup  
							
							
							
						 
						
							2009-11-08 06:08:17 -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  
				
					
						
							
							
								 
						
							
							
								3b767c4d08 
								
							
								 
							
						 
						
							
							
								
								vm: remove debug messages  
							
							
							
						 
						
							2009-11-02 18:24:04 -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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								e28580dd0f 
								
							
								 
							
						 
						
							
							
								
								vm: faster sweep algorithm  
							
							
							
						 
						
							2009-11-01 20:24:25 -06:00  
				
					
						
							
							
								 
						
							
							
								882daae06c 
								
							
								 
							
						 
						
							
							
								
								vm: more sweep phase optimizations  
							
							
							
						 
						
							2009-11-01 04:40:15 -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  
				
					
						
							
							
								 
						
							
							
								91cec17e52 
								
							
								 
							
						 
						
							
							
								
								vm: get GC events working, -verbosegc switch now produces more info  
							
							
							
						 
						
							2009-10-26 23:57:26 -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  
				
					
						
							
							
								 
						
							
							
								b7181d14a8 
								
							
								 
							
						 
						
							
							
								
								vm: debugging compaction  
							
							
							
						 
						
							2009-10-25 08:07:21 -05:00  
				
					
						
							
							
								 
						
							
							
								fae27fb361 
								
							
								 
							
						 
						
							
							
								
								vm: make some more ctors explicit just for kicks  
							
							
							
						 
						
							2009-10-24 23:02:58 -05:00  
				
					
						
							
							
								 
						
							
							
								d855593f1f 
								
							
								 
							
						 
						
							
							
								
								vm: clean up code heap visitor  
							
							
							
						 
						
							2009-10-24 04:36:29 -05:00  
				
					
						
							
							
								 
						
							
							
								29a27cfde4 
								
							
								 
							
						 
						
							
							
								
								vm: data heap compaction work in progress  
							
							
							
						 
						
							2009-10-24 04:18:33 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								af855b7fa9 
								
							
								 
							
						 
						
							
							
								
								vm: debugging mark-sweep  
							
							
							
						 
						
							2009-10-21 19:41:54 -05:00  
				
					
						
							
							
								 
						
							
							
								814f6371d6 
								
							
								 
							
						 
						
							
							
								
								vm: mark sweep gc for tenured space work in progress  
							
							
							
						 
						
							2009-10-20 22:20:49 -05:00