Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ec23584f48 
								
							
								 
							
						 
						
							
							
								
								Finish up O(1) byte array allocation  
							
							 
							
							
							
						 
						
							2008-12-09 18:17:04 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								eb79c6ab71 
								
							
								 
							
						 
						
							
							
								
								Fix conflict  
							
							 
							
							
							
						 
						
							2008-12-09 17:52:45 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a90118da5d 
								
							
								 
							
						 
						
							
							
								
								Add inc-at word to core, and update some usages of at+ to use it instead  
							
							 
							
							
							
						 
						
							2008-12-09 16:54:48 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								db92c90569 
								
							
								 
							
						 
						
							
							
								
								Eliminate some usages of locals in compiler.tree.dead-code  
							
							 
							
							
							
						 
						
							2008-12-09 01:04:15 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								640b37cb70 
								
							
								 
							
						 
						
							
							
								
								More permissive  
							
							 
							
							
							
						 
						
							2008-12-08 19:14:18 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4f0a9f311e 
								
							
								 
							
						 
						
							
							
								
								Untangling some dependencies  
							
							 
							
							
							
						 
						
							2008-12-08 14:58:00 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e4f8448eb1 
								
							
								 
							
						 
						
							
							
								
								Fix some problems with arithmetic type inference, exposed by recent changes to log2 word  
							
							 
							
							... 
							
							
							
							- declared input type for bignum-shift was stricter than the runtime behavior, leading to bad propagation of type info if shift count was a bignum
- types inferred for type functions which used number-valued/integer-valued/real-valued were not always precise, eg bignum bignum bitxor => integer
- add interval-log2, type function for (log2)
- remove math-class-min, it was useless 
							
						 
						
							2008-12-07 19:44:49 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8a8f0c925c 
								
							
								 
							
						 
						
							
							
								
								Use BSR instruction to implement fixnum-log2 intrinsic  
							
							 
							
							
							
						 
						
							2008-12-06 15:31:17 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								145b635eb6 
								
							
								 
							
						 
						
							
							
								
								More optimization intended to reduce compile time. Another 10% speedup on compiling empty PEG parser  
							
							 
							
							... 
							
							
							
							- new map-flat combinator replaces usages of 'map flatten' in compiler
- compiler.tree.def-use.simplified uses an explicit accumulator instead of flatten
- compiler.tree.tuple-unboxing uses an explicit accumulator instead of flatten
- fix inlining regression from last time: custom inlining results would sometimes be discarded
- compiler.tree's 3each and 3map combinators rewritten to not use flip
- rewrite math.partial-dispatch without locals (purely stylistic, no performance increase)
- hand-optimize flip for common arrays-of-arrays case
- don't run escape analysis and tuple unboxing if there are no allocations in the IR 
							
						 
						
							2008-12-06 11:17:19 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a56d480aa6 
								
							
								 
							
						 
						
							
							
								
								Various optimizations leading to a 10% speedup on compiling empty EBNF parser:  
							
							 
							
							... 
							
							
							
							- open-code getenv primitive
- inline tuple predicates in finalization
- faster partial dispatch
- faster built-in type predicates
- faster tuple predicates
- faster lo-tag dispatch
- compile V{ } clone and H{ } clone more efficiently
- add fixnum fast-path to =; avoid indirect branch if two fixnums not eq
- faster >alist on hashtables 
							
						 
						
							2008-12-06 09:16:29 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								044e2867d5 
								
							
								 
							
						 
						
							
							
								
								Teach compiler about string-nth range  
							
							 
							
							
							
						 
						
							2008-12-05 23:51:58 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f48653c47a 
								
							
								 
							
						 
						
							
							
								
								Fix compile error  
							
							 
							
							
							
						 
						
							2008-12-05 23:51:34 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								aa838dbc2d 
								
							
								 
							
						 
						
							
							
								
								Fix compile errors  
							
							 
							
							
							
						 
						
							2008-12-05 09:04:16 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								908644ee7a 
								
							
								 
							
						 
						
							
							
								
								O(1) <sbuf> and new-sequence on byte-arrays (work in progress)  
							
							 
							
							
							
						 
						
							2008-12-05 07:28:52 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e256846acd 
								
							
								 
							
						 
						
							
							
								
								Tweak string representation; high bit indicates if character has high bits in aux vector. Avoids memory access in common case. Split set-string-nth into two primitives; set-string-nth-fast is open-coded by optimizing compiler. 13% improvement on reverse-complement  
							
							 
							
							
							
						 
						
							2008-12-05 06:38:51 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6c7005d588 
								
							
								 
							
						 
						
							
							
								
								Tweak inlining heuristic  
							
							 
							
							
							
						 
						
							2008-12-05 01:50:14 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								fa6a2047f0 
								
							
								 
							
						 
						
							
							
								
								New inlining heuristic: number of usages within this word. Speeds up bootstrap by 10%  
							
							 
							
							
							
						 
						
							2008-12-04 07:05:59 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e304d3c9f8 
								
							
								 
							
						 
						
							
							
								
								Local DCE  
							
							 
							
							
							
						 
						
							2008-12-04 06:02:49 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e6cb449b19 
								
							
								 
							
						 
						
							
							
								
								optimized. now accepts method-specs  
							
							 
							
							
							
						 
						
							2008-12-03 10:44:21 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e5ed7447ed 
								
							
								 
							
						 
						
							
							
								
								Removing more >r/r> usages  
							
							 
							
							
							
						 
						
							2008-12-03 08:46:16 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d60c79c9bf 
								
							
								 
							
						 
						
							
							
								
								Expand instance? with literal class  
							
							 
							
							
							
						 
						
							2008-12-03 08:11:51 -06:00  
						
					 
				
					
						
							
							
								 
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								43335d9c36 
								
							
								 
							
						 
						
							
							
								
								Intervals now use a special singleton for the full interval to eliminate FP math in the common case; fix a bug in value-info<=  
							
							 
							
							
							
						 
						
							2008-11-11 08:30:14 -06:00  
						
					 
				
					
						
							
							
								 
								sheeple
							
						 
						
							 
							
							
							
								
							
								067e9934e1 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2008-11-10 03:02:17 -06:00  
						
					 
				
					
						
							
							
								 
								sheeple
							
						 
						
							 
							
							
							
								
							
								5b7d40d9b4 
								
							
								 
							
						 
						
							
							
								
								We need to end the basic block after the ##prologue in the dispatch branch so that the GC check can go after the prologue  
							
							 
							
							
							
						 
						
							2008-11-10 02:58:05 -06:00  
						
					 
				
					
						
							
							
								 
								unknown
							
						 
						
							 
							
							
							
								
							
								f7fe84e563 
								
							
								 
							
						 
						
							
							
								
								Working on Win64 FFI  
							
							 
							
							
							
						 
						
							2008-11-08 21:40:47 -06:00  
						
					 
				
					
						
							
							
								 
								sheeple
							
						 
						
							 
							
							
							
								
							
								d1f248dac6 
								
							
								 
							
						 
						
							
							
								
								Fixing PowerPC backend: prolog register clobberage, spilling, and general stack frame usage. Add some lame tests for spilling  
							
							 
							
							
							
						 
						
							2008-11-06 19:00:56 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4e55cd973b 
								
							
								 
							
						 
						
							
							
								
								If a #dispatch branch is a call to another word which is not an intrinsic, we avoid generating the dispatch branch and just jump to the word directly  
							
							 
							
							
							
						 
						
							2008-11-06 11:48:55 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								64cbf619a9 
								
							
								 
							
						 
						
							
							
								
								Add more algebraic simplifications: comparison of a comparison, comparison where first is immediate  
							
							 
							
							
							
						 
						
							2008-11-06 09:27:52 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1c1333fbe9 
								
							
								 
							
						 
						
							
							
								
								Compile not and >boolean as branchless intrinsics by having the CFG builder detect certain code patterns  
							
							 
							
							
							
						 
						
							2008-11-06 09:09:21 -06:00  
						
					 
				
					
						
							
							
								 
								sheeple
							
						 
						
							 
							
							
							
								
							
								d2ec46e38f 
								
							
								 
							
						 
						
							
							
								
								PowerPC backend almost functional; some new compiler unit tests added,  
							
							 
							
							... 
							
							
							
							better compilation of 'f eq?'; f becomes an immediate operand
move aux-offset to compiler.constants 
							
						 
						
							2008-11-06 06:27:27 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								53cd75b06c 
								
							
								 
							
						 
						
							
							
								
								Add string-nth intrinsic  
							
							 
							
							
							
						 
						
							2008-11-06 01:11:28 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bfd119e3b5 
								
							
								 
							
						 
						
							
							
								
								I/O ricing: various hints added so that UTF8 and ASCII fastpaths compile with less dispatch. 25% improvement on reverse-complement  
							
							 
							
							
							
						 
						
							2008-11-06 00:02:44 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								cc879fa9b7 
								
							
								 
							
						 
						
							
							
								
								Tuple layouts are now arrays, instead of built-in types. The superclass  
							
							 
							
							... 
							
							
							
							array is now part of the tuple layout object itself, and class hashcodes
are stored alongside class words there. This removes 2 indirections when
reading a superclass, and 3 when reading a superclass hashcode. 
							
						 
						
							2008-11-05 22:20:29 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4fd1767768 
								
							
								 
							
						 
						
							
							
								
								Old fix for classes-intersect? no-method bug was incorrect; we were  
							
							 
							
							... 
							
							
							
							ignoring anonymous classes in compiled-generic-crossref. Also,
forget* now calls reset-word so that references to predicates of
forgotten classes don't break the compiler with a similar error. 
							
						 
						
							2008-11-05 18:32:02 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								dae41147fe 
								
							
								 
							
						 
						
							
							
								
								%bignum>integer now takes a temporary register since this is useful on both x86 and ppc  
							
							 
							
							
							
						 
						
							2008-11-05 04:16:08 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c8521ad826 
								
							
								 
							
						 
						
							
							
								
								Add tool to dump live intervals  
							
							 
							
							
							
						 
						
							2008-11-04 17:23:20 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								46830bb38d 
								
							
								 
							
						 
						
							
							
								
								Fix another name clash in tests; putting all compiler tests in compiler.tests vocab is probably not good  
							
							 
							
							
							
						 
						
							2008-11-04 00:46:06 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1af3b8ed65 
								
							
								 
							
						 
						
							
							
								
								If a register is spilled and the reload location is also a copy, we chicken out and don't coalesce. This is suboptimal but it's not clear to me how to implement it cleanly, and SSA graph coloring will solve this problem eventually anyway  
							
							 
							
							
							
						 
						
							2008-11-04 00:32:56 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								efcb916e35 
								
							
								 
							
						 
						
							
							
								
								Handle a jump to a jump by cloning the block, in the same way we optimize jumps to returns  
							
							 
							
							
							
						 
						
							2008-11-03 21:02:34 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								06b99c31ee 
								
							
								 
							
						 
						
							
							
								
								Fix regression. If a parsing word called the compiler, it might compile a caller of a generic before the generic gets built, which would throw an error since the inferred effect of the generic might have less inputs than the combination's dispatch#  
							
							 
							
							
							
						 
						
							2008-11-03 20:59:48 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								dc85ed3d56 
								
							
								 
							
						 
						
							
							
								
								Fix help lint: links to obsolete article  
							
							 
							
							
							
						 
						
							2008-11-03 08:08:28 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								82e9eedd39 
								
							
								 
							
						 
						
							
							
								
								Forgot about float= intrinsic  
							
							 
							
							
							
						 
						
							2008-11-03 07:15:09 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b649c01de6 
								
							
								 
							
						 
						
							
							
								
								Fix name clash with templates.factor  
							
							 
							
							
							
						 
						
							2008-11-03 06:34:56 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								59f4f25b91 
								
							
								 
							
						 
						
							
							
								
								Loop alignment: appears to be a small win for reverse-complement  
							
							 
							
							
							
						 
						
							2008-11-03 06:20:51 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0250d7c1d2 
								
							
								 
							
						 
						
							
							
								
								Forgot a drop in unit test  
							
							 
							
							
							
						 
						
							2008-11-03 01:53:27 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								08b277e892 
								
							
								 
							
						 
						
							
							
								
								Fix alias anlaysis bug: result of ##box-alien and ##box-float did not get an AC, so calling hi-tag would not compile  
							
							 
							
							
							
						 
						
							2008-11-03 01:52:55 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3230e0010f 
								
							
								 
							
						 
						
							
							
								
								-trace-compilation command line switch  
							
							 
							
							
							
						 
						
							2008-11-03 01:19:20 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f253e74942 
								
							
								 
							
						 
						
							
							
								
								Inline subprimitives in optimizing compiler  
							
							 
							
							
							
						 
						
							2008-11-03 01:18:54 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1aefde994f 
								
							
								 
							
						 
						
							
							
								
								Cleanup  
							
							 
							
							
							
						 
						
							2008-11-03 00:03:22 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0d83873174 
								
							
								 
							
						 
						
							
							
								
								Fix regression  
							
							 
							
							
							
						 
						
							2008-11-03 00:03:15 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								449c1191cc 
								
							
								 
							
						 
						
							
							
								
								Add another debug var  
							
							 
							
							
							
						 
						
							2008-11-02 23:25:42 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								445e353337 
								
							
								 
							
						 
						
							
							
								
								Optimize away useless jumps  
							
							 
							
							
							
						 
						
							2008-11-02 23:09:31 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d11a779fdd 
								
							
								 
							
						 
						
							
							
								
								RicE  
							
							 
							
							
							
						 
						
							2008-11-02 03:58:32 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3834eaeb05 
								
							
								 
							
						 
						
							
							
								
								Don't generate GC checks if the allocation instruction is optimized out  
							
							 
							
							
							
						 
						
							2008-11-02 01:50:48 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8df1aba71d 
								
							
								 
							
						 
						
							
							
								
								Coalescing  
							
							 
							
							
							
						 
						
							2008-11-02 01:49:57 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								804c6f93ea 
								
							
								 
							
						 
						
							
							
								
								Fix x86.32  
							
							 
							
							
							
						 
						
							2008-10-31 21:07:41 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								db4db19cd9 
								
							
								 
							
						 
						
							
							
								
								Start working on coalescing  
							
							 
							
							
							
						 
						
							2008-10-28 02:38:37 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								492a15e345 
								
							
								 
							
						 
						
							
							
								
								Move insn class to compiler.cfg.instructions  
							
							 
							
							
							
						 
						
							2008-10-24 09:17:06 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1912c57bb5 
								
							
								 
							
						 
						
							
							
								
								Fix comment  
							
							 
							
							
							
						 
						
							2008-10-23 05:55:50 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								885adc8dc9 
								
							
								 
							
						 
						
							
							
								
								Various improvements  
							
							 
							
							
							
						 
						
							2008-10-23 05:27:54 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								52967c5bf1 
								
							
								 
							
						 
						
							
							
								
								Improved value numbering  
							
							 
							
							
							
						 
						
							2008-10-23 02:49:26 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d723b69990 
								
							
								 
							
						 
						
							
							
								
								Value numbering  
							
							 
							
							
							
						 
						
							2008-10-22 21:59:07 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								084e64d0bc 
								
							
								 
							
						 
						
							
							
								
								Tweak inheritance  
							
							 
							
							
							
						 
						
							2008-10-22 21:58:46 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ba0ed21e1d 
								
							
								 
							
						 
						
							
							
								
								Better error message  
							
							 
							
							
							
						 
						
							2008-10-22 21:58:37 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9a07760542 
								
							
								 
							
						 
						
							
							
								
								CFG optimizer  
							
							 
							
							
							
						 
						
							2008-10-22 18:41:37 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3711aa3bca 
								
							
								 
							
						 
						
							
							
								
								Stack height normalization  
							
							 
							
							
							
						 
						
							2008-10-22 18:41:26 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6d812aaa52 
								
							
								 
							
						 
						
							
							
								
								Write barrier elimination  
							
							 
							
							
							
						 
						
							2008-10-22 18:41:10 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1f693b50b3 
								
							
								 
							
						 
						
							
							
								
								Massive focused action  
							
							 
							
							
							
						 
						
							2008-10-22 18:39:41 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								73d01452cb 
								
							
								 
							
						 
						
							
							
								
								Replace ##gc with a gc flag in the basic block  
							
							 
							
							
							
						 
						
							2008-10-22 18:38:30 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f09813f6fd 
								
							
								 
							
						 
						
							
							
								
								Alias analysis  
							
							 
							
							
							
						 
						
							2008-10-22 18:37:47 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1b06ab1b39 
								
							
								 
							
						 
						
							
							
								
								Fixing various bugs  
							
							 
							
							
							
						 
						
							2008-10-21 23:17:32 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								87e9fbb34c 
								
							
								 
							
						 
						
							
							
								
								Comparison operations  
							
							 
							
							
							
						 
						
							2008-10-21 03:21:29 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								94a2bfa2ea 
								
							
								 
							
						 
						
							
							
								
								Working on comparison operations, clearing out remaining dead wood  
							
							 
							
							
							
						 
						
							2008-10-21 03:20:48 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								df498c21a3 
								
							
								 
							
						 
						
							
							
								
								Trim USING:  
							
							 
							
							
							
						 
						
							2008-10-20 20:46:47 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0cc0a41e57 
								
							
								 
							
						 
						
							
							
								
								Update for compiler.intrinsics removal  
							
							 
							
							
							
						 
						
							2008-10-20 20:40:36 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4d75baf268 
								
							
								 
							
						 
						
							
							
								
								Update for ##allot change  
							
							 
							
							
							
						 
						
							2008-10-20 20:40:28 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e92f795a76 
								
							
								 
							
						 
						
							
							
								
								More work on intrinsics; memory allocation and slot access now expands correctly  
							
							 
							
							
							
						 
						
							2008-10-20 20:40:15 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								37cf7d9a9c 
								
							
								 
							
						 
						
							
							
								
								Add SSA comparison instructions, fix various problems  
							
							 
							
							
							
						 
						
							2008-10-20 05:55:20 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f092622fac 
								
							
								 
							
						 
						
							
							
								
								CFG IR is now pure SSA  
							
							 
							
							
							
						 
						
							2008-10-20 01:56:28 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4ae66793f0 
								
							
								 
							
						 
						
							
							
								
								Fixing unit tests  
							
							 
							
							
							
						 
						
							2008-10-19 03:51:01 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								14d8696f40 
								
							
								 
							
						 
						
							
							
								
								Oops, don't mix register classes in active set  
							
							 
							
							
							
						 
						
							2008-10-19 03:34:42 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c0d89b061e 
								
							
								 
							
						 
						
							
							
								
								Fixing register allocator prspilling  
							
							 
							
							
							
						 
						
							2008-10-19 01:10:21 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								627dfd1ff5 
								
							
								 
							
						 
						
							
							
								
								Finish vreg simplification  
							
							 
							
							
							
						 
						
							2008-10-17 20:03:59 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								239578353f 
								
							
								 
							
						 
						
							
							
								
								Simplifying vregs work in progress  
							
							 
							
							
							
						 
						
							2008-10-17 15:35:04 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								fedadc8032 
								
							
								 
							
						 
						
							
							
								
								Remove obsolete test file  
							
							 
							
							
							
						 
						
							2008-10-13 13:08:28 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d8d3645d72 
								
							
								 
							
						 
						
							
							
								
								Fixing more codegen bugs  
							
							 
							
							
							
						 
						
							2008-10-13 12:49:20 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ae3c4ae1b6 
								
							
								 
							
						 
						
							
							
								
								Fix some problems with callbacks  
							
							 
							
							
							
						 
						
							2008-10-12 23:32:14 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								40c1529ce8 
								
							
								 
							
						 
						
							
							
								
								Add stack effect  
							
							 
							
							
							
						 
						
							2008-10-12 18:40:57 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ed27d83921 
								
							
								 
							
						 
						
							
							
								
								Add missing method  
							
							 
							
							
							
						 
						
							2008-10-12 18:40:43 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								749c77d6b1 
								
							
								 
							
						 
						
							
							
								
								Fix linear scan test  
							
							 
							
							
							
						 
						
							2008-10-12 18:40:10 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8eacd0e58b 
								
							
								 
							
						 
						
							
							
								
								Add compile-dependencies? flag, can be switched off for debugging  
							
							 
							
							
							
						 
						
							2008-10-12 17:37:42 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b2ade7f556 
								
							
								 
							
						 
						
							
							
								
								Fix callbacks and non-tailcalls to dispatch  
							
							 
							
							
							
						 
						
							2008-10-12 17:37:26 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5f93ab74e4 
								
							
								 
							
						 
						
							
							
								
								Fix #dispatch generation  
							
							 
							
							
							
						 
						
							2008-10-12 16:46:59 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								68c9b22cef 
								
							
								 
							
						 
						
							
							
								
								Don't need known-tag templates any more  
							
							 
							
							
							
						 
						
							2008-10-11 14:08:00 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f979ae5b82 
								
							
								 
							
						 
						
							
							
								
								Expand slot accessors further to avoid having to use complex template decision  
							
							 
							
							
							
						 
						
							2008-10-11 14:05:15 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3844cb62d8 
								
							
								 
							
						 
						
							
							
								
								Fix %write-barrier  
							
							 
							
							
							
						 
						
							2008-10-10 03:16:26 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3e29808f17 
								
							
								 
							
						 
						
							
							
								
								Fix loop compilation  
							
							 
							
							
							
						 
						
							2008-10-10 02:33:32 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								67dd303d27 
								
							
								 
							
						 
						
							
							
								
								Fix excess recompilation  
							
							 
							
							
							
						 
						
							2008-10-10 02:33:07 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								70c6c64766 
								
							
								 
							
						 
						
							
							
								
								Debugging register allocator and inline allocation  
							
							 
							
							
							
						 
						
							2008-10-08 23:43:07 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								cf46a832e7 
								
							
								 
							
						 
						
							
							
								
								Debugging register allocator and inline allocation  
							
							 
							
							
							
						 
						
							2008-10-08 23:42:53 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0e4e05d5cd 
								
							
								 
							
						 
						
							
							
								
								Debugging new codegen  
							
							 
							
							
							
						 
						
							2008-10-08 03:51:44 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7b6d9c4c4f 
								
							
								 
							
						 
						
							
							
								
								Debugging new codegen  
							
							 
							
							
							
						 
						
							2008-10-07 20:00:38 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e69278b8fc 
								
							
								 
							
						 
						
							
							
								
								Merging in new codegen  
							
							 
							
							
							
						 
						
							2008-10-07 16:17:55 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f436fd0c0f 
								
							
								 
							
						 
						
							
							
								
								Merging in new codegen  
							
							 
							
							
							
						 
						
							2008-10-07 16:16:50 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								33d775890c 
								
							
								 
							
						 
						
							
							
								
								More stack frame refactoring  
							
							 
							
							
							
						 
						
							2008-10-06 00:20:00 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d5112a0ced 
								
							
								 
							
						 
						
							
							
								
								Working on stack frame cleanup  
							
							 
							
							
							
						 
						
							2008-10-05 21:30:29 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c19f2257f4 
								
							
								 
							
						 
						
							
							
								
								Fix permission bits  
							
							 
							
							
							
						 
						
							2008-10-02 08:34:49 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f539406ee1 
								
							
								 
							
						 
						
							
							
								
								Fold class predicates applied to literals  
							
							 
							
							
							
						 
						
							2008-10-02 05:12:38 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d4134a2ca1 
								
							
								 
							
						 
						
							
							
								
								Fix loop detection bug  
							
							 
							
							
							
						 
						
							2008-10-02 01:17:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4b19afdb4e 
								
							
								 
							
						 
						
							
							
								
								Fixing issues found by stricter help lint  
							
							 
							
							
							
						 
						
							2008-09-24 01:59:05 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1a865f89ac 
								
							
								 
							
						 
						
							
							
								
								Some optimizer change sfores for new codegen  
							
							 
							
							
							
						 
						
							2008-09-17 22:18:08 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6cad2e02e4 
								
							
								 
							
						 
						
							
							
								
								Updating x86 backend for new codegen  
							
							 
							
							
							
						 
						
							2008-09-17 00:46:38 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								722cacddb4 
								
							
								 
							
						 
						
							
							
								
								Fixing some problems with returning structs by value in x86.64 FFI  
							
							 
							
							
							
						 
						
							2008-09-13 20:28:13 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a211e44bb9 
								
							
								 
							
						 
						
							
							
								
								Found a place to use the locals in literals feature  
							
							 
							
							
							
						 
						
							2008-09-13 04:43:29 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								01129fb9bd 
								
							
								 
							
						 
						
							
							
								
								Add unit test for locals performance regresion  
							
							 
							
							
							
						 
						
							2008-09-13 03:09:16 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								10c68ebb21 
								
							
								 
							
						 
						
							
							
								
								New modular arithmetic optimization pass  
							
							 
							
							
							
						 
						
							2008-09-12 18:08:38 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8d7ebc5106 
								
							
								 
							
						 
						
							
							
								
								Change stack effect of nths to match nth, rice bounds-check?  
							
							 
							
							
							
						 
						
							2008-09-12 18:08:19 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								54232f80ca 
								
							
								 
							
						 
						
							
							
								
								Adding identity optimization pass, tweak inlining heuristic  
							
							 
							
							
							
						 
						
							2008-09-12 08:18:44 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2bf532263d 
								
							
								 
							
						 
						
							
							
								
								Oops  
							
							 
							
							
							
						 
						
							2008-09-12 05:36:06 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								40da49bef5 
								
							
								 
							
						 
						
							
							
								
								Perform loop detection before normalization, clean up normalization pass, more aggressive recursive return value propagation. Fixes regression on nsieve benchmark  
							
							 
							
							
							
						 
						
							2008-09-12 05:17:27 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0699aa5640 
								
							
								 
							
						 
						
							
							
								
								Fix regression  
							
							 
							
							
							
						 
						
							2008-09-12 04:02:54 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ec660c857f 
								
							
								 
							
						 
						
							
							
								
								Add unit test for Joe Groff's bg  
							
							 
							
							
							
						 
						
							2008-09-12 00:04:56 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f2721e0608 
								
							
								 
							
						 
						
							
							
								
								Help lint fixes  
							
							 
							
							
							
						 
						
							2008-09-11 05:04:49 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0c8e2584b4 
								
							
								 
							
						 
						
							
							
								
								Fixing unit tests for make, fry changes  
							
							 
							
							
							
						 
						
							2008-09-11 00:20:06 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								cf80dd122a 
								
							
								 
							
						 
						
							
							
								
								Updating code for make and fry changes  
							
							 
							
							
							
						 
						
							2008-09-10 22:11:40 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								44f53de164 
								
							
								 
							
						 
						
							
							
								
								Move make to its own vocabulary, remove fry _ feature  
							
							 
							
							
							
						 
						
							2008-09-10 20:07:00 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a3d1379b8c 
								
							
								 
							
						 
						
							
							
								
								Fix bug with large structs passed by value on x86.64  
							
							 
							
							
							
						 
						
							2008-09-09 03:10:43 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e6637a1118 
								
							
								 
							
						 
						
							
							
								
								Cleanup  
							
							 
							
							
							
						 
						
							2008-09-08 19:02:24 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								8a921c791c 
								
							
								 
							
						 
						
							
							
								
								if-empty changes  
							
							 
							
							
							
						 
						
							2008-09-06 19:13:59 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b6c2a85931 
								
							
								 
							
						 
						
							
							
								
								Remove shuffle word, rename shuffle* to shuffle  
							
							 
							
							
							
						 
						
							2008-09-05 19:54:05 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bcc8483b5b 
								
							
								 
							
						 
						
							
							
								
								Move match to basis since compiler.tree.debugger uses it, fix conflict  
							
							 
							
							
							
						 
						
							2008-09-05 19:48:44 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								aea0fed14c 
								
							
								 
							
						 
						
							
							
								
								Fixing basis -> extra dependencies  
							
							 
							
							
							
						 
						
							2008-09-05 19:29:14 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								9af12d96cf 
								
							
								 
							
						 
						
							
							
								
								left-trim -> trim-left  
							
							 
							
							
							
						 
						
							2008-09-05 18:56:35 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6d506b89e8 
								
							
								 
							
						 
						
							
							
								
								Image size reduction  
							
							 
							
							
							
						 
						
							2008-09-03 18:23:48 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6b07c85fec 
								
							
								 
							
						 
						
							
							
								
								Minor fixes here and there for delegation slot removal  
							
							 
							
							
							
						 
						
							2008-09-03 06:05:50 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e1716d92b3 
								
							
								 
							
						 
						
							
							
								
								Remove delegation slot  
							
							 
							
							
							
						 
						
							2008-09-03 03:46:56 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a4a00f6e40 
								
							
								 
							
						 
						
							
							
								
								Adding missing optimizations to finalization pass  
							
							 
							
							
							
						 
						
							2008-09-02 22:59:49 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								dbd16b4978 
								
							
								 
							
						 
						
							
							
								
								fix docs  
							
							 
							
							
							
						 
						
							2008-09-02 16:53:20 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								1e8358eff5 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2008-09-02 02:09:54 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								110a5e5162 
								
							
								 
							
						 
						
							
							
								
								Change equality semantics  
							
							 
							
							
							
						 
						
							2008-09-02 02:02:05 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								14d707898d 
								
							
								 
							
						 
						
							
							
								
								new accessors  
							
							 
							
							
							
						 
						
							2008-09-02 01:53:01 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								669e0f8f0a 
								
							
								 
							
						 
						
							
							
								
								Propagate slot types of literals  
							
							 
							
							
							
						 
						
							2008-09-01 18:25:21 -05:00  
						
					 
				
					
						
							
							
								 
								U-SLAVA-DFB8FF805\Slava
							
						 
						
							 
							
							
							
								
							
								8fed0d29eb 
								
							
								 
							
						 
						
							
							
								
								Fix dead code elimination with alien nodes  
							
							 
							
							
							
						 
						
							2008-09-01 02:04:42 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								29e5ed2adb 
								
							
								 
							
						 
						
							
							
								
								Fixing deploy tool  
							
							 
							
							
							
						 
						
							2008-08-31 19:17:04 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								18d629a916 
								
							
								 
							
						 
						
							
							
								
								Add failing unit test  
							
							 
							
							
							
						 
						
							2008-08-31 09:22:36 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6717d3743e 
								
							
								 
							
						 
						
							
							
								
								Fix escape analysis bug; speedup on fib4 benchmark  
							
							 
							
							
							
						 
						
							2008-08-31 09:03:03 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0c304b8fc6 
								
							
								 
							
						 
						
							
							
								
								Removing old accessor usages from core and basis  
							
							 
							
							
							
						 
						
							2008-08-31 07:45:33 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								dd45c26234 
								
							
								 
							
						 
						
							
							
								
								Oops, we weren't doing TCO in some cases  
							
							 
							
							
							
						 
						
							2008-08-31 05:40:29 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f5fbd94a4c 
								
							
								 
							
						 
						
							
							
								
								New compiled crossref implementation  
							
							 
							
							
							
						 
						
							2008-08-31 01:34:00 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3cef7c9992 
								
							
								 
							
						 
						
							
							
								
								Smarter usage tracking system  
							
							 
							
							
							
						 
						
							2008-08-30 02:31:27 -05:00