Doug Coleman
							
						 
						
							 
							
							
							
								
							
								e6e7655cbd 
								
							
								 
							
						 
						
							
							
								
								vm: Fix some really minor warnings.  
							
							 
							
							
							
						 
						
							2018-07-27 21:35:55 -05:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								51408b66cb 
								
							
								 
							
						 
						
							
							
								
								VM: the jit class doesn't need to store the code block type  
							
							 
							
							
							
						 
						
							2016-10-19 09:28:59 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								453eca66c4 
								
							
								 
							
						 
						
							
							
								
								VM: changing case of code_block_type  
							
							 
							
							
							
						 
						
							2016-10-19 09:14:58 +02:00  
						
					 
				
					
						
							
							
								 
								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
							
						 
						
							 
							
							
							
								
							
								59443dca01 
								
							
								 
							
						 
						
							
							
								
								VM: new method quotation_jit:nth  
							
							 
							
							... 
							
							
							
							It's less tedious than writing array_nth(elements.untagged(), i + N) everywhere 
							
						 
						
							2016-05-31 03:37:24 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								3b016bc254 
								
							
								 
							
						 
						
							
							
								
								VM: a bunch of more methods on the factor_vm class that can be made into funtions  
							
							 
							
							
							
						 
						
							2016-05-30 07:44:26 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								00a64c9271 
								
							
								 
							
						 
						
							
							
								
								VM: name change no_non_safepoint_words_p -> stack_frame_p  
							
							 
							
							... 
							
							
							
							It returns true if the quotation should be wrapped in a stack frame. 
							
						 
						
							2016-05-30 07:44:20 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								1fddf79724 
								
							
								 
							
						 
						
							
							
								
								VM: moving a few methods arounds  
							
							 
							
							... 
							
							
							
							word_call, word_jump and emit_mega_cache_lookup are only used in quotations.cpp so they should be defined there too. 
							
						 
						
							2016-05-30 03:03:10 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								3f9fa7e39e 
								
							
								 
							
						 
						
							
							
								
								VM: emit_prolog/emit_epilog can be simplified because stack frame and  
							
							 
							
							... 
							
							
							
							safe point is always emitted together 
							
						 
						
							2015-08-14 20:19:51 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								358fae93c9 
								
							
								 
							
						 
						
							
							
								
								VM: the stack_frame_p() and safepoint_p() functions appear to be  
							
							 
							
							... 
							
							
							
							semantically identical, let's merge them into a
no_non_safepoint_words_p() function 
							
						 
						
							2015-08-14 20:19:50 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								f5f8ce1501 
								
							
								 
							
						 
						
							
							
								
								VM: word_stack_frame_p() is not used and find_all_quotations() is  
							
							 
							
							... 
							
							
							
							trivial so those methods can be removed 
							
						 
						
							2015-08-04 16:02:09 +02:00  
						
					 
				
					
						
							
							
								 
								John Benediktsson
							
						 
						
							 
							
							
							
								
							
								b065d6172d 
								
							
								 
							
						 
						
							
							
								
								vm: rename emit_quot to emit_quotation.  
							
							 
							
							
							
						 
						
							2015-07-15 11:21:20 -07:00  
						
					 
				
					
						
							
							
								 
								Erik Charlebois
							
						 
						
							 
							
							
							
								
							
								7b1b1eef23 
								
							
								 
							
						 
						
							
							
								
								VM: Remove unnecessary _ suffix in constructors  
							
							 
							
							
							
						 
						
							2013-05-12 23:20:43 -04:00  
						
					 
				
					
						
							
							
								 
								Erik Charlebois
							
						 
						
							 
							
							
							
								
							
								26ff071205 
								
							
								 
							
						 
						
							
							
								
								VM: Remove unnecessary explicit keywords  
							
							 
							
							
							
						 
						
							2013-05-12 21:48:38 -04:00  
						
					 
				
					
						
							
							
								 
								Erik Charlebois
							
						 
						
							 
							
							
							
								
							
								435ac636c6 
								
							
								 
							
						 
						
							
							
								
								VM: Refactor quotations.cpp/hpp to Factor style  
							
							 
							
							
							
						 
						
							2013-05-12 13:24:47 -04:00  
						
					 
				
					
						
							
							
								 
								Erik Charlebois
							
						 
						
							 
							
							
							
								
							
								ca2ea548be 
								
							
								 
							
						 
						
							
							
								
								VM: Remove exec bit from VM source files  
							
							 
							
							
							
						 
						
							2013-05-11 17:04:23 -04:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								7844c66d6e 
								
							
								 
							
						 
						
							
							
								
								vm: factor out word_stack_frame_size  
							
							 
							
							
							
						 
						
							2011-12-14 09:56:49 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								44b608bb22 
								
							
								 
							
						 
						
							
							
								
								vm: emit safepoints before VM compiler prologs  
							
							 
							
							... 
							
							
							
							For #379  
							
						 
						
							2011-11-23 11:11:25 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								6bb46a3f1e 
								
							
								 
							
						 
						
							
							
								
								vm: always generate safepoints in jit  
							
							 
							
							... 
							
							
							
							Even if there's no stack frame we still need to safepoint before leaving the function. Fixes  #332 . 
							
						 
						
							2011-11-03 11:57:43 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								15eb8d1a0a 
								
							
								 
							
						 
						
							
							
								
								vm: remove VM_ASM_API  
							
							 
							
							
							
						 
						
							2009-12-24 01:37:24 +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
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								838a44e901 
								
							
								 
							
						 
						
							
							
								
								vm: change code heap layout somewhat, remove unused allocation bitmap from mark_bits  
							
							 
							
							
							
						 
						
							2009-10-20 09:37:24 -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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								ded33eda87 
								
							
								 
							
						 
						
							
							
								
								removed some superflous newlines  
							
							 
							
							
							
						 
						
							2009-10-01 07:33:16 +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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								83b0769eef 
								
							
								 
							
						 
						
							
							
								
								renamed factorvm to factor_vm  
							
							 
							
							
							
						 
						
							2009-09-24 08:16:52 +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
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								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
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								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