604ceb957c 
								
							
								 
							
						 
						
							
							
								
								vm: replace remaining stack_frame-based logic  
							
							
							
						 
						
							2011-12-14 09:56:49 -08:00  
				
					
						
							
							
								 
						
							
							
								40bc8459db 
								
							
								 
							
						 
						
							
							
								
								vm: bottom_frame method for contexts  
							
							... 
							
							
							
							ctx->callstack_bottom - 1 -- the fuck does that mean?! 
							
						 
						
							2011-11-02 13:23:07 -07:00  
				
					
						
							
							
								 
						
							
							
								186bf65a00 
								
							
								 
							
						 
						
							
							
								
								constants for special object hardcoded literals  
							
							
							
						 
						
							2011-11-02 12:54:50 -07:00  
				
					
						
							
							
								 
						
							
							
								daf40ea0c6 
								
							
								 
							
						 
						
							
							
								
								Fix infinite loop and empty-dlist error when an error is thrown from a callback running in a thread other than the initial thread. This addresses part of issue  #92  
							
							
							
						 
						
							2011-10-02 21:59:09 -07:00  
				
					
						
							
							
								 
						
							
							
								451237a028 
								
							
								 
							
						 
						
							
							
								
								Fix start-context-and-delete sub-primitive (reported by Sascha Matzke)  
							
							
							
						 
						
							2010-08-02 20:28:23 -04:00  
				
					
						
							
							
								 
						
							
							
								806e54630a 
								
							
								 
							
						 
						
							
							
								
								GC maps for more compact inline GC checks  
							
							
							
						 
						
							2010-06-11 20:06:00 -04:00  
				
					
						
							
							
								 
						
							
							
								91cd3b854d 
								
							
								 
							
						 
						
							
							
								
								Use ##local-allot to simplify longlong unboxing  
							
							
							
						 
						
							2010-05-19 01:07:22 -04:00  
				
					
						
							
							
								 
						
							
							
								eb802208d1 
								
							
								 
							
						 
						
							
							
								
								FFI rewrite part 4: parameter and return value unboxing redesign  
							
							
							
						 
						
							2010-05-11 19:11:44 -04:00  
				
					
						
							
							
								 
						
							
							
								de4343eaf7 
								
							
								 
							
						 
						
							
							
								
								vm: re-organize context structure  
							
							
							
						 
						
							2010-04-02 15:42:29 -04:00  
				
					
						
							
							
								 
						
							
							
								0faa3bcf4a 
								
							
								 
							
						 
						
							
							
								
								vm: pre-allocate context alien  
							
							
							
						 
						
							2010-04-02 00:02:21 -04:00  
				
					
						
							
							
								 
						
							
							
								fb2ecab614 
								
							
								 
							
						 
						
							
							
								
								threads: delete old contexts immediately instead of handing them off to a 'context recycler' thread  
							
							
							
						 
						
							2010-03-30 21:47:48 -04:00  
				
					
						
							
							
								 
						
							
							
								11ddbc03a4 
								
							
								 
							
						 
						
							
							
								
								vm: signal handling cleanup  
							
							
							
						 
						
							2010-03-27 07:33:28 -04:00  
				
					
						
							
							
								 
						
							
							
								1717b8d0f7 
								
							
								 
							
						 
						
							
							
								
								Implement start-context and set-context primitives  
							
							
							
						 
						
							2010-03-27 02:56:11 -04:00  
				
					
						
							
							
								 
						
							
							
								560c119cd2 
								
							
								 
							
						 
						
							
							
								
								vm: actually use context callstacks when running code  
							
							
							
						 
						
							2010-03-26 22:44:43 -04:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								63edd20a55 
								
							
								 
							
						 
						
							
							
								
								vm: eliminating register variables work in progress. Works on x86-32 with non-optimizing compiler  
							
							
							
						 
						
							2009-12-19 10:59:56 +13:00  
				
					
						
							
							
								 
						
							
							
								9705768e3f 
								
							
								 
							
						 
						
							
							
								
								vm: remove DEFPUSHPOP macro  
							
							
							
						 
						
							2009-12-04 20:56:48 -05:00  
				
					
						
							
							
								 
						
							
							
								cb6552ae6e 
								
							
								 
							
						 
						
							
							
								
								vm/contexts: cleanup  
							
							
							
						 
						
							2009-11-08 19:44:18 -06:00  
				
					
						
							
							
								 
						
							
							
								810e309e0c 
								
							
								 
							
						 
						
							
							
								
								vm: rename userenv to special_objects  
							
							
							
						 
						
							2009-10-23 00:33:53 -05:00  
				
					
						
							
							
								 
						
							
							
								107c96f642 
								
							
								 
							
						 
						
							
							
								
								vm: code heap compaction at runtime using compact-gc primitive  
							
							
							
						 
						
							2009-10-16 11:39:35 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								9b7412b8f8 
								
							
								 
							
						 
						
							
							
								
								Moved PRIMITIVE and PRIMITIVE_FORWARDs to primitives.[ch]pp  
							
							
							
						 
						
							2009-09-27 19:42:18 +01:00  
				
					
						
							
							
								 
						
							
							
								83b0769eef 
								
							
								 
							
						 
						
							
							
								
								renamed factorvm to factor_vm  
							
							
							
						 
						
							2009-09-24 08:16:52 +01:00  
				
					
						
							
							
								 
						
							
							
								cdb6304fef 
								
							
								 
							
						 
						
							
							
								
								Dev checkpoint  
							
							
							
						 
						
							2009-09-16 08:17:26 +01:00  
				
					
						
							
							
								 
						
							
							
								9a37b6abb6 
								
							
								 
							
						 
						
							
							
								
								moved stack_chain into vm struct  
							
							
							
						 
						
							2009-09-16 08:16:31 +01:00  
				
					
						
							
							
								 
						
							
							
								25bbca2f66 
								
							
								 
							
						 
						
							
							
								
								removed save_stacks global function  
							
							
							
						 
						
							2009-09-16 08:16:30 +01:00  
				
					
						
							
							
								 
						
							
							
								2e81b174a7 
								
							
								 
							
						 
						
							
							
								
								removed some stub functions from contexts  
							
							
							
						 
						
							2009-09-16 08:16:25 +01:00  
				
					
						
							
							
								 
						
							
							
								8fa607e9a9 
								
							
								 
							
						 
						
							
							
								
								Dev checkpoint  
							
							
							
						 
						
							2009-09-16 08:16:25 +01:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								53db9d737a 
								
							
								 
							
						 
						
							
							
								
								Change (void) to ()  
							
							
							
						 
						
							2009-05-05 11:33:35 -05:00  
				
					
						
							
							
								 
						
							
							
								8872c40b1e 
								
							
								 
							
						 
						
							
							
								
								The great type renaming  
							
							
							
						 
						
							2009-05-04 04:50:24 -05:00  
				
					
						
							
							
								 
						
							
							
								edecac508e 
								
							
								 
							
						 
						
							
							
								
								Use C++ namespaces  
							
							
							
						 
						
							2009-05-04 01:46:13 -05:00  
				
					
						
							
							
								 
						
							
							
								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