2f835d3666 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.*: implements downgrading to fixnum for the  
							
							... 
							
							
							
							mod word, maybe a first step in solving #224 
factor_vm::primitive_bignum_mod is changed so that it outputs a fixnum
if the value is small enough. Then the compiler can take advantage of
knowing that expressions like [ >bignum 10 mod ] always result in a
fixnum [-9,9] and inline more arithmetic. 
							
						 
						
							2015-06-27 16:14:58 +02:00  
				
					
						
							
							
								 
						
							
							
								72fe466ac9 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.known-words: more precise output class  
							
							... 
							
							
							
							assignment for all mod words
The compiler can better optimize a quotation like [ 20 fixnum-mod 55 + ]
if it knows fixnum-mod outputs a fixnum. 
							
						 
						
							2015-06-27 16:14:57 +02:00  
				
					
						
							
							
								 
						
							
							
								09e4606791 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.debugger: alien-invoke insn nodes were printing double quotes in the dot file output. If you would pprint a string, instead print that string so the double quotes are not present in the output.  
							
							
							
						 
						
							2015-06-24 18:46:39 -07:00  
				
					
						
							
							
								 
						
							
							
								16abe47b03 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: fix tests for bit? inlining.  
							
							
							
						 
						
							2015-06-17 20:52:05 -07:00  
				
					
						
							
							
								 
						
							
							
								621b50a8e5 
								
							
								 
							
						 
						
							
							
								
								cpu: enable bit-test intrinsic for fixnum-bit?.  
							
							
							
						 
						
							2015-06-17 19:11:10 -07:00  
				
					
						
							
							
								 
						
							
							
								423b2afb91 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.allocation: fix docs for free-position.  
							
							
							
						 
						
							2015-06-16 20:38:34 -07:00  
				
					
						
							
							
								 
						
							
							
								3678f62508 
								
							
								 
							
						 
						
							
							
								
								x86.64: change the register order so that RBX is allocated before RCX  
							
							
							
						 
						
							2015-06-16 18:28:32 -07:00  
				
					
						
							
							
								 
						
							
							
								8c8605d11a 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.*: more tests and docs for allocation and state  
							
							
							
						 
						
							2015-06-16 18:28:32 -07:00  
				
					
						
							
							
								 
						
							
							
								78fe8bf1dc 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.*: dont use a hashtable here, it fixes register  
							
							... 
							
							
							
							allocation so it's always in the same order as machine-registers 
							
						 
						
							2015-06-16 18:28:32 -07:00  
				
					
						
							
							
								 
						
							
							
								d4e3adca57 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.destruction.coalescing: lookup variable once not twice.  
							
							
							
						 
						
							2015-06-15 09:11:16 -07:00  
				
					
						
							
							
								 
						
							
							
								aeaed40d9c 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.destruction.coalescing: new vocab to refactor and  
							
							... 
							
							
							
							simplify the prepare-insn code in compiler.cfg.ssa.destruction 
							
						 
						
							2015-06-15 12:28:31 +02:00  
				
					
						
							
							
								 
						
							
							
								c5ec490f39 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.destruction: the natural-sort was malplaced, only sort  
							
							... 
							
							
							
							inputs from ##phi, should fix remainder of #1345  
							
						 
						
							2015-06-15 12:28:30 +02:00  
				
					
						
							
							
								 
						
							
							
								c0645ecafe 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.*: fix help-lint errors  
							
							
							
						 
						
							2015-06-14 16:44:37 +02:00  
				
					
						
							
							
								 
						
							
							
								5ad35fabd1 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: lots of more compiler docs  
							
							
							
						 
						
							2015-06-14 16:44:37 +02:00  
				
					
						
							
							
								 
						
							
							
								418438ab13 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.*: change compute-live-intervals so that it  
							
							... 
							
							
							
							returns only one sequence, it makes some words a little simpler 
							
						 
						
							2015-06-14 16:44:37 +02:00  
				
					
						
							
							
								 
						
							
							
								f37ab939f0 
								
							
								 
							
						 
						
							
							
								
								compiler.*: more compiler docs  
							
							
							
						 
						
							2015-06-14 16:44:37 +02:00  
				
					
						
							
							
								 
						
							
							
								91118ae5df 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.allocation.state:  fix   #1345  by adding vreg to  
							
							... 
							
							
							
							the heap key
By having { start end vreg } as the key in the min-heap ordering is
guaranteed even if two intervals share the same start and end. 
							
						 
						
							2015-06-14 16:44:37 +02:00  
				
					
						
							
							
								 
						
							
							
								9dbb3e9171 
								
							
								 
							
						 
						
							
							
								
								compiler.codegen.gc-maps: simplies largest-spill-slot and refactors serialize-gc-maps  
							
							
							
						 
						
							2015-06-14 16:44:37 +02:00  
				
					
						
							
							
								 
						
							
							
								ca2d64af68 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.destruction: try and sort the vreg pairs before  
							
							... 
							
							
							
							elimination, this way you always get the same leader info 
							
						 
						
							2015-06-14 16:44:36 +02:00  
				
					
						
							
							
								 
						
							
							
								be342e8638 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.destruction: refactors maybe/must-eliminate-copy into  
							
							... 
							
							
							
							one try-eliminate-copy 
							
						 
						
							2015-06-14 16:44:36 +02:00  
				
					
						
							
							
								 
						
							
							
								98ae0eb02e 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.destruction: small refactoring which removes  
							
							... 
							
							
							
							class-elements and maybe-eliminate-copy-later 
							
						 
						
							2015-06-14 16:44:36 +02:00  
				
					
						
							
							
								 
						
							
							
								ceff23339c 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.destruction: a bunch of new docs  
							
							
							
						 
						
							2015-06-14 16:44:36 +02:00  
				
					
						
							
							
								 
						
							
							
								b4f881a9be 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.destruction.tests: a bunch of new tests  
							
							
							
						 
						
							2015-06-14 16:44:36 +02:00  
				
					
						
							
							
								 
						
							
							
								dfa763434e 
								
							
								 
							
						 
						
							
							
								
								Fix tests broken by word hashcode change.  
							
							
							
						 
						
							2015-06-09 20:37:55 -07:00  
				
					
						
							
							
								 
						
							
							
								d68175f48f 
								
							
								 
							
						 
						
							
							
								
								Some more general fixes for recent refactors.  
							
							
							
						 
						
							2015-06-08 19:15:29 -07:00  
				
					
						
							
							
								 
						
							
							
								6e60c811ac 
								
							
								 
							
						 
						
							
							
								
								core: Rename create to create-word, create-in to create-word-in.  
							
							
							
						 
						
							2015-06-08 12:47:35 -07:00  
				
					
						
							
							
								 
						
							
							
								fa2bf33659 
								
							
								 
							
						 
						
							
							
								
								compiler.tree: renaming is hard. cleanup -> cleanup-tree  
							
							
							
						 
						
							2015-06-05 23:18:43 -07:00  
				
					
						
							
							
								 
						
							
							
								16094d283b 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.debugger: more "cleanup"  
							
							
							
						 
						
							2015-06-05 23:04:05 -07:00  
				
					
						
							
							
								 
						
							
							
								a0cb7b4fd8 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.cleanup: Fix docs  
							
							
							
						 
						
							2015-06-05 21:22:50 -07:00  
				
					
						
							
							
								 
						
							
							
								808342076d 
								
							
								 
							
						 
						
							
							
								
								compiler: rename cleanup to cleanup-tree, cleanup* to cleanup-tree*  
							
							
							
						 
						
							2015-06-05 21:08:18 -07:00  
				
					
						
							
							
								 
						
							
							
								a66bed77b3 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.clearing: fix help-lint.  
							
							
							
						 
						
							2015-05-18 10:02:35 -07:00  
				
					
						
							
							
								 
						
							
							
								c7ea419874 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.clearing: fix tests.  
							
							
							
						 
						
							2015-05-17 09:32:44 -07:00  
				
					
						
							
							
								 
						
							
							
								9ceea3c241 
								
							
								 
							
						 
						
							
							
								
								compiler.*: new cfg instruction ##clear, it makes it easier to see where  
							
							... 
							
							
							
							the compiler.cfg.stacks.clearing pass inserts extra instructions 
							
						 
						
							2015-05-17 07:59:34 +02:00  
				
					
						
							
							
								 
						
							
							
								655faadec9 
								
							
								 
							
						 
						
							
							
								
								compiler.*: now when we're tracking uninitialized locations instead of  
							
							... 
							
							
							
							initialized ones, the height slot isn't needed on ##call anymore 
							
						 
						
							2015-05-17 07:59:34 +02:00  
				
					
						
							
							
								 
						
							
							
								6dd2fe31b6 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.*: new attempt at fixing the gc maps bugs  
							
							... 
							
							
							
							the padding vocab is inverted so that instead of trying to track which
locations are live, it tracks those which are dead which is much easier
to get right. 
							
						 
						
							2015-05-17 07:59:34 +02:00  
				
					
						
							
							
								 
						
							
							
								aa1a5f22ba 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.debugger: fix docs using.  
							
							
							
						 
						
							2015-05-14 08:16:27 -07:00  
				
					
						
							
							
								 
						
							
							
								2c3492a916 
								
							
								 
							
						 
						
							
							
								
								minor cleanup to some docs.  
							
							
							
						 
						
							2015-05-13 16:09:14 -07:00  
				
					
						
							
							
								 
						
							
							
								296968580a 
								
							
								 
							
						 
						
							
							
								
								use assoc-reject instead of [ ... not ] assoc-filter.  
							
							
							
						 
						
							2015-05-12 19:08:42 -07:00  
				
					
						
							
							
								 
						
							
							
								b366a06c41 
								
							
								 
							
						 
						
							
							
								
								use reject instead of [ ... not ] filter.  
							
							
							
						 
						
							2015-05-12 18:50:34 -07:00  
				
					
						
							
							
								 
						
							
							
								f9a6bb27f4 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: new test-case and setting leader-map to f is better  
							
							
							
						 
						
							2015-05-09 20:10:27 -07:00  
				
					
						
							
							
								 
						
							
							
								409a32d555 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.padding: docs  
							
							
							
						 
						
							2015-05-09 20:04:23 -07:00  
				
					
						
							
							
								 
						
							
							
								24dc0679dc 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.destruction: fix and testcase for the  
							
							... 
							
							
							
							"lookup-base-pointer* does not define a method for the POSTPONE: f
class" bug 
							
						 
						
							2015-05-09 20:04:22 -07:00  
				
					
						
							
							
								 
						
							
							
								ecf3829843 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.*: new vocab 'padding' to perform much more accurate  
							
							... 
							
							
							
							live analysis. it will replace the 'map' vocab 
							
						 
						
							2015-05-09 20:04:22 -07:00  
				
					
						
							
							
								 
						
							
							
								0c2559ef6e 
								
							
								 
							
						 
						
							
							
								
								compiler.*: a bunch more compiler docs  
							
							
							
						 
						
							2015-05-09 20:04:22 -07:00  
				
					
						
							
							
								 
						
							
							
								e2c91852e4 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.utilities: unused word  
							
							
							
						 
						
							2015-05-09 20:04:22 -07:00  
				
					
						
							
							
								 
						
							
							
								8df92abeb9 
								
							
								 
							
						 
						
							
							
								
								compiler.*,cpu.*: add a height slot to ##call nodes, then other compiler  
							
							... 
							
							
							
							passes can much easier to accurate liveness analysis on stack locations 
							
						 
						
							2015-05-09 20:04:22 -07:00  
				
					
						
							
							
								 
						
							
							
								8f02cad9c5 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: a bunch of new tests  
							
							
							
						 
						
							2015-05-09 20:04:22 -07:00  
				
					
						
							
							
								 
						
							
							
								a195e361df 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.*: create-locs, word for creating stack locations  
							
							... 
							
							
							
							from a sequence 
							
						 
						
							2015-05-09 20:04:21 -07:00  
				
					
						
							
							
								 
						
							
							
								62ea429c2b 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.assignment: Trivial docs fix.  
							
							
							
						 
						
							2015-04-30 18:39:31 -07:00  
				
					
						
							
							
								 
						
							
							
								a7cd03b45d 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.assignment: fix help-lint.  
							
							
							
						 
						
							2015-04-30 17:20:52 -07:00  
				
					
						
							
							
								 
						
							
							
								5ca23c4793 
								
							
								 
							
						 
						
							
							
								
								compiler.*: a few extra doc fixes  
							
							
							
						 
						
							2015-04-30 04:51:58 +02:00  
				
					
						
							
							
								 
						
							
							
								6097e80178 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: fixing tests so they work on 32bit archs too  
							
							
							
						 
						
							2015-04-30 04:49:48 +02:00  
				
					
						
							
							
								 
						
							
							
								b4e7ffede4 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.local: test and fix for a silly bug in  
							
							... 
							
							
							
							compute-local-kill-set (switched the order on ds and rs) 
							
						 
						
							2015-04-29 09:32:00 -07:00  
				
					
						
							
							
								 
						
							
							
								9fc73c3355 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.local: unused words  
							
							
							
						 
						
							2015-04-29 09:32:00 -07:00  
				
					
						
							
							
								 
						
							
							
								d0c1493f36 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linearization: can't use slurp/replenish-queue here because  
							
							... 
							
							
							
							the successors need to be pushed to the back of the deque 
							
						 
						
							2015-04-29 09:32:00 -07:00  
				
					
						
							
							
								 
						
							
							
								24ca0e3160 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: reverting the commit  
							
							... 
							
							
							
							5fd9e61bc04b054d58b8eeecbe9b5c59f68f2195, caused bad regressions in SIMD code 
							
						 
						
							2015-04-29 09:31:59 -07:00  
				
					
						
							
							
								 
						
							
							
								050e15ce83 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.debugger: new words build-optimized-tree and run-passes to  
							
							... 
							
							
							
							remove some duplicated code 
							
						 
						
							2015-04-29 09:31:59 -07:00  
				
					
						
							
							
								 
						
							
							
								6215561ad4 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: more docs and removing a test that isn't relevant anymore  
							
							
							
						 
						
							2015-04-29 09:31:59 -07:00  
				
					
						
							
							
								 
						
							
							
								17dff48402 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.*: refactors words to use stack parameters instead of  
							
							... 
							
							
							
							dynamic variables 
							
						 
						
							2015-04-29 09:31:59 -07:00  
				
					
						
							
							
								 
						
							
							
								2077ae9180 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.assignment: refactoring vreg>reg and  
							
							... 
							
							
							
							assign-registers-in-block so locals aren't needed 
							
						 
						
							2015-04-29 09:31:59 -07:00  
				
					
						
							
							
								 
						
							
							
								135d7f5ff3 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: more unit tests  
							
							
							
						 
						
							2015-04-29 09:31:59 -07:00  
				
					
						
							
							
								 
						
							
							
								992314d2de 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: new word for consuming deques slurp/replenish-deque  
							
							... 
							
							
							
							most uses of slurp-deque processes one item and pushes a sequence of
items to continue working with. it can be formalized into a
slurp/replenish-deque combinator which also reduces the amount of
variables you need to use 
							
						 
						
							2015-04-29 09:31:58 -07:00  
				
					
						
							
							
								 
						
							
							
								c3ca8bd859 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: even more compiler docs  
							
							
							
						 
						
							2015-04-29 09:31:58 -07:00  
				
					
						
							
							
								 
						
							
							
								997f95196c 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: lots of new unit tests  
							
							
							
						 
						
							2015-04-29 09:31:58 -07:00  
				
					
						
							
							
								 
						
							
							
								167d1598b3 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.allocation.*: lots more docs and some word simplifications  
							
							
							
						 
						
							2015-04-29 09:31:58 -07:00  
				
					
						
							
							
								 
						
							
							
								63a1e90af8 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.cssa, compiler.cfg.ssa.destruction, compiler.utilities: docs & tests  
							
							
							
						 
						
							2015-04-29 09:31:58 -07:00  
				
					
						
							
							
								 
						
							
							
								16f6025979 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.allocation.spilling: docs and tests for this vocab  
							
							
							
						 
						
							2015-04-29 09:31:58 -07:00  
				
					
						
							
							
								 
						
							
							
								b827bc75cc 
								
							
								 
							
						 
						
							
							
								
								compiler.*: bunch of new docs for some compiler instructions  
							
							
							
						 
						
							2015-04-29 09:31:58 -07:00  
				
					
						
							
							
								 
						
							
							
								a17e943e88 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.liveness: refactoring so that words that doesn't modify  
							
							... 
							
							
							
							the live-set doesnt return it
e.g it's clearer when the effect is ( live-set insn -- ) than ( live-set insn -- live-set ) that the live-set is modified in place 
							
						 
						
							2015-04-29 09:31:57 -07:00  
				
					
						
							
							
								 
						
							
							
								c876d79b9d 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.liveness: lots of more tests and some docs  
							
							
							
						 
						
							2015-04-29 09:31:57 -07:00  
				
					
						
							
							
								 
						
							
							
								aa6fbf475e 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: the id slot of basic-block appears to not be needed  
							
							
							
						 
						
							2015-04-29 09:31:57 -07:00  
				
					
						
							
							
								 
						
							
							
								5cd44dc07c 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.allocation.state: set spill-area-size/align when the cfg tuple is created  
							
							
							
						 
						
							2015-04-29 09:31:57 -07:00  
				
					
						
							
							
								 
						
							
							
								d486de889d 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: smaller doc improvements  
							
							
							
						 
						
							2015-04-29 09:31:57 -07:00  
				
					
						
							
							
								 
						
							
							
								4cda101717 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.allocation.state: more docs and tests for vocab  
							
							
							
						 
						
							2015-04-29 09:31:57 -07:00  
				
					
						
							
							
								 
						
							
							
								043b6d5377 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.linear-scan: refactoring of word so that locals doesn't need to be used and more docs (by moving comments)  
							
							
							
						 
						
							2015-04-29 09:31:56 -07:00  
				
					
						
							
							
								 
						
							
							
								6c6f85428c 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.intrinsics.simd: refactoring to use assocs instead of case-s for lookups + tests  
							
							
							
						 
						
							2015-04-29 09:31:56 -07:00  
				
					
						
							
							
								 
						
							
							
								745d3f29b2 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: a bunch of new docstrings and other doc fixes  
							
							
							
						 
						
							2015-04-29 09:31:56 -07:00  
				
					
						
							
							
								 
						
							
							
								f9812d9874 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.*: possible fix for  #1289  
							
							... 
							
							
							
							instead of delaying outputting ##replace instructions to when they are
needed, output them directly in the block so that "holes" in the
stacks are avoided. 
							
						 
						
							2015-04-29 09:31:56 -07:00  
				
					
						
							
							
								 
						
							
							
								177a356240 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.local: refactorings on the vocab to try and make it using less dynamic variables  
							
							
							
						 
						
							2015-04-29 09:31:56 -07:00  
				
					
						
							
							
								 
						
							
							
								91144c0712 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.*: simplify the code a little by making replace-sets, peek-sets and kill-sets contain hash-sets instead of hash-tables  
							
							
							
						 
						
							2015-04-29 09:31:56 -07:00  
				
					
						
							
							
								 
						
							
							
								0ff4c68e15 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.local: to simplify, end-local-analysis can take the block it operates on as argument  
							
							
							
						 
						
							2015-04-29 09:31:56 -07:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								4390561a6e 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: new word reset-vreg-counter, useful for making test writing more convenient  
							
							
							
						 
						
							2015-04-29 09:31:55 -07:00  
				
					
						
							
							
								 
						
							
							
								2536943e82 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: new word connect-Nto1-bbs  
							
							... 
							
							
							
							using that word predecessors is already up-to-date so calling needs-predecessors isn't needed 
							
						 
						
							2015-04-29 09:31:55 -07:00  
				
					
						
							
							
								 
						
							
							
								8a7699e42c 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: refactoring to remove the initial-basic-block word  
							
							
							
						 
						
							2015-04-29 09:31:55 -07:00  
				
					
						
							
							
								 
						
							
							
								6559382028 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: ds-load removed  
							
							
							
						 
						
							2015-04-29 09:31:55 -07:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								eda9535ce6 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.call-effect: changing back call-effect-unsafe?, changing it made all images to large for some reason  
							
							
							
						 
						
							2015-04-29 09:31:55 -07:00  
				
					
						
							
							
								 
						
							
							
								837e098d41 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: a little more docs  
							
							
							
						 
						
							2015-04-29 09:31:54 -07:00  
				
					
						
							
							
								 
						
							
							
								ba4736ff75 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.local: change current-height to a two-tuple { { d emit-d } { r emit-r } } it makes the code a bit simpler  
							
							
							
						 
						
							2015-04-29 09:31:54 -07:00  
				
					
						
							
							
								 
						
							
							
								c360f0123b 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks: a few unused words removed  
							
							
							
						 
						
							2015-04-29 09:31:54 -07:00  
				
					
						
							
							
								 
						
							
							
								09238cee4b 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.call-effect: docs for this vocab  
							
							
							
						 
						
							2015-04-29 09:31:54 -07:00  
				
					
						
							
							
								 
						
							
							
								acc1bd3221 
								
							
								 
							
						 
						
							
							
								
								compiler.*: removing the check-d and check-r slots from gc-map and adjusting code that depended on those  
							
							
							
						 
						
							2015-04-29 09:31:53 -07:00  
				
					
						
							
							
								 
						
							
							
								2cd2aa498a 
								
							
								 
							
						 
						
							
							
								
								VM: the compiler doesn't emit any live overinitialized locations anymore  
							
							... 
							
							
							
							Any overinitialized location immediately becomes garbage and is not
reused again. This is very nice because then the gc maps can be
simpler again. 
							
						 
						
							2015-04-29 09:31:53 -07:00  
				
					
						
							
							
								 
						
							
							
								ded3760d46 
								
							
								 
							
						 
						
							
							
								
								compiler.*: merge of ##inc-r and ##inc-d into one instruction ##inc with a loc slot  
							
							... 
							
							
							
							this is nice because it leads to simpler code and matches how ##peek and ##replace instructions work 
							
						 
						
							2015-04-29 09:31:53 -07:00  
				
					
						
							
							
								 
						
							
							
								c7d9cb4c3d 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: new and improved docs  
							
							
							
						 
						
							2015-04-29 09:31:53 -07:00  
				
					
						
							
							
								 
						
							
							
								74ea76a3c9 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: unlikely? slot unused, lets get rid of it  
							
							
							
						 
						
							2015-04-29 09:31:53 -07:00  
				
					
						
							
							
								 
						
							
							
								bb504b7c3d 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dependence: this vocab was only used by scheduling so it isn't needed anymore  
							
							
							
						 
						
							2015-04-29 09:31:53 -07:00  
				
					
						
							
							
								 
						
							
							
								b3ebb04d6d 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: since the height and scheduling compiler passes aren't used anymore lets remove them  
							
							
							
						 
						
							2015-04-29 09:31:53 -07:00  
				
					
						
							
							
								 
						
							
							
								e7fc6a789e 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.*: more compiler tree docs  
							
							
							
						 
						
							2015-02-05 11:01:05 +00:00  
				
					
						
							
							
								 
						
							
							
								edf1bddd67 
								
							
								 
							
						 
						
							
							
								
								compiler.tests.optimizer: Re-enable the minor-gc test case that was  
							
							... 
							
							
							
							failing until bjourne's latest commits. 
							
						 
						
							2015-01-22 13:03:28 -08:00  
				
					
						
							
							
								 
						
							
							
								e4e6c0031a 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.clearing: Fix help-lint-all.  
							
							
							
						 
						
							2015-01-22 12:30:49 -08:00  
				
					
						
							
							
								 
						
							
							
								d2c0ae9fd9 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.*: more docs  
							
							
							
						 
						
							2015-01-22 12:17:21 -08:00  
				
					
						
							
							
								 
						
							
							
								71b054cf39 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.*: updated tests to match  
							
							
							
						 
						
							2015-01-22 12:17:21 -08:00  
				
					
						
							
							
								 
						
							
							
								3c1f223d90 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.*: use insn# as the key in the stack-record instead of the insn tuple itself  
							
							
							
						 
						
							2015-01-22 12:17:21 -08:00  
				
					
						
							
							
								 
						
							
							
								d19869f906 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.*: many new and fixed tests  
							
							
							
						 
						
							2015-01-22 12:17:21 -08:00  
				
					
						
							
							
								 
						
							
							
								d4493858da 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.*: vacant-peek checking readded  
							
							
							
						 
						
							2015-01-22 12:17:20 -08:00  
				
					
						
							
							
								 
						
							
							
								640759ffed 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: new step in finalization: clear-uninitialized  
							
							... 
							
							
							
							this step is supposed to analyze the cfg, find where there are peeks
that can cause stack underflow, and insert replace-imm instructions so
that there are no uninitialized stack locations if they do. could fix  #1187  
							
						 
						
							2015-01-22 12:17:20 -08:00  
				
					
						
							
							
								 
						
							
							
								fd06e22e9a 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.map: new vocab for creating an assoc that contains the stack state for each instruction in a cfg  
							
							
							
						 
						
							2015-01-22 12:17:20 -08:00  
				
					
						
							
							
								 
						
							
							
								163fef12f9 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: detached the normalize-height and schedule-instructions passes  
							
							... 
							
							
							
							those stages cause uninitialized "holes" in the stacks which in turn
causes gc errors if stack underflows occur 
							
						 
						
							2015-01-22 12:17:20 -08:00  
				
					
						
							
							
								 
						
							
							
								ceebc1d6c1 
								
							
								 
							
						 
						
							
							
								
								compiler: Fix help-lint for @bjourne's recent awesome docs.  
							
							
							
						 
						
							2015-01-17 14:02:59 -08:00  
				
					
						
							
							
								 
						
							
							
								b4e9334d04 
								
							
								 
							
						 
						
							
							
								
								compiler.tests.stack-trace: Fix unit test.  
							
							
							
						 
						
							2015-01-17 13:57:56 -08:00  
				
					
						
							
							
								 
						
							
							
								c4fbeccfa8 
								
							
								 
							
						 
						
							
							
								
								compiler.tests.optimizer: Disable minor-gc test case for now.  #1187 .  
							
							
							
						 
						
							2015-01-17 11:02:05 -08:00  
				
					
						
							
							
								 
						
							
							
								b6d25ba090 
								
							
								 
							
						 
						
							
							
								
								compiler.tests.stack-trace: unit tests against the  #1265  bugs  
							
							
							
						 
						
							2015-01-15 09:29:14 +00:00  
				
					
						
							
							
								 
						
							
							
								d0dde922bd 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: new unit test vocabs  
							
							
							
						 
						
							2014-12-31 03:37:17 +01:00  
				
					
						
							
							
								 
						
							
							
								5782855343 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: more docs  
							
							
							
						 
						
							2014-12-31 03:37:16 +01:00  
				
					
						
							
							
								 
						
							
							
								0432b17409 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: refactoring away the compute-global-sets word  
							
							
							
						 
						
							2014-12-31 03:37:16 +01:00  
				
					
						
							
							
								 
						
							
							
								79d294e4bf 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: docs and more tests  
							
							
							
						 
						
							2014-12-31 03:37:16 +01:00  
				
					
						
							
							
								 
						
							
							
								1bd4525ac6 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.local: refactoring making stack-changes and height-changes take and return stuff instead of using variables and the make building  
							
							
							
						 
						
							2014-12-31 03:37:16 +01:00  
				
					
						
							
							
								 
						
							
							
								e87be7b5c8 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.parallel-copy: docs  
							
							
							
						 
						
							2014-12-31 03:37:16 +01:00  
				
					
						
							
							
								 
						
							
							
								24c9dbe160 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.height: these words are unused  
							
							
							
						 
						
							2014-12-31 03:37:16 +01:00  
				
					
						
							
							
								 
						
							
							
								2ccbcd6af6 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: more compiler docs  
							
							
							
						 
						
							2014-12-31 03:37:16 +01:00  
				
					
						
							
							
								 
						
							
							
								e968c16139 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.finalize: initial docs  
							
							
							
						 
						
							2014-12-31 03:37:16 +01:00  
				
					
						
							
							
								 
						
							
							
								c2c722891e 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.save-contexts: fix help-lint.  
							
							
							
						 
						
							2014-12-15 15:11:06 -08:00  
				
					
						
							
							
								 
						
							
							
								2a893a110a 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.allocation.state: don't use slot.syntax.  
							
							
							
						 
						
							2014-12-15 13:10:59 -08:00  
				
					
						
							
							
								 
						
							
							
								aee55f1b83 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.assignment: forgot that i removed live-intervals>min-heap  
							
							
							
						 
						
							2014-12-15 21:04:53 +01:00  
				
					
						
							
							
								 
						
							
							
								d6c1c075ff 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.allocation: using slurp-heap  
							
							
							
						 
						
							2014-12-15 20:48:34 +01:00  
				
					
						
							
							
								 
						
							
							
								84f8f26ce8 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.allocation.state: doc fixing  
							
							
							
						 
						
							2014-12-15 20:44:53 +01:00  
				
					
						
							
							
								 
						
							
							
								35d00da765 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.allocation.*: maybe a fix for  #1227  
							
							... 
							
							
							
							The register allocator pops from the unhandled-intervals and
unhandled-sync-points heaps. If two live intervals share the same
start slot, then they can be popped in either order leading to
differently generated code. So instead use one
heap (unhandled-min-heap) and both the start and end slot as the heap
key to resolve tie-breakers 
							
						 
						
							2014-12-15 20:44:53 +01:00  
				
					
						
							
							
								 
						
							
							
								173f7c0869 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.scheduling: refactoring to use the simple-optimization combinator  
							
							
							
						 
						
							2014-12-15 20:44:07 +01:00  
				
					
						
							
							
								 
						
							
							
								8a011c8366 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: more docs  
							
							
							
						 
						
							2014-12-15 20:44:07 +01:00  
				
					
						
							
							
								 
						
							
							
								c810677b47 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.*: refactoring to simplify init-allocator and get rid of init-unhandled  
							
							
							
						 
						
							2014-12-15 20:44:06 +01:00  
				
					
						
							
							
								 
						
							
							
								fab478482e 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.allocation: refactoring to simplify the (allocate-registers) recursion  
							
							
							
						 
						
							2014-12-15 20:44:06 +01:00  
				
					
						
							
							
								 
						
							
							
								52c6009aeb 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.assignment: utility word heap-pop-while which lets you express expire-old-intervals and activate-new-intervals more nicely + tests  
							
							
							
						 
						
							2014-12-15 20:40:49 +01:00  
				
					
						
							
							
								 
						
							
							
								0af46ac4de 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.assignment: more docs and refactoring of the init-unhandled and assign-registers-in-block words  
							
							
							
						 
						
							2014-12-15 20:40:49 +01:00  
				
					
						
							
							
								 
						
							
							
								a7137f32ff 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.save-contexts: refactoring of the vocab, using the simple-optimization combinator and union classes you can shorten it a lot  
							
							
							
						 
						
							2014-12-15 20:36:27 +01:00  
				
					
						
							
							
								 
						
							
							
								e5c69d3e9b 
								
							
								 
							
						 
						
							
							
								
								compiler: try this for compiler.cfg.builder.alien.  
							
							
							
						 
						
							2014-12-13 18:44:35 -08:00  
				
					
						
							
							
								 
						
							
							
								a689211ae1 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.builder: use compiler.cfg.builder.alien.  
							
							
							
						 
						
							2014-12-13 18:08:50 -08:00  
				
					
						
							
							
								 
						
							
							
								c65877104e 
								
							
								 
							
						 
						
							
							
								
								compiler: cleanup usings.  
							
							
							
						 
						
							2014-12-13 16:10:21 -08:00  
				
					
						
							
							
								 
						
							
							
								46e0426795 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stack-frame: fix tests.  
							
							
							
						 
						
							2014-12-12 17:14:39 -08:00  
				
					
						
							
							
								 
						
							
							
								1911b183a0 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.build-stack-frame: fix tests.  
							
							
							
						 
						
							2014-12-12 15:22:22 -08:00  
				
					
						
							
							
								 
						
							
							
								8f4c4ea2e1 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.build-stack-frame: some cleanup.  
							
							
							
						 
						
							2014-12-12 11:59:23 -08:00  
				
					
						
							
							
								 
						
							
							
								c3a4bdcf68 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.resolve: use if-empty.  
							
							
							
						 
						
							2014-12-11 14:00:50 -08:00  
				
					
						
							
							
								 
						
							
							
								068ddd6c7b 
								
							
								 
							
						 
						
							
							
								
								compiler: cleanup cfg passes to have stack effect ( cfg -- )  
							
							
							
						 
						
							2014-12-11 12:48:43 -08:00  
				
					
						
							
							
								 
						
							
							
								33500db79f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: help-lint and test case fixes  
							
							
							
						 
						
							2014-12-11 15:02:40 +01:00  
				
					
						
							
							
								 
						
							
							
								08e9f18c3b 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: fix for test cases that broke due to stack effect changes  
							
							
							
						 
						
							2014-12-11 14:30:47 +01:00  
				
					
						
							
							
								 
						
							
							
								bfc0ef815b 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dominance: fix for  #1227 , the dom children needs to be sorted to ensure that the same instruction sequence is generated every time  
							
							
							
						 
						
							2014-12-11 14:30:47 +01:00  
				
					
						
							
							
								 
						
							
							
								628c87c5b1 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.utilities: adding connect-bbs and make-edges  
							
							
							
						 
						
							2014-12-11 14:30:47 +01:00  
				
					
						
							
							
								 
						
							
							
								00e2d9f116 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dominance: some more docs  
							
							
							
						 
						
							2014-12-11 14:30:47 +01:00  
				
					
						
							
							
								 
						
							
							
								c85175c10c 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: new utility word apply-passes to improve the looks of long cleave's where each quotation only contains one word  
							
							
							
						 
						
							2014-12-11 14:30:47 +01:00  
				
					
						
							
							
								 
						
							
							
								e371327ec4 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.construction.tests: fix tc broken by previous commit  
							
							
							
						 
						
							2014-12-11 14:30:47 +01:00  
				
					
						
							
							
								 
						
							
							
								befbe0bb59 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dominance: changed stack effect compute-dominance ( cfg -- cfg' ) to ( cfg -- )  
							
							
							
						 
						
							2014-12-11 14:30:47 +01:00  
				
					
						
							
							
								 
						
							
							
								e5866dfa80 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: changed stack effect of needs-predecessors from ( cfg -- cfg') to ( cfg -- )  
							
							
							
						 
						
							2014-12-11 14:30:47 +01:00  
				
					
						
							
							
								 
						
							
							
								76cb665a8d 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dominance: change needs-dominance effect from ( cfg -- cfg') to ( cfg -- )  
							
							
							
						 
						
							2014-12-11 14:30:46 +01:00  
				
					
						
							
							
								 
						
							
							
								054982f24a 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: docs for compiler.cfg.dominance and compiler.cfg.ssa.construction  
							
							
							
						 
						
							2014-12-11 14:30:46 +01:00  
				
					
						
							
							
								 
						
							
							
								53b7f82368 
								
							
								 
							
						 
						
							
							
								
								Docs: more compiler docs  
							
							
							
						 
						
							2014-12-11 14:30:46 +01:00  
				
					
						
							
							
								 
						
							
							
								5fe9ce4235 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: fix stack effect of cfg-changed and predecessors changed to ( cfg -- )  
							
							
							
						 
						
							2014-12-11 14:30:46 +01:00  
				
					
						
							
							
								 
						
							
							
								a0d4e9b417 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.uninitialized: this compiler pass isn't used anymore -- let's get rid of it  
							
							
							
						 
						
							2014-12-11 14:30:46 +01:00  
				
					
						
							
							
								 
						
							
							
								8744d908b6 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: fix stack effect of compiler passes in optimize-cfg  
							
							... 
							
							
							
							since they all modify the cfg in place, it is better if their stack
effect is ( cfg -- ) instead of ( cfg -- cfg' ) 
							
						 
						
							2014-12-11 14:30:45 +01:00  
				
					
						
							
							
								 
						
							
							
								971a157369 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.instructions: ##alien-assembly should be in the alien-call-insn union but not gc-map-insn  
							
							
							
						 
						
							2014-12-08 18:13:46 -08:00  
				
					
						
							
							
								 
						
							
							
								52d3affeb8 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: the ##alien-assembly instruction does not use a gc-map  
							
							
							
						 
						
							2014-12-08 18:13:46 -08:00  
				
					
						
							
							
								 
						
							
							
								ad9d44aa2b 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.allocation.state: simplify init-unhandled.  
							
							
							
						 
						
							2014-12-01 22:18:15 -08:00  
				
					
						
							
							
								 
						
							
							
								c0d6fdedd1 
								
							
								 
							
						 
						
							
							
								
								classes.tuple: use slots>tuple when possible.  
							
							
							
						 
						
							2014-11-29 16:54:50 -08:00  
				
					
						
							
							
								 
						
							
							
								cd8b686639 
								
							
								 
							
						 
						
							
							
								
								compiler.tests.alien: Test demonstrates padding bytes breaking struct= on linux32. Disable for now.  
							
							
							
						 
						
							2014-11-24 08:20:28 -08:00  
				
					
						
							
							
								 
						
							
							
								20add9544a 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: cfg>insns has to go in linearization because of bootstrap circularity. Fix usings.  
							
							
							
						 
						
							2014-11-23 22:53:27 -08:00  
				
					
						
							
							
								 
						
							
							
								4c07d04417 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: getting an instruction sequence from a cfg is used in a few tests so let's make a word for it  
							
							
							
						 
						
							2014-11-24 06:25:34 +01:00  
				
					
						
							
							
								 
						
							
							
								22c512788b 
								
							
								 
							
						 
						
							
							
								
								compiler.codegen.gc-maps.tests: fix tests for win 64  
							
							
							
						 
						
							2014-11-24 04:20:34 +01:00  
				
					
						
							
							
								 
						
							
							
								9b7a873f6d 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.build-stack-frame.tests: improved fix for the test case  
							
							
							
						 
						
							2014-11-24 03:42:27 +01:00  
				
					
						
							
							
								 
						
							
							
								d40faa3bdc 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: Add vocabulary for words defined just to test compiler.cfg.  
							
							
							
						 
						
							2014-11-23 01:06:46 -08:00  
				
					
						
							
							
								 
						
							
							
								3b3103b545 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.scheduling: Fix V{ } -> { } unit test.  
							
							
							
						 
						
							2014-11-22 17:43:27 -08:00  
				
					
						
							
							
								 
						
							
							
								964ae127a2 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dependence: docs  
							
							
							
						 
						
							2014-11-22 17:31:40 -08:00  
				
					
						
							
							
								 
						
							
							
								aca14563b0 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dependence/scheduling: fix(?) for  #1187 , just avoid shuffling ##peek...  
							
							
							
						 
						
							2014-11-22 17:31:40 -08:00  
				
					
						
							
							
								 
						
							
							
								9d0379b9ba 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dependence: if node subclasses identity-tuple it doesn't need the number slot  
							
							
							
						 
						
							2014-11-22 17:31:40 -08:00  
				
					
						
							
							
								 
						
							
							
								eb9ca1c6fe 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dependence: node class doesn't need parent attribute, that's nice  
							
							
							
						 
						
							2014-11-22 17:31:40 -08:00  
				
					
						
							
							
								 
						
							
							
								0feece123c 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dependence/scheduling.tests: new tests, some that doesnt work yet  
							
							
							
						 
						
							2014-11-22 17:31:40 -08:00  
				
					
						
							
							
								 
						
							
							
								8347f43f84 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dependence/scheduling: refactoring to get rid of node's follows>>  
							
							
							
						 
						
							2014-11-22 17:31:40 -08:00  
				
					
						
							
							
								 
						
							
							
								645a70f1d4 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.scheduling: refactoring to get rid of the roots dynamic variable  
							
							
							
						 
						
							2014-11-22 17:31:39 -08:00  
				
					
						
							
							
								 
						
							
							
								a96fff60af 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dependence: keys-for ?first is not deterministic, use tiebreak-parents to get predictable ordering  
							
							
							
						 
						
							2014-11-22 17:31:39 -08:00  
				
					
						
							
							
								 
						
							
							
								7ebceb50e5 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dependence/scheduling: select-parent and roots moved to scheduling  
							
							... 
							
							
							
							the roots stuff is only used by compiler.cfg.scheduling, so it's more
simple to have it there than in compiler.cfg.dependence 
							
						 
						
							2014-11-22 17:31:39 -08:00  
				
					
						
							
							
								 
						
							
							
								586c47e5ab 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dependence/scheduling: more readable version of the select word  
							
							
							
						 
						
							2014-11-22 17:31:39 -08:00  
				
					
						
							
							
								 
						
							
							
								b5754d32ef 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dependence: moved tree verification code to .tests  
							
							... 
							
							
							
							Since verify-trees just checked that make-trees worked correctly, it's
better to have that code in the test vocab instead of slowing down
every compile by running it 
							
						 
						
							2014-11-22 17:31:39 -08:00  
				
					
						
							
							
								 
						
							
							
								2ea1a999a4 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dependence.tests: unit tests for the dependence vocab  
							
							
							
						 
						
							2014-11-22 17:31:39 -08:00  
				
					
						
							
							
								 
						
							
							
								3f3cc0eb8a 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dependence: now the nodes are on the stack instead of being saved in a dynamic variable (fp++)  
							
							
							
						 
						
							2014-11-22 17:31:39 -08:00  
				
					
						
							
							
								 
						
							
							
								2cfd55b864 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dependence/scheduling: refactoring, trying to get rid of the ugly usage of nodes dynamic variable  
							
							
							
						 
						
							2014-11-22 17:31:39 -08:00  
				
					
						
							
							
								 
						
							
							
								0a7726b66d 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dependence: more docs for the vocab  
							
							
							
						 
						
							2014-11-22 17:31:38 -08:00  
				
					
						
							
							
								 
						
							
							
								a1b20e451b 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.scheduling: split-insns returns a 3-tuple instead of 3 items on the stack  
							
							
							
						 
						
							2014-11-22 17:31:38 -08:00  
				
					
						
							
							
								 
						
							
							
								c777cb954a 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.scheduling: refactor to use split-insns and compiler.cfg.linear-scan.numbering + tests  
							
							
							
						 
						
							2014-11-22 17:31:38 -08:00  
				
					
						
							
							
								 
						
							
							
								96396cb3ad 
								
							
								 
							
						 
						
							
							
								
								compiler.*: use block>cfg and insns>block in many tests instead of wordier code  
							
							
							
						 
						
							2014-11-22 17:31:38 -08:00  
				
					
						
							
							
								 
						
							
							
								c8a022423e 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.utilities: move and rename the helper words block>cfg, insns>block and insns>cfg, they are useful to many testing vocabs  
							
							
							
						 
						
							2014-11-22 17:31:38 -08:00  
				
					
						
							
							
								 
						
							
							
								44f31ee13e 
								
							
								 
							
						 
						
							
							
								
								use swapd instead of [ swap ] dip.  
							
							
							
						 
						
							2014-11-21 11:56:17 -08:00  
				
					
						
							
							
								 
						
							
							
								46174ab748 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.build-stack-frame: Fix test for win64  
							
							
							
						 
						
							2014-11-18 14:21:45 -08:00  
				
					
						
							
							
								 
						
							
							
								60d0937041 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.instructions: fix help-lint.  
							
							
							
						 
						
							2014-11-16 16:22:13 -08:00  
				
					
						
							
							
								 
						
							
							
								0d9316f4f9 
								
							
								 
							
						 
						
							
							
								
								Docs: more various compiler doc improvements  
							
							
							
						 
						
							2014-11-16 06:25:55 -08:00  
				
					
						
							
							
								 
						
							
							
								42a528bb28 
								
							
								 
							
						 
						
							
							
								
								compiler.codegen.gc-maps: docs and tests  
							
							
							
						 
						
							2014-11-16 06:25:54 -08:00  
				
					
						
							
							
								 
						
							
							
								d3c91bea72 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.*: stub docs and tests  
							
							
							
						 
						
							2014-11-16 06:25:54 -08:00  
				
					
						
							
							
								 
						
							
							
								3b86d4b9ba 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.def-use: docs  
							
							
							
						 
						
							2014-11-16 06:25:54 -08:00  
				
					
						
							
							
								 
						
							
							
								90b31d543b 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.instructions: more docs  
							
							
							
						 
						
							2014-11-16 06:25:54 -08:00  
				
					
						
							
							
								 
						
							
							
								f06f59b956 
								
							
								 
							
						 
						
							
							
								
								Docs: smallish improvements to compiler vocabs  
							
							
							
						 
						
							2014-11-16 06:25:54 -08:00  
				
					
						
							
							
								 
						
							
							
								bc5c23b162 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.assignment: stub docs  
							
							
							
						 
						
							2014-11-16 06:25:54 -08:00  
				
					
						
							
							
								 
						
							
							
								1eac4afc8b 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan.allocation.state: sub docs and tests  
							
							
							
						 
						
							2014-11-16 06:25:53 -08:00  
				
					
						
							
							
								 
						
							
							
								0a30bd9218 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stack-frame: stub docs and tests for vocab  
							
							
							
						 
						
							2014-11-16 06:25:53 -08:00  
				
					
						
							
							
								 
						
							
							
								8a0b4c3d26 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.build-stack-frame: stub docs and tests for vocab  
							
							
							
						 
						
							2014-11-16 06:25:53 -08:00  
				
					
						
							
							
								 
						
							
							
								cbc8681187 
								
							
								 
							
						 
						
							
							
								
								Docs: compiler.cfg.instructions improvements  
							
							
							
						 
						
							2014-11-16 06:25:53 -08:00  
				
					
						
							
							
								 
						
							
							
								18d7be2c05 
								
							
								 
							
						 
						
							
							
								
								compiler.tests.alien: tests to make sure  #1021  stays dead  
							
							
							
						 
						
							2014-11-12 19:41:32 -08:00  
				
					
						
							
							
								 
						
							
							
								466fe4559d 
								
							
								 
							
						 
						
							
							
								
								ffi_test: Can actually test 62 and 63 on windows.  
							
							
							
						 
						
							2014-11-10 10:30:35 -08:00  
				
					
						
							
							
								 
						
							
							
								564a67ce7e 
								
							
								 
							
						 
						
							
							
								
								compiler.tests.alien: Don't test ffi calls 61-63 on Windows.  
							
							
							
						 
						
							2014-11-09 10:52:16 -08:00  
				
					
						
							
							
								 
						
							
							
								7cfa9d9518 
								
							
								 
							
						 
						
							
							
								
								assocs: Make map-index-as support seq or assoc exemplars and move map-index, map-index-as to assocs because they need to use new-assoc. Make zip-index-as support assoc exemplars. Fix up docs and tests.  
							
							... 
							
							
							
							assocs.extras: Remove zip-as and move tests to assocs. 
							
						 
						
							2014-11-08 18:18:00 -08:00  
				
					
						
							
							
								 
						
							
							
								1b5711cc42 
								
							
								 
							
						 
						
							
							
								
								compiler.tests.alien: Add structs with uint and ulonglong pairs and return them from an FFI call. macosx32 seems to be working, hopefully this will break it or confirm that it's working. Linux32 is broken, hopefully this will show how.  
							
							
							
						 
						
							2014-11-08 13:39:47 -08:00  
				
					
						
							
							
								 
						
							
							
								56f1b87a6f 
								
							
								 
							
						 
						
							
							
								
								basis, extra: Use zip-index.  
							
							
							
						 
						
							2014-11-08 00:46:30 -08:00  
				
					
						
							
							
								 
						
							
							
								e494e3965b 
								
							
								 
							
						 
						
							
							
								
								compiler.tests.alien: Check in a failing unit test. Structure is getting returned improperly.  
							
							
							
						 
						
							2014-11-07 15:34:10 -08:00  
				
					
						
							
							
								 
						
							
							
								2c3dd8c3c8 
								
							
								 
							
						 
						
							
							
								
								Remove executable bit from tons of files that aren't  
							
							
							
						 
						
							2014-11-05 20:40:42 -08:00  
				
					
						
							
							
								 
						
							
							
								1ee9a8ea13 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.local: Have unit test load prettyprint implementation for ds-loc so that it always prints as "D 4".  
							
							
							
						 
						
							2014-10-22 10:31:27 -07:00  
				
					
						
							
							
								 
						
							
							
								cb83f3b39b 
								
							
								 
							
						 
						
							
							
								
								compiler.tests.alien: use the with-callback combinator to plug the memory leaks in the tests  
							
							
							
						 
						
							2014-10-22 07:02:55 -07:00  
				
					
						
							
							
								 
						
							
							
								af2a53239e 
								
							
								 
							
						 
						
							
							
								
								compiler: resolve duplicate doc for "compiled".  
							
							
							
						 
						
							2014-10-19 08:27:59 -07:00  
				
					
						
							
							
								 
						
							
							
								961d0c4eb9 
								
							
								 
							
						 
						
							
							
								
								compiler.codegen.gc-maps: update docs so that they match how factors gc-maps currently work  
							
							
							
						 
						
							2014-10-19 14:17:54 +02:00  
				
					
						
							
							
								 
						
							
							
								a617855aef 
								
							
								 
							
						 
						
							
							
								
								Docs: fixing smaller help-lint nitpicks  
							
							
							
						 
						
							2014-10-19 14:05:06 +02:00  
				
					
						
							
							
								 
						
							
							
								164af978ba 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: more stub docs for cfg construction words  
							
							
							
						 
						
							2014-10-19 13:45:42 +02:00  
				
					
						
							
							
								 
						
							
							
								81a84266d3 
								
							
								 
							
						 
						
							
							
								
								compiler.codegen.*: help for resolve-label misplaced -- move it  
							
							
							
						 
						
							2014-10-19 13:41:45 +02:00  
				
					
						
							
							
								 
						
							
							
								83cf4b9d57 
								
							
								 
							
						 
						
							
							
								
								compiler,cpu: more docs  
							
							
							
						 
						
							2014-10-17 23:18:57 +02:00  
				
					
						
							
							
								 
						
							
							
								476ebf5b25 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: more docs, tests and a small refactoring of the  
							
							... 
							
							
							
							admissible-registers word 
							
						 
						
							2014-10-17 23:18:57 +02:00  
				
					
						
							
							
								 
						
							
							
								88fb349bd0 
								
							
								 
							
						 
						
							
							
								
								stack-checker,compiler: docs for stack-checker and compiler words  
							
							
							
						 
						
							2014-10-17 23:18:57 +02:00  
				
					
						
							
							
								 
						
							
							
								425031e4b3 
								
							
								 
							
						 
						
							
							
								
								compiler.codegen.gc-maps: initial docs  
							
							
							
						 
						
							2014-10-17 23:17:49 +02:00  
				
					
						
							
							
								 
						
							
							
								275082d603 
								
							
								 
							
						 
						
							
							
								
								compiler.*: doc improvements  
							
							
							
						 
						
							2014-10-17 23:17:49 +02:00  
				
					
						
							
							
								 
						
							
							
								be372831f5 
								
							
								 
							
						 
						
							
							
								
								compiler.tests.alien: wrap all callback tests in special  
							
							... 
							
							
							
							unit-test-with-destructor blocks, that way they dont leak memory in the
callback heap 
							
						 
						
							2014-09-29 07:30:22 -07:00  
				
					
						
							
							
								 
						
							
							
								4c6435934b 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.vacant: Fix docs for word rename.  
							
							
							
						 
						
							2014-09-08 17:48:22 -07:00  
				
					
						
							
							
								 
						
							
							
								ffacc8370d 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.vacant: ##call instructions clear the set of overinitialized locations  
							
							
							
						 
						
							2014-09-08 14:54:18 -07:00  
				
					
						
							
							
								 
						
							
							
								9836d6a1d0 
								
							
								 
							
						 
						
							
							
								
								VM: move the stack scrubbing logic to call_frame_slot_visitor to avoid visiting the callstack twice  
							
							... 
							
							
							
							primitive_minor_gc() iterates the stack twice, first to scrub stack
locations, then to trace overinitialized ones and gc roots. By running
visit_callstack() before visit_stack_elements() you only need to do it
once. 
							
						 
						
							2014-09-08 14:54:18 -07:00  
				
					
						
							
							
								 
						
							
							
								8cd2eee8e0 
								
							
								 
							
						 
						
							
							
								
								compiler.codegen.gc-maps: the gc-map-needed? word can be called with f  
							
							
							
						 
						
							2014-09-08 14:54:17 -07:00  
				
					
						
							
							
								 
						
							
							
								8c0f9698de 
								
							
								 
							
						 
						
							
							
								
								compiler.codegen.gc-maps: check-d>> and check-r>> now used in the code generator  
							
							... 
							
							
							
							the approach looks sound and now the gc can be fixed to take advantage
of the extra info. 
							
						 
						
							2014-09-08 14:54:17 -07:00  
				
					
						
							
							
								 
						
							
							
								46082d836a 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.vacant: invert meaning of 0/1 for overinit:ed locs to make some logic simpler  
							
							
							
						 
						
							2014-09-08 14:54:17 -07:00  
				
					
						
							
							
								 
						
							
							
								70e4f2a8b7 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.instructions: added check-d and check-r slots to gc-map  
							
							... 
							
							
							
							the data is output from compiler.cfg.stacks.vacant in a reasonable
format but not yet used for code generation. 
							
						 
						
							2014-09-08 14:54:17 -07:00  
				
					
						
							
							
								 
						
							
							
								ecead801c1 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.vacant: more docs and removed usage of byte-arrays  
							
							
							
						 
						
							2014-09-08 14:54:17 -07:00  
				
					
						
							
							
								 
						
							
							
								ab5e629243 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.vacant: sub docs seeded with a stolen comment from uninitialized.factor  
							
							
							
						 
						
							2014-09-08 14:54:17 -07:00  
				
					
						
							
							
								 
						
							
							
								40ee3cdcbb 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.vacant: fix usings and remove commented out code  
							
							
							
						 
						
							2014-09-08 14:54:17 -07:00  
				
					
						
							
							
								 
						
							
							
								e961a03837 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks.vacant: compiler pass replacing uninitialized for more accurate stack maps  
							
							... 
							
							
							
							This pass uses a better algorithm for keeping track of all stack
manipulations which means that the stack maps it assigns are much more
precise. 
							
						 
						
							2014-09-08 14:54:17 -07:00  
				
					
						
							
							
								 
						
							
							
								d1032c159a 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.dataflow-analysis: generic for configuring the "block skipping"  
							
							... 
							
							
							
							To accurately record uninitialized/overinitialized stack locations,
kill blocks needs to be analyzed. Now you can make it so by overriding
ignore-block?. 
							
						 
						
							2014-09-08 14:54:17 -07:00  
				
					
						
							
							
								 
						
							
							
								3a6c14765d 
								
							
								 
							
						 
						
							
							
								
								vm: add the gc-info struct  
							
							
							
						 
						
							2014-08-25 14:52:11 -07:00  
				
					
						
							
							
								 
						
							
							
								7609ab6eda 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: fix some help-lint warnings.  
							
							
							
						 
						
							2014-08-14 09:59:27 -07:00  
				
					
						
							
							
								 
						
							
							
								c3253406e3 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: more docstrings for compiler words  
							
							
							
						 
						
							2014-08-13 11:01:11 -07:00  
				
					
						
							
							
								 
						
							
							
								c6784020aa 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: initial docs for dataflow analysis vocabs  
							
							
							
						 
						
							2014-08-13 11:01:11 -07:00  
				
					
						
							
							
								 
						
							
							
								6560778d2a 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: stub docs for register scheduling vocabs  
							
							
							
						 
						
							2014-08-13 11:01:11 -07:00  
				
					
						
							
							
								 
						
							
							
								769ca5550f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: docs for compiler words  
							
							
							
						 
						
							2014-08-13 11:01:11 -07:00  
				
					
						
							
							
								 
						
							
							
								1225abeeaf 
								
							
								 
							
						 
						
							
							
								
								Docs: more compiler-related documentation  
							
							
							
						 
						
							2014-08-13 11:01:10 -07:00  
				
					
						
							
							
								 
						
							
							
								60ffe0680e 
								
							
								 
							
						 
						
							
							
								
								kernel: new combinator 2with = with with  
							
							
							
						 
						
							2014-07-22 07:40:13 -07:00  
				
					
						
							
							
								 
						
							
							
								8c8f58dfee 
								
							
								 
							
						 
						
							
							
								
								compiler.codegen-docs: Make example clickable.  
							
							
							
						 
						
							2014-07-18 13:37:38 -05:00  
				
					
						
							
							
								 
						
							
							
								f9d9d8d64c 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.instructions: Messed up a patch. oops.  
							
							
							
						 
						
							2014-07-17 18:19:10 -05:00  
				
					
						
							
							
								 
						
							
							
								1d0f0fb98a 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.instructions: Fix using.  
							
							
							
						 
						
							2014-07-17 15:48:41 -05:00  
				
					
						
							
							
								 
						
							
							
								d173da94c1 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: Rename doc -> docs in filenames so the docs load.  
							
							
							
						 
						
							2014-07-17 15:32:29 -05:00  
				
					
						
							
							
								 
						
							
							
								e0801a632e 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.modular-arithmetic: make a partial test and add some information to the XXX: comment.  
							
							
							
						 
						
							2014-07-09 09:27:13 -07:00  
				
					
						
							
							
								 
						
							
							
								cc7dfc146b 
								
							
								 
							
						 
						
							
							
								
								Revert "compiler.tree.modular-arithmetic: revert strict patch so we can investigate further."  
							
							... 
							
							
							
							This reverts commit ec8377e125 
							
						 
						
							2014-07-08 19:18:34 -07:00