Slava Pestov
							
						 
						
							 
							
							
							
								
							
								402da00390 
								
							
								 
							
						 
						
							
							
								
								Fixing bootstrap with specialized arrays  
							
							 
							
							
							
						 
						
							2008-12-02 02:44:19 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f51708386d 
								
							
								 
							
						 
						
							
							
								
								Fix conflicts  
							
							 
							
							
							
						 
						
							2008-12-01 20:39:43 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6dce834d91 
								
							
								 
							
						 
						
							
							
								
								Get rid of some more >r/r> usages  
							
							 
							
							
							
						 
						
							2008-11-30 18:28:15 -06:00  
						
					 
				
					
						
							
							
								 
								sheeple
							
						 
						
							 
							
							
							
								
							
								6400085bea 
								
							
								 
							
						 
						
							
							
								
								Fix bootstrap, add a unit test  
							
							 
							
							
							
						 
						
							2008-11-30 07:36:29 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e7f4563374 
								
							
								 
							
						 
						
							
							
								
								fixnum* intrinsic for x86  
							
							 
							
							
							
						 
						
							2008-11-30 07:26:49 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e8a69a3aea 
								
							
								 
							
						 
						
							
							
								
								Fix conflict  
							
							 
							
							
							
						 
						
							2008-11-29 05:14:49 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								52f1ff3a95 
								
							
								 
							
						 
						
							
							
								
								Fix conflict  
							
							 
							
							
							
						 
						
							2008-11-29 04:23:23 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								86d45262dc 
								
							
								 
							
						 
						
							
							
								
								Add toutput ype propagation for #alien-invoke and #alien-indirect nodes  
							
							 
							
							
							
						 
						
							2008-11-29 03:47:38 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1c0789e616 
								
							
								 
							
						 
						
							
							
								
								Didn't generate ##branch after ##alien-invoke and ##alien-indirect  
							
							 
							
							
							
						 
						
							2008-11-29 03:46:57 -06:00  
						
					 
				
					
						
							
							
								 
								sheeple
							
						 
						
							 
							
							
							
								
							
								26c002d23f 
								
							
								 
							
						 
						
							
							
								
								Fix fixnum* problem; result was shifted to the right by 3 bits if both input registers were equal  
							
							 
							
							
							
						 
						
							2008-11-29 00:44:46 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								265e57e21a 
								
							
								 
							
						 
						
							
							
								
								Fix optimized. to literalize words when printing #push nodes  
							
							 
							
							
							
						 
						
							2008-11-29 00:37:26 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c1d249afb2 
								
							
								 
							
						 
						
							
							
								
								Add unit test  
							
							 
							
							
							
						 
						
							2008-11-29 00:37:07 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								67471dedac 
								
							
								 
							
						 
						
							
							
								
								Forgot to emit a ##branch after ##fixnum-{add,sub,mul} ops; tools.annotations test faild  
							
							 
							
							
							
						 
						
							2008-11-29 00:36:43 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								68dd6cc35a 
								
							
								 
							
						 
						
							
							
								
								Working on PowerPC overflow checks  
							
							 
							
							
							
						 
						
							2008-11-28 20:02:50 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								eb8c621b6f 
								
							
								 
							
						 
						
							
							
								
								Faster generic arithmetic on fiixnums: both-fixnums? sub-primitive performs a check if the top two stack items are both fixnums with a single conditional branch  
							
							 
							
							
							
						 
						
							2008-11-28 08:35:02 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f44506089d 
								
							
								 
							
						 
						
							
							
								
								More work on overflow instructions: don't need temp register anymore, add -tail variants which don't need stack frame  
							
							 
							
							
							
						 
						
							2008-11-28 06:36:30 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5634becda1 
								
							
								 
							
						 
						
							
							
								
								##fixnum-add, ##fixnum-sub instructions open-code overflow check  
							
							 
							
							
							
						 
						
							2008-11-28 05:33:58 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f2040c0529 
								
							
								 
							
						 
						
							
							
								
								Add some more tests  
							
							 
							
							
							
						 
						
							2008-11-24 11:12:36 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ab689c098b 
								
							
								 
							
						 
						
							
							
								
								Clean up direct literal code and make a first attempt at PowerPC support  
							
							 
							
							
							
						 
						
							2008-11-24 08:16:14 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2aaf860f47 
								
							
								 
							
						 
						
							
							
								
								Experimental optimizations  
							
							 
							
							
							
						 
						
							2008-11-24 06:40:51 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1fa819191d 
								
							
								 
							
						 
						
							
							
								
								Change inlining heuristic so that it behaves the same with dip and >r/r>  
							
							 
							
							
							
						 
						
							2008-11-24 05:46:26 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								eeb2133ba2 
								
							
								 
							
						 
						
							
							
								
								Fix compiler test  
							
							 
							
							
							
						 
						
							2008-11-23 21:40:10 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7788b3e0db 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into microseconds  
							
							 
							
							
							
						 
						
							2008-11-23 03:06:32 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3a2e15327f 
								
							
								 
							
						 
						
							
							
								
								Disable these for now  
							
							 
							
							
							
						 
						
							2008-11-22 22:47:40 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f0716b3a0d 
								
							
								 
							
						 
						
							
							
								
								1% image size reduction by not storing empty compiled-generic-uses and compiled-uses props  
							
							 
							
							
							
						 
						
							2008-11-22 22:46:57 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c678e6e362 
								
							
								 
							
						 
						
							
							
								
								Don't use combinators.short-circuit in compiler  
							
							 
							
							
							
						 
						
							2008-11-21 04:00:37 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								79bffecc2e 
								
							
								 
							
						 
						
							
							
								
								Add type function for /mod  
							
							 
							
							
							
						 
						
							2008-11-21 01:54:56 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8819f23312 
								
							
								 
							
						 
						
							
							
								
								Replace millis primitive with micros primitive  
							
							 
							
							... 
							
							
							
							Add millis as a library word
sleep now takes either a duration or a microsecond count; code using durations doens't need to be updated, code using millisecond counts updated to use durations for the most part 
							
						 
						
							2008-11-19 01:50:05 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								281657dd82 
								
							
								 
							
						 
						
							
							
								
								Fix conflict  
							
							 
							
							
							
						 
						
							2008-11-18 22:18:14 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ff7358beb3 
								
							
								 
							
						 
						
							
							
								
								Fix typo  
							
							 
							
							
							
						 
						
							2008-11-17 17:48:06 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								20f5541d35 
								
							
								 
							
						 
						
							
							
								
								Refactoring FFI for Win64  
							
							 
							
							
							
						 
						
							2008-11-17 13:34:37 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								14246fde37 
								
							
								 
							
						 
						
							
							
								
								Better FFI unit tests expose a new problem  
							
							 
							
							
							
						 
						
							2008-11-17 12:23:44 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9e82f1f8dd 
								
							
								 
							
						 
						
							
							
								
								Better inference error messages  
							
							 
							
							
							
						 
						
							2008-11-16 19:42:53 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7fc13ef03c 
								
							
								 
							
						 
						
							
							
								
								dlists no longer have a length slot; tweak dlist code so that types infer better  
							
							 
							
							
							
						 
						
							2008-11-16 05:53:25 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2fe364a7bb 
								
							
								 
							
						 
						
							
							
								
								Specialized arrays work in progress  
							
							 
							
							
							
						 
						
							2008-11-14 20:18:16 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5b4e8e9d09 
								
							
								 
							
						 
						
							
							
								
								Rename tests/templates.factor to tests/codegen.factor since that's really what its testing  
							
							 
							
							
							
						 
						
							2008-11-13 04:16:58 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								eb05dd3a12 
								
							
								 
							
						 
						
							
							
								
								Optimize a ##dispatch that is applied to the result of a ##sub-imm or ##add-imm; this eliminates an instruction from the common 1 fixnum-fast { ... } dispatch and 8 fixnum-fast { ... } dispatch code sequences appearing in generic word expansions  
							
							 
							
							
							
						 
						
							2008-11-13 04:16:08 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6590c894bc 
								
							
								 
							
						 
						
							
							
								
								Forgot a constant  
							
							 
							
							
							
						 
						
							2008-11-13 04:10:21 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b1aa3697cb 
								
							
								 
							
						 
						
							
							
								
								Emit branches in the same order they're written in code  
							
							 
							
							
							
						 
						
							2008-11-13 03:52:01 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5bae69426d 
								
							
								 
							
						 
						
							
							
								
								Stack checker cleanup and optimization  
							
							 
							
							... 
							
							
							
							- stack-checker.state vocabulary split up into stack-checker.{state,values,recursive-state}
- code that modifies and searches recursive state factored out into stack-checker.recursive-state
- recursive state is now a set of three binary hash trees instead of an alist, and no longer contains unnecessary data
- binary hash trees are in stack-checker.recursive-state.tree: unbalanced, persistent
- ~8 second speedup on bootstrap, ~20 second speedup in "peg.javascript" require 
							
						 
						
							2008-11-13 00:07:45 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4a1bcacfd4 
								
							
								 
							
						 
						
							
							
								
								Refactoring recursive-state alist; now its a mapping from words to local state triples, reduces searching by a bit  
							
							 
							
							
							
						 
						
							2008-11-12 19:08:40 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9f52ee50b0 
								
							
								 
							
						 
						
							
							
								
								Another speedup to >alist: create vector with right size up-front. 10 second bootstrap time reduction  
							
							 
							
							
							
						 
						
							2008-11-12 00:10:50 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ed3a81a503 
								
							
								 
							
						 
						
							
							
								
								Faster M: hashtable >alist performs less dispatch and allocates less junk  
							
							 
							
							
							
						 
						
							2008-11-11 23:03:50 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d970a632bb 
								
							
								 
							
						 
						
							
							
								
								Fix nodes>quot  
							
							 
							
							
							
						 
						
							2008-11-11 19:51:12 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								26f309d2ae 
								
							
								 
							
						 
						
							
							
								
								Trying to make PEGs compile faster by reducing the number of low level IR nodes: merge functionality of #>r and #r> into #shuffle, and generate 1 node instead of 3 for calls to get-local  
							
							 
							
							
							
						 
						
							2008-11-11 18:46:31 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a32acdcff0 
								
							
								 
							
						 
						
							
							
								
								Tweak grouping code for better method inlining  
							
							 
							
							
							
						 
						
							2008-11-11 12:11:13 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f04b32ea02 
								
							
								 
							
						 
						
							
							
								
								Remove duplicated logic  
							
							 
							
							
							
						 
						
							2008-11-11 09:10:33 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								792df37431 
								
							
								 
							
						 
						
							
							
								
								Update unit test  
							
							 
							
							
							
						 
						
							2008-11-11 08:50:30 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5f4b247072 
								
							
								 
							
						 
						
							
							
								
								Propagation pass now uses a stack of hashtables for predicated constraints instead of cloning a hashtable. New strategy for recursive propagation; now converges with fewer iterations. ~15 sec bootstrap time improvement  
							
							 
							
							
							
						 
						
							2008-11-11 08:49:00 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7f9fbdaa4e 
								
							
								 
							
						 
						
							
							
								
								cleanup pass didn't properly handle conditionals where both branches were dead  
							
							 
							
							
							
						 
						
							2008-11-11 08:38:03 -06:00