Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								9df955e199 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: big changes which removes the last basic-block uses  
							
							 
							
							... 
							
							
							
							All intrinsic code generating words signatures are changed from ( node
-- ) to ( block node -- block' ) so the current block is now always
passed on the stack. 
							
						 
						
							2016-03-09 23:24:42 +01:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								f9c6d7cc43 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: changes to remove basic-block variable  
							
							 
							
							... 
							
							
							
							The emit-node generics signature is changed to ( block node -- block' )
so that it always returns the next block to operate on. Signature for a
lot of related words are changed similarily. Now there is only a few
basic-block usages left. 
							
						 
						
							2016-03-09 23:24:42 +01:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								07adc2ecae 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: changed generic emit-node to take the current block as  
							
							 
							
							... 
							
							
							
							stack parameter
The idea is to eventually completely remove the basic-block dynamic
variable from cfg construction. 
							
						 
						
							2016-03-09 23:24:42 +01:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								63fd4d25cf 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: more fixes to pass basic-block on the stack than in a  
							
							 
							
							... 
							
							
							
							dynamic variable 
							
						 
						
							2015-11-22 01:06:11 +01:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								1421779c9e 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: refactors words to take a block parameter instead of  
							
							 
							
							... 
							
							
							
							using the basic-block dynamic variable
the idea is to make the code easier to follow by limiting the use of
dynamic variables 
							
						 
						
							2015-11-22 00:37:34 +01:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								bc7f9ee669 
								
							
								 
							
						 
						
							
							
								
								VM: always use undecorated names when loading ffi functions  
							
							 
							
							... 
							
							
							
							For win32, Factor tries four different function names when loading
stdcall and fastcall functions, in case decorated names are used in the
dll. It seems to not be necessary because a dll meant for 3rd party use
will always export undecorated
names (http://blogs.msdn.com/b/oldnewthing/archive/2004/01/12/57833.aspx ). 
							
						 
						
							2015-09-02 21:54:41 +02:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								330c7ba156 
								
							
								 
							
						 
						
							
							
								
								factor: Removing SLOT: nth/at/global in favor of using change: at for tuple slots named ``at`` and change-at for hashtables.  
							
							 
							
							... 
							
							
							
							Redo many FROM: and QUALIFIED: and using lists. 
							
						 
						
							2015-08-12 08:49:02 -05:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								8f02cad9c5 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: a bunch of new tests  
							
							 
							
							
							
						 
						
							2015-05-09 20:04:22 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								5ca23c4793 
								
							
								 
							
						 
						
							
							
								
								compiler.*: a few extra doc fixes  
							
							 
							
							
							
						 
						
							2015-04-30 04:51:58 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								6097e80178 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: fixing tests so they work on 32bit archs too  
							
							 
							
							
							
						 
						
							2015-04-30 04:49:48 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								b983053130 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: putting test-init in compiler.cfg.stacks.tests didn't work, put new word cfg-unit-test in compiler.test  
							
							 
							
							
							
						 
						
							2015-04-29 09:31:55 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								cc1903bec1 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: some refactoring in the stack tracking for #shuffle nodes  
							
							 
							
							... 
							
							
							
							instead of having separate words for the stacks like inc-d/r and ds/rs-store use generic words that work on either stack 
							
						 
						
							2015-04-29 09:31:55 -07:00  
						
					 
				
					
						
							
							
								 
								John Benediktsson
							
						 
						
							 
							
							
							
								
							
								c65877104e 
								
							
								 
							
						 
						
							
							
								
								compiler: cleanup usings.  
							
							 
							
							
							
						 
						
							2014-12-13 16:10:21 -08:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								52d3affeb8 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: the ##alien-assembly instruction does not use a gc-map  
							
							 
							
							
							
						 
						
							2014-12-08 18:13:46 -08:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								a617855aef 
								
							
								 
							
						 
						
							
							
								
								Docs: fixing smaller help-lint nitpicks  
							
							 
							
							
							
						 
						
							2014-10-19 14:05:06 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								83cf4b9d57 
								
							
								 
							
						 
						
							
							
								
								compiler,cpu: more docs  
							
							 
							
							
							
						 
						
							2014-10-17 23:18:57 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								769ca5550f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: docs for compiler words  
							
							 
							
							
							
						 
						
							2014-08-13 11:01:11 -07:00  
						
					 
				
					
						
							
							
								 
								John Benediktsson
							
						 
						
							 
							
							
							
								
							
								bf473ec943 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: fix some docs.  
							
							 
							
							
							
						 
						
							2014-06-08 18:20:27 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								c76a994f27 
								
							
								 
							
						 
						
							
							
								
								Docs: new stub documentation for vocabs in compiler.cfg  
							
							 
							
							
							
						 
						
							2014-06-08 11:48:29 -07:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								f820215b1e 
								
							
								 
							
						 
						
							
							
								
								alien.libraries: Rename library to lookup-library.  
							
							 
							
							
							
						 
						
							2013-03-23 17:16:46 -07:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								7c77597b09 
								
							
								 
							
						 
						
							
							
								
								issue  #358 : fix a couple compiler errors  
							
							 
							
							
							
						 
						
							2012-06-21 08:35:47 -07:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								6cca0ea468 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: Rename <##foo> to ##foo, in the low-level IR  
							
							 
							
							
							
						 
						
							2011-11-11 19:48:38 -08:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								eb2a0c611b 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: Change low-level IR constructors from ##foo to <##foo>  
							
							 
							
							
							
						 
						
							2011-11-06 23:02:46 -08:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								06218d5d12 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.builder.alien: fix compilation of callbacks which unconditionally throw errors  
							
							 
							
							
							
						 
						
							2011-10-02 19:52:12 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								d6668caf7d 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.builder.alien: fix caller-linkage to return the DLL and not the library tuple again; fixes issue  #121  
							
							 
							
							
							
						 
						
							2011-09-13 15:10:48 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								5703e8d7a1 
								
							
								 
							
						 
						
							
							
								
								alien.libraries, compiler.cfg.builder.alien: if `dlopen` fails during `<library>`, call `dlerror` and store the error message in the library object; put the dlerror message in the linkage-error when a word from the library is compiled  
							
							 
							
							
							
						 
						
							2011-09-12 23:25:59 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								b6e0f0180b 
								
							
								 
							
						 
						
							
							
								
								alien.libraries, compiler.cfg.builder.alien: include the result of dlerror/GetLastError in the linkage-error for missing symbols  
							
							 
							
							
							
						 
						
							2011-09-12 23:25:59 -07:00  
						
					 
				
					
						
							
							
								 
								Erik Charlebois
							
						 
						
							 
							
							
							
								
							
								64252dbdbc 
								
							
								 
							
						 
						
							
							
								
								32 and 64 bit Linux PPC support  
							
							 
							
							
							
						 
						
							2011-05-23 23:36:14 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b5fc39c198 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: Reading the return value of a float-returning function on x86-32 had a side effect of popping the x87 stack, so it was not correct for DCE to just eliminate this if the return value was not used. Fix this by adding a new dead-outputs slot to alien-call-insns and having DCE move dead returns there  
							
							 
							
							
							
						 
						
							2010-08-13 23:19:56 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								168dd1f825 
								
							
								 
							
						 
						
							
							
								
								FFI rewrite part 7: compile callback bodies with the optimizing compiler  
							
							 
							
							
							
						 
						
							2010-07-28 00:49:26 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b23aac1beb 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: open-code parameter boxing and unboxing for certain C types  
							
							 
							
							
							
						 
						
							2010-07-19 10:25:13 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e3edb2653d 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.intrinsics.allot: clean up  
							
							 
							
							
							
						 
						
							2010-07-16 20:04:03 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e5dd21b0b9 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: nuke ##allot-byte-array instruction  
							
							 
							
							
							
						 
						
							2010-07-16 19:57:45 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0fd636b4b9 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: ##unbox-long-long can have multiple outputs now, clean up long long parameter passing code using this  
							
							 
							
							
							
						 
						
							2010-07-15 19:49:29 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e27adb2830 
								
							
								 
							
						 
						
							
							
								
								compiler: re-architect low-level optimizer to allow more than one output value per instruction  
							
							 
							
							
							
						 
						
							2010-07-13 07:40:14 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a55c8ee671 
								
							
								 
							
						 
						
							
							
								
								FFI rewrite part 6: deconcatenatize  
							
							 
							
							
							
						 
						
							2010-07-02 15:44:12 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e86f434f26 
								
							
								 
							
						 
						
							
							
								
								Add GC maps to ##box, ##box-long-long, ##alien-invoke, ##alien-indirect and ##call-gc; remove ##gc-map instruction  
							
							 
							
							
							
						 
						
							2010-06-14 19:39:46 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ba7cb61133 
								
							
								 
							
						 
						
							
							
								
								Stack allocation improvements  
							
							 
							
							... 
							
							
							
							- New with-out-parameters combinator
- Inhibit tail call optimization in frames with local allocation, to ensure that passing a stack allocated value to the last word in the quotation works
- local allocations are now aligned properly
- spill slots are now aligned properly aligned in frames which have parameter and local allocation areas 
							
						 
						
							2010-05-22 02:37:00 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9e59192c73 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.builder.alien: use ##local-allot to fix value struct passing on Win64  
							
							 
							
							
							
						 
						
							2010-05-19 01:53:32 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								91cd3b854d 
								
							
								 
							
						 
						
							
							
								
								Use ##local-allot to simplify longlong unboxing  
							
							 
							
							
							
						 
						
							2010-05-19 01:07:22 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								77516c6932 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: generalize ##prepare-struct-caller instruction to alloca()-like ##local-allot  
							
							 
							
							
							
						 
						
							2010-05-19 00:33:15 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7ff309d50e 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: get rid of this extra-stack-space nonsense  
							
							 
							
							
							
						 
						
							2010-05-17 02:14:44 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3f8e13bf66 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: refactor stack frame code and fix frame pointer usage in callbacks  
							
							 
							
							
							
						 
						
							2010-05-16 21:04:40 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a7b5957f6d 
								
							
								 
							
						 
						
							
							
								
								compiler: hack to make XCreateIC() work on x86-64  
							
							 
							
							
							
						 
						
							2010-05-16 04:49:53 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e6abc0be15 
								
							
								 
							
						 
						
							
							
								
								Fixes for FFI changes  
							
							 
							
							
							
						 
						
							2010-05-16 04:09:47 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5b48cd2a63 
								
							
								 
							
						 
						
							
							
								
								FFI rewrite part 5: return value boxing and callback parameter boxing now uses vregs; simplify return value unboxing  
							
							 
							
							
							
						 
						
							2010-05-16 03:43:23 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								db2db6a1a6 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.builder.alien: fix for x86-32  
							
							 
							
							
							
						 
						
							2010-05-12 18:07:11 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								42b0d456cd 
								
							
								 
							
						 
						
							
							
								
								Refactor x86-32 stack cleanup logic  
							
							 
							
							
							
						 
						
							2010-05-12 02:09:11 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f89b85db7b 
								
							
								 
							
						 
						
							
							
								
								Temporary fixes for x86-32 until FFI boxing is rewritten  
							
							 
							
							
							
						 
						
							2010-05-12 01:41:49 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0cde5c8fb5 
								
							
								 
							
						 
						
							
							
								
								Eliminate compiler.alien  
							
							 
							
							
							
						 
						
							2010-05-11 23:24:47 -04:00