Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a81f757a62 
								
							
								 
							
						 
						
							
							
								
								vm: fix conflict in image.cpp  
							
							 
							
							
							
						 
						
							2009-10-18 20:54:13 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2e65366c6b 
								
							
								 
							
						 
						
							
							
								
								vm: rename myvm and parent_vm instance variables to parent, clean up casts in primitive definitions  
							
							 
							
							
							
						 
						
							2009-10-18 20:31:59 -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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								5c774d8c84 
								
							
								 
							
						 
						
							
							
								
								vm: more code cleanups  
							
							 
							
							
							
						 
						
							2009-10-07 08:33:54 -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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								b6718641dc 
								
							
								 
							
						 
						
							
							
								
								Converted some callback fns to use member-fn pointers  
							
							 
							
							
							
						 
						
							2009-09-28 19:45:10 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								9b7412b8f8 
								
							
								 
							
						 
						
							
							
								
								Moved PRIMITIVE and PRIMITIVE_FORWARDs to primitives.[ch]pp  
							
							 
							
							
							
						 
						
							2009-09-27 19:42:18 +01:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c046ff4b23 
								
							
								 
							
						 
						
							
							
								
								vm: make heap data-type object-oriented  
							
							 
							
							
							
						 
						
							2009-09-25 20:32:00 -05:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								6b7717bf37 
								
							
								 
							
						 
						
							
							
								
								forwarding functions replaced with PRIMITIVE_FORWARD() macro  
							
							 
							
							
							
						 
						
							2009-09-25 20:43:01 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								83b0769eef 
								
							
								 
							
						 
						
							
							
								
								renamed factorvm to factor_vm  
							
							 
							
							
							
						 
						
							2009-09-24 08:16:52 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								e566656e46 
								
							
								 
							
						 
						
							
							
								
								removed a bunch of superflous blank lines  
							
							 
							
							
							
						 
						
							2009-09-24 08:02:14 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								46bab62689 
								
							
								 
							
						 
						
							
							
								
								misc cleanup  
							
							 
							
							
							
						 
						
							2009-09-24 08:02:14 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								e3ac531fdb 
								
							
								 
							
						 
						
							
							
								
								renamed vmprim_ to primitive_  
							
							 
							
							
							
						 
						
							2009-09-24 08:02:13 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								1887a16ca3 
								
							
								 
							
						 
						
							
							
								
								removed some global functions from image.cpp  
							
							 
							
							
							
						 
						
							2009-09-16 08:16:28 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								82e1ea7110 
								
							
								 
							
						 
						
							
							
								
								vm ptr passed to untag_check  
							
							 
							
							
							
						 
						
							2009-09-16 08:16:26 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								d5da6a3d58 
								
							
								 
							
						 
						
							
							
								
								Dev checkpoint  
							
							 
							
							
							
						 
						
							2009-09-16 08:16:25 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								8fa607e9a9 
								
							
								 
							
						 
						
							
							
								
								Dev checkpoint  
							
							 
							
							
							
						 
						
							2009-09-16 08:16:25 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								839491a828 
								
							
								 
							
						 
						
							
							
								
								moved global state from inline_cache into vm  
							
							 
							
							
							
						 
						
							2009-09-16 08:16:24 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								80716a1b6e 
								
							
								 
							
						 
						
							
							
								
								moved global state from contexts and run into vm  
							
							 
							
							... 
							
							
							
							Also renamed template type from T to TYPE to prevent clash with vm::T (true) 
							
						 
						
							2009-09-16 08:16:24 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								a2f14b5a6d 
								
							
								 
							
						 
						
							
							
								
								added vm member to gc_root and growable arrays  
							
							 
							
							
							
						 
						
							2009-09-16 08:16:22 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								1bba717b36 
								
							
								 
							
						 
						
							
							
								
								moved image functions to vm  
							
							 
							
							
							
						 
						
							2009-09-16 08:16:20 +01:00  
						
					 
				
					
						
							
							
								 
								Philipp Brüschweiler
							
						 
						
							 
							
							
							
								
							
								230061783a 
								
							
								 
							
						 
						
							
							
								
								misc small documentation fixes, some fixes for factor.vim, changed permissions of vm/* to 644  
							
							 
							
							
							
						 
						
							2009-08-10 21:33:07 +02:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								46688f960d 
								
							
								 
							
						 
						
							
							
								
								image.cpp: don't try to make code heap bigger than p->code_size since on PPC this will cause crashes if the image has a code heap of exactly 32Mb  
							
							 
							
							
							
						 
						
							2009-07-31 23:23:29 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6e08e29a3a 
								
							
								 
							
						 
						
							
							
								
								Remove compiled slot from quotations since its not needed  
							
							 
							
							
							
						 
						
							2009-05-12 03:09:15 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3bf8134476 
								
							
								 
							
						 
						
							
							
								
								VM cleanup: replace some #defines with constants and inline functions  
							
							 
							
							
							
						 
						
							2009-05-08 15:05:55 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								12de56c41e 
								
							
								 
							
						 
						
							
							
								
								Fix botched replace all in VM source, clean up image saving code, and fix save-image-and-exit to actually call (save-image-and-exit) instead of (save-image)  
							
							 
							
							
							
						 
						
							2009-05-05 10:29:22 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8872c40b1e 
								
							
								 
							
						 
						
							
							
								
								The great type renaming  
							
							 
							
							
							
						 
						
							2009-05-04 04:50:24 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								edecac508e 
								
							
								 
							
						 
						
							
							
								
								Use C++ namespaces  
							
							 
							
							
							
						 
						
							2009-05-04 01:46:13 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8e17e0a01e 
								
							
								 
							
						 
						
							
							
								
								VM: use better abstractions for tagged pointers, eliminate get()/set() stuff, clean up array, string, and byte-array element access  
							
							 
							
							
							
						 
						
							2009-05-04 01:00:30 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b923d548cf 
								
							
								 
							
						 
						
							
							
								
								Move vmpp to vm  
							
							 
							
							
							
						 
						
							2009-05-02 20:37:18 -05:00