cc69719147 
								
							
								 
							
						 
						
							
							
								
								vm: don't recompile lazy-jit-compile more than once  
							
							
							
						 
						
							2010-01-20 02:48:31 +13:00  
				
					
						
							
							
								 
						
							
							
								5606825e8b 
								
							
								 
							
						 
						
							
							
								
								vm: remove primitive table, non-optimizing compiler now looks up primitives with dlsym()  
							
							
							
						 
						
							2010-01-19 20:00:33 +13:00  
				
					
						
							
							
								 
						
							
							
								637a77c018 
								
							
								 
							
						 
						
							
							
								
								Stop wearing monocle and use the term "entry point" instead of "XT" throughout VM and compiler; also remove two unused relocation types  
							
							
							
						 
						
							2010-01-18 20:54:00 +13:00  
				
					
						
							
							
								 
						
							
							
								8d34a0f3c1 
								
							
								 
							
						 
						
							
							
								
								Store VM object in a register on x86-64  
							
							
							
						 
						
							2010-01-11 01:20:32 +13:00  
				
					
						
							
							
								 
						
							
							
								c04fef10c7 
								
							
								 
							
						 
						
							
							
								
								vm: ensure that non-optimized calls to generic words which have not yet been compiled can still work  
							
							
							
						 
						
							2010-01-06 23:49:14 +13:00  
				
					
						
							
							
								 
						
							
							
								36d2ac8921 
								
							
								 
							
						 
						
							
							
								
								vm: move c_to_factor, lazy_jit_compile_impl, throw_impl, set_callstack assembly routines into non-optimizing compiler for x86-64  
							
							
							
						 
						
							2010-01-06 15:47:36 +13:00  
				
					
						
							
							
								 
						
							
							
								81430947d5 
								
							
								 
							
						 
						
							
							
								
								PowerPC: fix set-callstack primitive and start updating optimizing compiler backend for recent changes  
							
							
							
						 
						
							2009-12-28 08:08:15 -06:00  
				
					
						
							
							
								 
						
							
							
								15eb8d1a0a 
								
							
								 
							
						 
						
							
							
								
								vm: remove VM_ASM_API  
							
							
							
						 
						
							2009-12-24 01:37:24 +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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								d49c86ba11 
								
							
								 
							
						 
						
							
							
								
								vm: Clean up more code duplication and rename a few methods  
							
							
							
						 
						
							2009-12-02 01:17:30 -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  
				
					
						
							
							
								 
						
							
							
								77a877789a 
								
							
								 
							
						 
						
							
							
								
								vm: new implementation of modify-code-heap that doesn't use literal tables  
							
							
							
						 
						
							2009-11-25 17:20:48 -06:00  
				
					
						
							
							
								 
						
							
							
								4ebaf956c3 
								
							
								 
							
						 
						
							
							
								
								vm: non-optimizing compiler now compiles word definition quotations with the owner set to the word object  
							
							
							
						 
						
							2009-11-24 22:44:04 -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  
				
					
						
							
							
								 
						
							
							
								ed3ab1335e 
								
							
								 
							
						 
						
							
							
								
								vm: minor fixes after code review  
							
							
							
						 
						
							2009-11-03 04:56:58 -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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								810e309e0c 
								
							
								 
							
						 
						
							
							
								
								vm: rename userenv to special_objects  
							
							
							
						 
						
							2009-10-23 00:33:53 -05:00  
				
					
						
							
							
								 
						
							
							
								40351d40be 
								
							
								 
							
						 
						
							
							
								
								vm: use iostreams instead of printf for debug messages, clean up a few things  
							
							
							
						 
						
							2009-10-21 20:12:57 -05:00  
				
					
						
							
							
								 
						
							
							
								838a44e901 
								
							
								 
							
						 
						
							
							
								
								vm: change code heap layout somewhat, remove unused allocation bitmap from mark_bits  
							
							
							
						 
						
							2009-10-20 09:37:24 -05:00  
				
					
						
							
							
								 
						
							
							
								4ddd63d83e 
								
							
								 
							
						 
						
							
							
								
								vm: move compaction algorithm to mark_bits.hpp since it doesn't rely on properties of heaps per se  
							
							
							
						 
						
							2009-10-19 03:05:20 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								236588208b 
								
							
								 
							
						 
						
							
							
								
								vm: rename F to false_object, and rename T to true_object  
							
							
							
						 
						
							2009-10-18 20:26:21 -05:00  
				
					
						
							
							
								 
						
							
							
								107c96f642 
								
							
								 
							
						 
						
							
							
								
								vm: code heap compaction at runtime using compact-gc primitive  
							
							
							
						 
						
							2009-10-16 11:39:35 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								349cb41a29 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'reentrantvm' of git://github.com/phildawes/factor  
							
							
							
						 
						
							2009-10-16 03:52:35 -05:00  
				
					
						
							
							
								 
						
							
							
								38d120f92e 
								
							
								 
							
						 
						
							
							
								
								vm: rt-vm relocation now supports accessing a field directly  
							
							
							
						 
						
							2009-10-14 19:24:23 -05:00  
				
					
						
							
							
								 
						
							
							
								7fef05fd76 
								
							
								 
							
						 
						
							
							
								
								Removed VM_PTR macros. All builds reentrant by default  
							
							
							
						 
						
							2009-10-14 19:14:57 +01:00  
				
					
						
							
							
								 
						
							
							
								16c3251072 
								
							
								 
							
						 
						
							
							
								
								vm: free up a cell in compiled code block headers  
							
							
							
						 
						
							2009-10-06 05:52:45 -05:00  
				
					
						
							
							
								 
						
							
							
								d10e27149c 
								
							
								 
							
						 
						
							
							
								
								vm: cleanup  
							
							
							
						 
						
							2009-10-06 01:42:17 -05:00  
				
					
						
							
							
								 
						
							
							
								884ac79423 
								
							
								 
							
						 
						
							
							
								
								vm: minor tweaks which reduce image size by ~300kb  
							
							
							
						 
						
							2009-10-06 01:31:39 -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  
				
					
						
							
							
								 
						
							
							
								b6718641dc 
								
							
								 
							
						 
						
							
							
								
								Converted some callback fns to use member-fn pointers  
							
							
							
						 
						
							2009-09-28 19:45:10 +01:00  
				
					
						
							
							
								 
						
							
							
								9b7412b8f8 
								
							
								 
							
						 
						
							
							
								
								Moved PRIMITIVE and PRIMITIVE_FORWARDs to primitives.[ch]pp  
							
							
							
						 
						
							2009-09-27 19:42:18 +01:00  
				
					
						
							
							
								 
						
							
							
								d017a53227 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'vm_cleanup' of git://github.com/phildawes/factor  
							
							
							
						 
						
							2009-09-25 19:04:19 -05:00  
				
					
						
							
							
								 
						
							
							
								11d716e8f7 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							
							
						 
						
							2009-09-25 18:23:36 -05:00  
				
					
						
							
							
								 
						
							
							
								b14c683b32 
								
							
								 
							
						 
						
							
							
								
								vm: ignore 'declare' calls in non-optimizing compiler  
							
							
							
						 
						
							2009-09-25 18:08:21 -05:00  
				
					
						
							
							
								 
						
							
							
								6b7717bf37 
								
							
								 
							
						 
						
							
							
								
								forwarding functions replaced with PRIMITIVE_FORWARD() macro  
							
							
							
						 
						
							2009-09-25 20:43:01 +01:00  
				
					
						
							
							
								 
						
							
							
								e26bbbe9a0 
								
							
								 
							
						 
						
							
							
								
								removed VM_ASM_API_OVERFLOW (VM_ASM_API now regparm(3))  
							
							
							
						 
						
							2009-09-25 20:33:38 +01:00  
				
					
						
							
							
								 
						
							
							
								6bb647d308 
								
							
								 
							
						 
						
							
							
								
								fix lazy_jit_compile to not abuse stack on x86.32  
							
							
							
						 
						
							2009-09-24 19:59:37 +01:00  
				
					
						
							
							
								 
						
							
							
								57840562f5 
								
							
								 
							
						 
						
							
							
								
								renamed myvm member variable to parent_vm  
							
							
							
						 
						
							2009-09-24 08:16:57 +01:00  
				
					
						
							
							
								 
						
							
							
								83b0769eef 
								
							
								 
							
						 
						
							
							
								
								renamed factorvm to factor_vm  
							
							
							
						 
						
							2009-09-24 08:16:52 +01:00  
				
					
						
							
							
								 
						
							
							
								e3ac531fdb 
								
							
								 
							
						 
						
							
							
								
								renamed vmprim_ to primitive_  
							
							
							
						 
						
							2009-09-24 08:02:13 +01:00  
				
					
						
							
							
								 
						
							
							
								b02c602a89 
								
							
								 
							
						 
						
							
							
								
								added vm passing to some alien/boxing functions and added some vm asserts  
							
							
							
						 
						
							2009-09-16 08:20:10 +01:00  
				
					
						
							
							
								 
						
							
							
								2f3cd4d23d 
								
							
								 
							
						 
						
							
							
								
								removed some vm-> pointers  
							
							
							
						 
						
							2009-09-16 08:17:26 +01:00  
				
					
						
							
							
								 
						
							
							
								ef16c4be66 
								
							
								 
							
						 
						
							
							
								
								moved userenv into vm in C code (DOESNT BOOTSTRAP YET!!!)  
							
							
							
						 
						
							2009-09-16 08:16:32 +01:00  
				
					
						
							
							
								 
						
							
							
								465f06ebc2 
								
							
								 
							
						 
						
							
							
								
								throw_impl now forwards the vm ptr  
							
							
							
						 
						
							2009-09-16 08:16:30 +01:00  
				
					
						
							
							
								 
						
							
							
								4afc16e95b 
								
							
								 
							
						 
						
							
							
								
								passing vm ptr to lazy_jit_compile mostly working  
							
							
							
						 
						
							2009-09-16 08:16:30 +01:00