slava
							
						 
						
							 
							
							
							
								
							
								e29f18a2f4 
								
							
								 
							
						 
						
							
							
								
								Trying to fix a bad merge...  
							
							 
							
							... 
							
							
							
							Revert "Merge branch 'master' of git://factorcode.org/git/factor"
This reverts commit da639739bd , reversing
changes made to 346a61f497 . 
							
						 
						
							2009-02-03 00:27:34 -06:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								3c408342ef 
								
							
								 
							
						 
						
							
							
								
								renaming: contain? -> any?, deep-contains? -> deep-any?, pad-left -> pad-head, pad-right -> pad-tail, trim-left -> trim-head, trim-right -> trim-tail  
							
							 
							
							
							
						 
						
							2009-01-29 22:19:07 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								44bfff7c7b 
								
							
								 
							
						 
						
							
							
								
								Rename ##load-indirect to ##load-reference since this is more descriptive; value numbering doesn't assign expressions to ##load-reference nodes since this would end up folding literals which were eq? but not =  
							
							 
							
							
							
						 
						
							2009-01-29 01:44:58 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3e685b2eb4 
								
							
								 
							
						 
						
							
							
								
								Add test case for bug discovered by erg  
							
							 
							
							
							
						 
						
							2009-01-28 23:35:41 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								60f36cd9c8 
								
							
								 
							
						 
						
							
							
								
								Update user-space code for modify-code-heap primitive change  
							
							 
							
							
							
						 
						
							2009-01-24 20:17:11 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f34c14a0f5 
								
							
								 
							
						 
						
							
							
								
								Remove some usages of tuck  
							
							 
							
							
							
						 
						
							2009-01-23 18:20:47 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a8d1459c08 
								
							
								 
							
						 
						
							
							
								
								Rename compiled slot of words to optimized, to reflect what it really means (all words are compiled)  
							
							 
							
							
							
						 
						
							2009-01-23 00:37:02 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ca2f01e0d0 
								
							
								 
							
						 
						
							
							
								
								Updating non-core libraries for monotonic? change  
							
							 
							
							
							
						 
						
							2009-01-16 17:02:54 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bf5ff11720 
								
							
								 
							
						 
						
							
							
								
								Update usages of all-equal? now that its in the grouping vocab  
							
							 
							
							
							
						 
						
							2009-01-16 15:14:30 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4204fd495f 
								
							
								 
							
						 
						
							
							
								
								Move formatted stream output words to io.styles; they didn't belong in core, and this reduces deployed image size  
							
							 
							
							
							
						 
						
							2009-01-13 17:12:43 -06:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								e661c67189 
								
							
								 
							
						 
						
							
							
								
								refactor a word to use smart combinators  
							
							 
							
							
							
						 
						
							2009-01-08 23:09:38 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7b110b0bfd 
								
							
								 
							
						 
						
							
							
								
								Move 3each, 3map from compiler.utilities to sequences  
							
							 
							
							
							
						 
						
							2009-01-05 17:32:08 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5fdb474c76 
								
							
								 
							
						 
						
							
							
								
								Fixing various test failures and updating some more vocabs for >r/r> removal  
							
							 
							
							
							
						 
						
							2008-12-17 22:29:32 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								34792a9f23 
								
							
								 
							
						 
						
							
							
								
								Remove >r/r>  
							
							 
							
							
							
						 
						
							2008-12-17 19:17:37 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c5160d76e9 
								
							
								 
							
						 
						
							
							
								
								Merge qualified, alias, symbols, constants into core  
							
							 
							
							
							
						 
						
							2008-12-17 18:10:01 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								60a1378a0a 
								
							
								 
							
						 
						
							
							
								
								Faster dynamic variable lookup: 6% speedup in benchmark.fib5  
							
							 
							
							... 
							
							
							
							- If type of first input of equal? is known but not second, rewrite it as swap equal? and try to inline again
- Fix hints on methods to work better
- Put hints for word and fixnum keys on at* and set-at on hashtables 
							
						 
						
							2008-12-17 14:57:24 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0021cde743 
								
							
								 
							
						 
						
							
							
								
								Fix more compile errors  
							
							 
							
							
							
						 
						
							2008-12-15 22:21:56 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								daf2857d7b 
								
							
								 
							
						 
						
							
							
								
								define-inline now takes an effect parameter  
							
							 
							
							... 
							
							
							
							C: now sets the stack effect of the new word to slot names
add new basis/constants vocab; CONSTANT: foo bar is equivalent to : foo bar ; inline
(going to fold CONSTANT:, ALIAS: and qualified into core soon perhaps)
tighten the screws: inline words now need a stack declaration too
update some usages of inline words 
							
						 
						
							2008-12-15 19:44:56 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c679ae025b 
								
							
								 
							
						 
						
							
							
								
								Rename tools.disassembler.udis:& to alien.syntax:&: and fix it to survive image save/load  
							
							 
							
							
							
						 
						
							2008-12-11 00:03:58 -06:00  
						
					 
				
					
						
							
							
								 
								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