e0d84eb3a2 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: better length propagation  
							
							
							
						 
						
							2009-07-09 02:28:30 -05:00  
				
					
						
							
							
								 
						
							
							
								407377fc98 
								
							
								 
							
						 
						
							
							
								
								rename peek -> last and update all usages  
							
							
							
						 
						
							2009-05-25 16:38:33 -05:00  
				
					
						
							
							
								 
						
							
							
								a54c78007b 
								
							
								 
							
						 
						
							
							
								
								add a clamp word to math.order, use clamp word throughout libraries  
							
							
							
						 
						
							2009-05-24 21:35:50 -05:00  
				
					
						
							
							
								 
						
							
							
								66a9416473 
								
							
								 
							
						 
						
							
							
								
								Update documentation for stricter vocabulary search path semantics  
							
							
							
						 
						
							2009-05-16 00:29:21 -05:00  
				
					
						
							
							
								 
						
							
							
								fb6df472a2 
								
							
								 
							
						 
						
							
							
								
								Cleaning up USING: lists for new strict semantics  
							
							
							
						 
						
							2009-05-14 16:54:16 -05:00  
				
					
						
							
							
								 
						
							
							
								b67b617746 
								
							
								 
							
						 
						
							
							
								
								Fix compiler breakage if a GENERIC# has an incorrect stack effect declaration  
							
							
							
						 
						
							2009-05-12 21:23:52 -05:00  
				
					
						
							
							
								 
						
							
							
								466533d509 
								
							
								 
							
						 
						
							
							
								
								Fix overly-eager strength reduction for mod, and add a type function for >integer (reported by Joe Groff)  
							
							
							
						 
						
							2009-05-07 12:32:06 -05:00  
				
					
						
							
							
								 
						
							
							
								029d93a838 
								
							
								 
							
						 
						
							
							
								
								Make walker work better with call( and breakpoints which are nested inside combinators  
							
							
							
						 
						
							2009-05-05 09:12:32 -05:00  
				
					
						
							
							
								 
						
							
							
								f2ec59d658 
								
							
								 
							
						 
						
							
							
								
								Fix infinite loop when compiling a word containing a tuple literal with circular structure in it. This was triggered by call( inline caching in core-foundation.fsevents on Mac OS X  
							
							
							
						 
						
							2009-05-01 09:36:53 -05:00  
				
					
						
							
							
								 
						
							
							
								e5cdb7ac2d 
								
							
								 
							
						 
						
							
							
								
								call( fast-path now supports curry and compose  
							
							
							
						 
						
							2009-04-30 21:08:29 -05:00  
				
					
						
							
							
								 
						
							
							
								964fbd0a24 
								
							
								 
							
						 
						
							
							
								
								Fix test failures from ratio/complex built-in removal  
							
							
							
						 
						
							2009-04-30 00:38:55 -05:00  
				
					
						
							
							
								 
						
							
							
								fc4894fbdf 
								
							
								 
							
						 
						
							
							
								
								Replace ratio and complex built-in types with tuples defined in the library. This frees up two lo-tags, so move array and quotation over to these tags and update compiler for new tags  
							
							
							
						 
						
							2009-04-30 00:27:35 -05:00  
				
					
						
							
							
								 
						
							
							
								3dc9fdf9db 
								
							
								 
							
						 
						
							
							
								
								Fleshed out new dispatch code  
							
							
							
						 
						
							2009-04-24 20:43:01 -05:00  
				
					
						
							
							
								 
						
							
							
								057f75e9a1 
								
							
								 
							
						 
						
							
							
								
								Refactor compiler.tree.builder to fix various regressions  
							
							
							
						 
						
							2009-04-21 23:02:00 -05:00  
				
					
						
							
							
								 
						
							
							
								469c9ee21d 
								
							
								 
							
						 
						
							
							
								
								Debugging stack checking  
							
							
							
						 
						
							2009-04-21 16:09:53 -05:00  
				
					
						
							
							
								 
						
							
							
								05f3f9dcb9 
								
							
								 
							
						 
						
							
							
								
								Fixing unit tests for stack effect inference changes  
							
							
							
						 
						
							2009-04-20 21:15:19 -05:00  
				
					
						
							
							
								 
						
							
							
								8414693142 
								
							
								 
							
						 
						
							
							
								
								stack-checker: trust word declarations instead of recursively checking them  
							
							
							
						 
						
							2009-04-20 18:44:45 -05:00  
				
					
						
							
							
								 
						
							
							
								ec49307c88 
								
							
								 
							
						 
						
							
							
								
								Never inline default methods, and fix inlining of methods with hints  
							
							
							
						 
						
							2009-04-20 03:27:18 -05:00  
				
					
						
							
							
								 
						
							
							
								dba4c0d589 
								
							
								 
							
						 
						
							
							
								
								fixing compiler errors in basis  
							
							
							
						 
						
							2009-04-17 12:46:04 -05:00  
				
					
						
							
							
								 
						
							
							
								0a5b076c11 
								
							
								 
							
						 
						
							
							
								
								Make the walker infer  
							
							
							
						 
						
							2009-04-16 23:14:11 -05:00  
				
					
						
							
							
								 
						
							
							
								a4e62dfdba 
								
							
								 
							
						 
						
							
							
								
								Fix for math.parser syntax change  
							
							
							
						 
						
							2009-04-13 14:47:39 -05:00  
				
					
						
							
							
								 
						
							
							
								37e278ed02 
								
							
								 
							
						 
						
							
							
								
								Use [ ] [ ] map-reduce instead of unclip [ ] reduce  
							
							
							
						 
						
							2009-04-06 17:50:54 -05:00  
				
					
						
							
							
								 
						
							
							
								932d44cab8 
								
							
								 
							
						 
						
							
							
								
								Small speedup for code using H{ } clone and with-scope  
							
							
							
						 
						
							2009-03-31 08:16:04 -05:00  
				
					
						
							
							
								 
						
							
							
								be4fb1e7d9 
								
							
								 
							
						 
						
							
							
								
								Move call( and execute( to core  
							
							
							
						 
						
							2009-03-16 20:11:36 -05:00  
				
					
						
							
							
								 
						
							
							
								4fdb5d0557 
								
							
								 
							
						 
						
							
							
								
								Fix infinite fixed point iteration bug found by littledan; generalize-counter-interval wasn't called in all the right places  
							
							
							
						 
						
							2009-03-12 17:30:24 -05:00  
				
					
						
							
							
								 
						
							
							
								42224eb4e7 
								
							
								 
							
						 
						
							
							
								
								Propagation pass: add inlined node counts to total node count, so that the more we inline the less we are eager to inline more  
							
							
							
						 
						
							2009-03-06 23:34:01 -06:00  
				
					
						
							
							
								 
						
							
							
								03cb32ad9c 
								
							
								 
							
						 
						
							
							
								
								Make execute( faster, add execute-unsafe( and make effect tuple slots read only  
							
							
							
						 
						
							2009-03-01 20:12:35 -06:00  
				
					
						
							
							
								 
						
							
							
								78ce670101 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'for-slava' of git://git.rfc1149.net/factor  
							
							
							
						 
						
							2009-02-28 14:42:56 -06:00  
				
					
						
							
							
								 
						
							
							
								bda8b2dda6 
								
							
								 
							
						 
						
							
							
								
								Better inlining for both-fixnums?  
							
							
							
						 
						
							2009-02-26 14:11:26 -06:00  
				
					
						
							
							
								 
						
							
							
								da2ebe21a6 
								
							
								 
							
						 
						
							
							
								
								Fix two overzealous [ ] removal in tests  
							
							
							
						 
						
							2009-02-18 03:06:14 +01:00  
				
					
						
							
							
								 
						
							
							
								087d931c36 
								
							
								 
							
						 
						
							
							
								
								Remove the tail argument from do/until/while  
							
							
							
						 
						
							2009-02-18 02:41:14 +01:00  
				
					
						
							
							
								 
						
							
							
								6b25e99470 
								
							
								 
							
						 
						
							
							
								
								Add summary for heaps more vocabs  
							
							
							
						 
						
							2009-02-16 21:05:13 -06:00  
				
					
						
							
							
								 
						
							
							
								b65b88364c 
								
							
								 
							
						 
						
							
							
								
								Updating lots of things to use call( -- )  
							
							
							
						 
						
							2009-02-08 22:12:11 -06:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								990513db60 
								
							
								 
							
						 
						
							
							
								
								use CONSTANT: in basis  
							
							
							
						 
						
							2009-02-22 19:13:08 -06:00  
				
					
						
							
							
								 
						
							
							
								bf5ff11720 
								
							
								 
							
						 
						
							
							
								
								Update usages of all-equal? now that its in the grouping vocab  
							
							
							
						 
						
							2009-01-16 15:14:30 -06:00  
				
					
						
							
							
								 
						
							
							
								e661c67189 
								
							
								 
							
						 
						
							
							
								
								refactor a word to use smart combinators  
							
							
							
						 
						
							2009-01-08 23:09:38 -06:00  
				
					
						
							
							
								 
						
							
							
								34792a9f23 
								
							
								 
							
						 
						
							
							
								
								Remove >r/r>  
							
							
							
						 
						
							2008-12-17 19:17:37 -06:00  
				
					
						
							
							
								 
						
							
							
								c5160d76e9 
								
							
								 
							
						 
						
							
							
								
								Merge qualified, alias, symbols, constants into core  
							
							
							
						 
						
							2008-12-17 18:10:01 -06:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								ec23584f48 
								
							
								 
							
						 
						
							
							
								
								Finish up O(1) byte array allocation  
							
							
							
						 
						
							2008-12-09 18:17:04 -06:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								640b37cb70 
								
							
								 
							
						 
						
							
							
								
								More permissive  
							
							
							
						 
						
							2008-12-08 19:14:18 -06:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								044e2867d5 
								
							
								 
							
						 
						
							
							
								
								Teach compiler about string-nth range  
							
							
							
						 
						
							2008-12-05 23:51:58 -06:00  
				
					
						
							
							
								 
						
							
							
								aa838dbc2d 
								
							
								 
							
						 
						
							
							
								
								Fix compile errors  
							
							
							
						 
						
							2008-12-05 09:04:16 -06:00  
				
					
						
							
							
								 
						
							
							
								6c7005d588 
								
							
								 
							
						 
						
							
							
								
								Tweak inlining heuristic  
							
							
							
						 
						
							2008-12-05 01:50:14 -06:00  
				
					
						
							
							
								 
						
							
							
								fa6a2047f0 
								
							
								 
							
						 
						
							
							
								
								New inlining heuristic: number of usages within this word. Speeds up bootstrap by 10%  
							
							
							
						 
						
							2008-12-04 07:05:59 -06:00