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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								349cb41a29 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'reentrantvm' of git://github.com/phildawes/factor  
							
							 
							
							
							
						 
						
							2009-10-16 03:52:35 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								38d120f92e 
								
							
								 
							
						 
						
							
							
								
								vm: rt-vm relocation now supports accessing a field directly  
							
							 
							
							
							
						 
						
							2009-10-14 19:24:23 -05:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								7fef05fd76 
								
							
								 
							
						 
						
							
							
								
								Removed VM_PTR macros. All builds reentrant by default  
							
							 
							
							
							
						 
						
							2009-10-14 19:14:57 +01:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								16c3251072 
								
							
								 
							
						 
						
							
							
								
								vm: free up a cell in compiled code block headers  
							
							 
							
							
							
						 
						
							2009-10-06 05:52:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d10e27149c 
								
							
								 
							
						 
						
							
							
								
								vm: cleanup  
							
							 
							
							
							
						 
						
							2009-10-06 01:42:17 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								884ac79423 
								
							
								 
							
						 
						
							
							
								
								vm: minor tweaks which reduce image size by ~300kb  
							
							 
							
							
							
						 
						
							2009-10-06 01:31:39 -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
							
						 
						
							 
							
							
							
								
							
								d017a53227 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'vm_cleanup' of git://github.com/phildawes/factor  
							
							 
							
							
							
						 
						
							2009-09-25 19:04:19 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								11d716e8f7 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-09-25 18:23:36 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b14c683b32 
								
							
								 
							
						 
						
							
							
								
								vm: ignore 'declare' calls in non-optimizing compiler  
							
							 
							
							
							
						 
						
							2009-09-25 18:08:21 -05:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								6b7717bf37 
								
							
								 
							
						 
						
							
							
								
								forwarding functions replaced with PRIMITIVE_FORWARD() macro  
							
							 
							
							
							
						 
						
							2009-09-25 20:43:01 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								e26bbbe9a0 
								
							
								 
							
						 
						
							
							
								
								removed VM_ASM_API_OVERFLOW (VM_ASM_API now regparm(3))  
							
							 
							
							
							
						 
						
							2009-09-25 20:33:38 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								6bb647d308 
								
							
								 
							
						 
						
							
							
								
								fix lazy_jit_compile to not abuse stack on x86.32  
							
							 
							
							
							
						 
						
							2009-09-24 19:59:37 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								57840562f5 
								
							
								 
							
						 
						
							
							
								
								renamed myvm member variable to parent_vm  
							
							 
							
							
							
						 
						
							2009-09-24 08:16:57 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								83b0769eef 
								
							
								 
							
						 
						
							
							
								
								renamed factorvm to factor_vm  
							
							 
							
							
							
						 
						
							2009-09-24 08:16:52 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								e3ac531fdb 
								
							
								 
							
						 
						
							
							
								
								renamed vmprim_ to primitive_  
							
							 
							
							
							
						 
						
							2009-09-24 08:02:13 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								b02c602a89 
								
							
								 
							
						 
						
							
							
								
								added vm passing to some alien/boxing functions and added some vm asserts  
							
							 
							
							
							
						 
						
							2009-09-16 08:20:10 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								2f3cd4d23d 
								
							
								 
							
						 
						
							
							
								
								removed some vm-> pointers  
							
							 
							
							
							
						 
						
							2009-09-16 08:17:26 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								ef16c4be66 
								
							
								 
							
						 
						
							
							
								
								moved userenv into vm in C code (DOESNT BOOTSTRAP YET!!!)  
							
							 
							
							
							
						 
						
							2009-09-16 08:16:32 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								465f06ebc2 
								
							
								 
							
						 
						
							
							
								
								throw_impl now forwards the vm ptr  
							
							 
							
							
							
						 
						
							2009-09-16 08:16:30 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								4afc16e95b 
								
							
								 
							
						 
						
							
							
								
								passing vm ptr to lazy_jit_compile mostly working  
							
							 
							
							
							
						 
						
							2009-09-16 08:16:30 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								0de0d5f256 
								
							
								 
							
						 
						
							
							
								
								removed some global functions from quotations.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
							
						 
						
							 
							
							
							
								
							
								a2f14b5a6d 
								
							
								 
							
						 
						
							
							
								
								added vm member to gc_root and growable arrays  
							
							 
							
							
							
						 
						
							2009-09-16 08:16:22 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								54b3c1ea88 
								
							
								 
							
						 
						
							
							
								
								added vm member to jit classes  
							
							 
							
							
							
						 
						
							2009-09-16 08:16:21 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								2eca2ddeaf 
								
							
								 
							
						 
						
							
							
								
								moved quotations functions to vm  
							
							 
							
							
							
						 
						
							2009-09-16 08:16:21 +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
							
						 
						
							 
							
							
							
								
							
								6e08e29a3a 
								
							
								 
							
						 
						
							
							
								
								Remove compiled slot from quotations since its not needed  
							
							 
							
							
							
						 
						
							2009-05-12 03:09:15 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								318552ba60 
								
							
								 
							
						 
						
							
							
								
								Fix tail call PICs on x86-64  
							
							 
							
							
							
						 
						
							2009-05-06 22:44:30 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4915e1ced7 
								
							
								 
							
						 
						
							
							
								
								Clean up bootstrap.image, and implement new calling convention for tail calls; tail call sites now have PICs  
							
							 
							
							
							
						 
						
							2009-05-06 22:04:01 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								12a34d81f7 
								
							
								 
							
						 
						
							
							
								
								JIT now supports multiple relocations per code template. This simplifies non-optimizing compiler backends  
							
							 
							
							
							
						 
						
							2009-05-06 20:04:49 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								53db9d737a 
								
							
								 
							
						 
						
							
							
								
								Change (void) to ()  
							
							 
							
							
							
						 
						
							2009-05-05 11:33:35 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								786b9096e2 
								
							
								 
							
						 
						
							
							
								
								Store forwarding table off to the side instead of in the code block; saves one cell per code block  
							
							 
							
							
							
						 
						
							2009-05-05 11:07:20 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								abf7912ae7 
								
							
								 
							
						 
						
							
							
								
								Cleanups  
							
							 
							
							
							
						 
						
							2009-05-04 05:07:14 -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
							
						 
						
							 
							
							
							
								
							
								e3592ca8f6 
								
							
								 
							
						 
						
							
							
								
								Clean up untag_* and tag_* inline functions in favor of more idiomatic C++  
							
							 
							
							
							
						 
						
							2009-05-02 20:47:29 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b923d548cf 
								
							
								 
							
						 
						
							
							
								
								Move vmpp to vm  
							
							 
							
							
							
						 
						
							2009-05-02 20:37:18 -05:00