Alexander Iljin
							
						 
						
							 
							
							
							
								
							
								0d57734dab 
								
							
								 
							
						 
						
							
							
								
								vm: replace block comments /**/ with line comments //  
							
							 
							
							
							
						 
						
							2016-09-09 05:47:52 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								c646db3ae5 
								
							
								 
							
						 
						
							
							
								
								VM: fixing small style issues  
							
							 
							
							... 
							
							
							
							Like aligning comments and changing //-comments to /* */ 
							
						 
						
							2016-07-02 15:50:59 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								81057c4108 
								
							
								 
							
						 
						
							
							
								
								VM: the context_object_count must be wrong, there are only 4 of them  
							
							 
							
							
							
						 
						
							2015-08-14 20:19:50 -07:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								dcc1e7773f 
								
							
								 
							
						 
						
							
							
								
								contexts.hpp: Increase callstack reserve space to 16k for Mac64. Fixes issue  #1419 .  
							
							 
							
							
							
						 
						
							2015-08-04 12:43:24 -07:00  
						
					 
				
					
						
							
							
								 
								John Benediktsson
							
						 
						
							 
							
							
							
								
							
								5c0d8c7e4f 
								
							
								 
							
						 
						
							
							
								
								vm: minor fixes.  
							
							 
							
							
							
						 
						
							2015-08-04 07:49:50 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								6fedb79c73 
								
							
								 
							
						 
						
							
							
								
								VM: bump stack_reserved from 1kb to 4kb  
							
							 
							
							... 
							
							
							
							The added test case fails with a doulbe fault, which appears to be
caused by a stack overflow in the code that tries to handle the stack
overflow. So bumping it to 4096 bytes should give the code enough stack
space to play with. 
							
						 
						
							2015-08-04 16:02:10 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								a7757eed41 
								
							
								 
							
						 
						
							
							
								
								VM: new method context::address_to_error  
							
							 
							
							
							
						 
						
							2015-08-04 16:02:10 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								8e1f3a0e51 
								
							
								 
							
						 
						
							
							
								
								VM: after reset_datastack and retainstack clear the stack segment. makes  
							
							 
							
							... 
							
							
							
							it easier to find bad accesses to shadow data 
							
						 
						
							2015-05-22 12:22:28 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								016614747d 
								
							
								 
							
						 
						
							
							
								
								VM: the delete_context() and reset_context() api functions can be  
							
							 
							
							... 
							
							
							
							simplified a bit
The functions always operates on parent->ctx, so passing a context*
parameter is redundant. This enables shorter assembly code for
the (start-context-and-delete) and (set-context-and-delete) primitives. 
							
						 
						
							2015-05-22 12:22:26 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								9bfc43144e 
								
							
								 
							
						 
						
							
							
								
								VM: debug macros FACTOR_PRINT and FACTOR_PRINT_MARK to make better debug  
							
							 
							
							... 
							
							
							
							printing messages than just using std::cout 
							
						 
						
							2015-05-09 20:04:21 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								e47181e87a 
								
							
								 
							
						 
						
							
							
								
								VM: change type of callstack_top and callstack_bottom from void* to cell  
							
							 
							
							... 
							
							
							
							cell and void* is always the same size, but now you can remove lots of
redundant type casts from void* to cell. 
							
						 
						
							2015-01-15 09:29:13 +00:00  
						
					 
				
					
						
							
							
								 
								John Benediktsson
							
						 
						
							 
							
							
							
								
							
								70778b89ae 
								
							
								 
							
						 
						
							
							
								
								Revert "VM: always clear the data and retainstack in general_error because they might contain uninitialized values ( #1187 )"  
							
							 
							
							... 
							
							
							
							This reverts commit 378f208025 . 
							
						 
						
							2014-12-04 11:46:28 -08:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								378f208025 
								
							
								 
							
						 
						
							
							
								
								VM: always clear the data and retainstack in general_error because they might contain uninitialized values ( #1187 )  
							
							 
							
							
							
						 
						
							2014-12-04 10:26:23 -08:00  
						
					 
				
					
						
							
							
								 
								Erik Charlebois
							
						 
						
							 
							
							
							
								
							
								2a5126e49a 
								
							
								 
							
						 
						
							
							
								
								VM: Refactor contexts to Factor style  
							
							 
							
							
							
						 
						
							2013-05-12 13:24:42 -04:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								604ceb957c 
								
							
								 
							
						 
						
							
							
								
								vm: replace remaining stack_frame-based logic  
							
							 
							
							
							
						 
						
							2011-12-14 09:56:49 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								40bc8459db 
								
							
								 
							
						 
						
							
							
								
								vm: bottom_frame method for contexts  
							
							 
							
							... 
							
							
							
							ctx->callstack_bottom - 1 -- the fuck does that mean?! 
							
						 
						
							2011-11-02 13:23:07 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								186bf65a00 
								
							
								 
							
						 
						
							
							
								
								constants for special object hardcoded literals  
							
							 
							
							
							
						 
						
							2011-11-02 12:54:50 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								451237a028 
								
							
								 
							
						 
						
							
							
								
								Fix start-context-and-delete sub-primitive (reported by Sascha Matzke)  
							
							 
							
							
							
						 
						
							2010-08-02 20:28:23 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								806e54630a 
								
							
								 
							
						 
						
							
							
								
								GC maps for more compact inline GC checks  
							
							 
							
							
							
						 
						
							2010-06-11 20:06:00 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								91cd3b854d 
								
							
								 
							
						 
						
							
							
								
								Use ##local-allot to simplify longlong unboxing  
							
							 
							
							
							
						 
						
							2010-05-19 01:07:22 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								eb802208d1 
								
							
								 
							
						 
						
							
							
								
								FFI rewrite part 4: parameter and return value unboxing redesign  
							
							 
							
							
							
						 
						
							2010-05-11 19:11:44 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								de4343eaf7 
								
							
								 
							
						 
						
							
							
								
								vm: re-organize context structure  
							
							 
							
							
							
						 
						
							2010-04-02 15:42:29 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0faa3bcf4a 
								
							
								 
							
						 
						
							
							
								
								vm: pre-allocate context alien  
							
							 
							
							
							
						 
						
							2010-04-02 00:02:21 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								fb2ecab614 
								
							
								 
							
						 
						
							
							
								
								threads: delete old contexts immediately instead of handing them off to a 'context recycler' thread  
							
							 
							
							
							
						 
						
							2010-03-30 21:47:48 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								11ddbc03a4 
								
							
								 
							
						 
						
							
							
								
								vm: signal handling cleanup  
							
							 
							
							
							
						 
						
							2010-03-27 07:33:28 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1717b8d0f7 
								
							
								 
							
						 
						
							
							
								
								Implement start-context and set-context primitives  
							
							 
							
							
							
						 
						
							2010-03-27 02:56:11 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								560c119cd2 
								
							
								 
							
						 
						
							
							
								
								vm: actually use context callstacks when running code  
							
							 
							
							
							
						 
						
							2010-03-26 22:44:43 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								63edd20a55 
								
							
								 
							
						 
						
							
							
								
								vm: eliminating register variables work in progress. Works on x86-32 with non-optimizing compiler  
							
							 
							
							
							
						 
						
							2009-12-19 10:59:56 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9705768e3f 
								
							
								 
							
						 
						
							
							
								
								vm: remove DEFPUSHPOP macro  
							
							 
							
							
							
						 
						
							2009-12-04 20:56:48 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								cb6552ae6e 
								
							
								 
							
						 
						
							
							
								
								vm/contexts: cleanup  
							
							 
							
							
							
						 
						
							2009-11-08 19:44:18 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								810e309e0c 
								
							
								 
							
						 
						
							
							
								
								vm: rename userenv to special_objects  
							
							 
							
							
							
						 
						
							2009-10-23 00:33:53 -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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								9b7412b8f8 
								
							
								 
							
						 
						
							
							
								
								Moved PRIMITIVE and PRIMITIVE_FORWARDs to primitives.[ch]pp  
							
							 
							
							
							
						 
						
							2009-09-27 19:42:18 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								83b0769eef 
								
							
								 
							
						 
						
							
							
								
								renamed factorvm to factor_vm  
							
							 
							
							
							
						 
						
							2009-09-24 08:16:52 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								cdb6304fef 
								
							
								 
							
						 
						
							
							
								
								Dev checkpoint  
							
							 
							
							
							
						 
						
							2009-09-16 08:17:26 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								9a37b6abb6 
								
							
								 
							
						 
						
							
							
								
								moved stack_chain into vm struct  
							
							 
							
							
							
						 
						
							2009-09-16 08:16:31 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								25bbca2f66 
								
							
								 
							
						 
						
							
							
								
								removed save_stacks global function  
							
							 
							
							
							
						 
						
							2009-09-16 08:16:30 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								2e81b174a7 
								
							
								 
							
						 
						
							
							
								
								removed some stub functions from contexts  
							
							 
							
							
							
						 
						
							2009-09-16 08:16:25 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								8fa607e9a9 
								
							
								 
							
						 
						
							
							
								
								Dev checkpoint  
							
							 
							
							
							
						 
						
							2009-09-16 08:16:25 +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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								53db9d737a 
								
							
								 
							
						 
						
							
							
								
								Change (void) to ()  
							
							 
							
							
							
						 
						
							2009-05-05 11:33:35 -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