c4d832ce4d 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.transforms: fix intersect and add intersects?.  
							
							
							
						 
						
							2013-03-26 19:04:50 -07:00  
				
					
						
							
							
								 
						
							
							
								fb4e3ad9bc 
								
							
								 
							
						 
						
							
							
								
								compiler: Fix bitand on ratios, floats. Fix shift on ratios, floats. Add integer>fixnum.  Fixes   #500 .  
							
							
							
						 
						
							2012-07-23 09:31:12 -07:00  
				
					
						
							
							
								 
						
							
							
								3507b9bad7 
								
							
								 
							
						 
						
							
							
								
								classes:  
							
							... 
							
							
							
							- Allow methods to dispatch off union{ } and intersection{ } classes.
- Add not{ } anonymous-complement syntax.
- Define class-name for anonymous-union/intersection/complement and maybes, and clean up pprint.
- Change maybe: foo to maybe{ foo }
- Call sort-classes when making anonymous-union/anonymous-intersection classes so that they are canonicalized. 
							
						 
						
							2012-05-03 19:45:30 -07:00  
				
					
						
							
							
								 
						
							
							
								f7700809c5 
								
							
								 
							
						 
						
							
							
								
								compiler tests: fix using, add tests to make sure instance? inlines  
							
							
							
						 
						
							2011-11-23 01:01:11 -08:00  
				
					
						
							
							
								 
						
							
							
								8cf18d1a82 
								
							
								 
							
						 
						
							
							
								
								remove BSD,solaris,etc. misc platform support code  
							
							
							
						 
						
							2011-11-02 17:13:51 -07:00  
				
					
						
							
							
								 
						
							
							
								5a46b45312 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: more accurate output type for 'tag' primitive  
							
							
							
						 
						
							2011-10-29 17:11:04 -07:00  
				
					
						
							
							
								 
						
							
							
								80e1c8e3f2 
								
							
								 
							
						 
						
							
							
								
								Eliminate duplicate syntax for stack effects "(" no longer drops and is identical to the old "((", which is now removed.  
							
							
							
						 
						
							2011-10-18 13:19:39 -07:00  
				
					
						
							
							
								 
						
							
							
								0f4c5d2bff 
								
							
								 
							
						 
						
							
							
								
								classes.algebra: make it work better to fix bug reported by Sascha Matzke  
							
							
							
						 
						
							2010-07-29 19:57:23 -04:00  
				
					
						
							
							
								 
						
							
							
								ae2c2909af 
								
							
								 
							
						 
						
							
							
								
								Revert guarded method inlining  
							
							... 
							
							
							
							This reverts commit 44a835e3fcd45926bda0 
							
						 
						
							2010-06-24 12:35:21 -04:00  
				
					
						
							
							
								 
						
							
							
								fbaa8d153f 
								
							
								 
							
						 
						
							
							
								
								Inlining no-method when a generic word has no method  
							
							
							
						 
						
							2010-05-14 20:28:09 -05:00  
				
					
						
							
							
								 
						
							
							
								05290ee1b1 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor into propagation  
							
							... 
							
							
							
							Conflicts:
	basis/compiler/tree/propagation/propagation-tests.factor 
							
						 
						
							2010-05-14 18:59:39 -05:00  
				
					
						
							
							
								 
						
							
							
								bb87d124c1 
								
							
								 
							
						 
						
							
							
								
								compiler: small fixes and cleanups  
							
							
							
						 
						
							2010-05-13 02:48:20 -04:00  
				
					
						
							
							
								 
						
							
							
								4d5b7fe883 
								
							
								 
							
						 
						
							
							
								
								Fixing bug in dependency tracking for guarded method inlining  
							
							
							
						 
						
							2010-05-04 16:47:00 -05:00  
				
					
						
							
							
								 
						
							
							
								0f0b56f1ef 
								
							
								 
							
						 
						
							
							
								
								Adding dependency checking and proper handing of dispatch# to the new method inlining  
							
							
							
						 
						
							2010-05-04 16:46:38 -05:00  
				
					
						
							
							
								 
						
							
							
								3ed4a82475 
								
							
								 
							
						 
						
							
							
								
								Fixing another bug in the method inlining improvement  
							
							
							
						 
						
							2010-05-04 16:46:08 -05:00  
				
					
						
							
							
								 
						
							
							
								416707f327 
								
							
								 
							
						 
						
							
							
								
								Fixing optimization for improved method inlining  
							
							
							
						 
						
							2010-05-04 16:46:07 -05:00  
				
					
						
							
							
								 
						
							
							
								750a96935f 
								
							
								 
							
						 
						
							
							
								
								instance? optimizes null checks  
							
							
							
						 
						
							2010-05-04 16:46:07 -05:00  
				
					
						
							
							
								 
						
							
							
								4d749c9dfe 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: fix tests  
							
							
							
						 
						
							2010-05-03 17:34:14 -04:00  
				
					
						
							
							
								 
						
							
							
								a9ccfa8f05 
								
							
								 
							
						 
						
							
							
								
								strings: move string-nth primitive out of the VM and into the library  
							
							
							
						 
						
							2010-05-03 17:34:12 -04:00  
				
					
						
							
							
								 
						
							
							
								e6a15c0b33 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: don't constant-fold boa constructors of identity-tuple subclasses  
							
							
							
						 
						
							2010-03-26 22:44:56 -04:00  
				
					
						
							
							
								 
						
							
							
								6501480a0e 
								
							
								 
							
						 
						
							
							
								
								Fix two problems with recompilation: predicate constant folding was recording unsatisfied dependencies in some cases, and literal tuple instances of forgotten classes would cause problems for method inlining  
							
							
							
						 
						
							2010-02-20 12:01:47 +13:00  
				
					
						
							
							
								 
						
							
							
								52f2ac2bb9 
								
							
								 
							
						 
						
							
							
								
								Tests for propagation additions; making fixnum-bit? inline  
							
							
							
						 
						
							2010-01-25 20:15:17 -06:00  
				
					
						
							
							
								 
						
							
							
								3b5f7a9ecf 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: ensure that we don't call 'equal?' or 'hashcode' on literals in words being compiled  
							
							
							
						 
						
							2010-01-16 20:00:48 +13:00  
				
					
						
							
							
								 
						
							
							
								df4fb4a3ee 
								
							
								 
							
						 
						
							
							
								
								Removing integers-as-sequences  
							
							
							
						 
						
							2010-01-15 07:15:33 +13:00  
				
					
						
							
							
								 
						
							
							
								50d68c1b10 
								
							
								 
							
						 
						
							
							
								
								Fix input-classes of /i and mod, and add some regression tests with various reductions of the original test-case from the terrain demo  
							
							
							
						 
						
							2010-01-14 18:15:51 +13:00  
				
					
						
							
							
								 
						
							
							
								47a5e96547 
								
							
								 
							
						 
						
							
							
								
								Rework min and max so that behavior with floats and NaNs is consistent between generic arithmetic and open-coded float intrinsics  
							
							
							
						 
						
							2010-01-13 22:20:16 +13:00  
				
					
						
							
							
								 
						
							
							
								720c412431 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: fix bug in constraints that caused retain stack overflow  
							
							
							
						 
						
							2009-11-13 03:22:57 -06:00  
				
					
						
							
							
								 
						
							
							
								7afea4c0ea 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: implementing missing case in branch constraints  
							
							
							
						 
						
							2009-11-12 17:24:11 -06:00  
				
					
						
							
							
								 
						
							
							
								e4ad642134 
								
							
								 
							
						 
						
							
							
								
								vm: 4 bit tags, new representation of alien objects makes unbox-any-c-ptr more efficient (work in progress)  
							
							
							
						 
						
							2009-11-02 04:25:54 -06:00  
				
					
						
							
							
								 
						
							
							
								bd13e018dd 
								
							
								 
							
						 
						
							
							
								
								memq? -> member-eq?, sorted-memq? -> sorted-member-eq?  
							
							
							
						 
						
							2009-10-28 15:02:00 -05:00  
				
					
						
							
							
								 
						
							
							
								0c431f1222 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: fix broken corner cases in bitand and shift transforms, exposed by Hugh Aguilar's LC53 benchmark  
							
							
							
						 
						
							2009-10-24 01:09:32 -05:00  
				
					
						
							
							
								 
						
							
							
								bb93543054 
								
							
								 
							
						 
						
							
							
								
								Another identity in value numbering for bitfields  
							
							
							
						 
						
							2009-10-08 15:20:42 -05:00  
				
					
						
							
							
								 
						
							
							
								eb31589092 
								
							
								 
							
						 
						
							
							
								
								Adding identity to propagation to remove some redundant bitands  
							
							
							
						 
						
							2009-10-08 00:59:15 -05:00  
				
					
						
							
							
								 
						
							
							
								530accdad9 
								
							
								 
							
						 
						
							
							
								
								io.mmap: fix obsolete tests and get code to inline better  
							
							
							
						 
						
							2009-09-28 03:18:27 -05:00  
				
					
						
							
							
								 
						
							
							
								7ea8832556 
								
							
								 
							
						 
						
							
							
								
								Tweaks to reduce deployed image size  
							
							
							
						 
						
							2009-09-24 06:24:43 -05:00  
				
					
						
							
							
								 
						
							
							
								45ba559ce4 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor into constraints  
							
							
							
						 
						
							2009-09-22 16:09:33 -05:00  
				
					
						
							
							
								 
						
							
							
								6e936bdb05 
								
							
								 
							
						 
						
							
							
								
								Fixing failing unit tests in compiler.tree.propagation due to constraints  
							
							
							
						 
						
							2009-09-22 16:01:14 -05:00  
				
					
						
							
							
								 
						
							
							
								01d2ef415a 
								
							
								 
							
						 
						
							
							
								
								get compiler tests loading  
							
							
							
						 
						
							2009-09-16 09:20:47 -05:00  
				
					
						
							
							
								 
						
							
							
								172219e931 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: fix unary-op type functions with complex number inputs  
							
							
							
						 
						
							2009-09-15 14:30:20 -07:00  
				
					
						
							
							
								 
						
							
							
								32b95c2cdf 
								
							
								 
							
						 
						
							
							
								
								math: add unordered comparison operators u< u<= u> u>= which behave exactly like < <= > >= except no floating point exceptions are set if one or both inputs are NaNs; also add efficient intrinsic for unordered? predicate, and fix propagation type functions for abs, absq, and bitnot  
							
							
							
						 
						
							2009-09-12 22:20:13 -05:00  
				
					
						
							
							
								 
						
							
							
								dd661edf46 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: convert /i of a positive integer by a power of two into a shift  
							
							
							
						 
						
							2009-09-11 21:03:11 -05:00  
				
					
						
							
							
								 
						
							
							
								7f2e2b1777 
								
							
								 
							
						 
						
							
							
								
								Specialized array overhaul  
							
							... 
							
							
							
							- Replace hand-written specialized-arrays.* subvocabularies with new system; instead of USE:ing specialized-arrays.T, do SPECIALIZED-ARRAY: T
- Ditto for specialized-vectors; use SPECIALIZED-VECTOR:
- io.mmap.functor: removed entirely, use <mapped-array> instead
- struct-arrays and struct-vectors have been removed because specialized arrays and vectors subsume them entirely 
							
						 
						
							2009-09-09 22:33:34 -05:00  
				
					
						
							
							
								 
						
							
							
								bbca00e2ae 
								
							
								 
							
						 
						
							
							
								
								Fix conflicts  
							
							
							
						 
						
							2009-09-07 23:51:25 -05:00  
				
					
						
							
							
								 
						
							
							
								9f9b6bca01 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: type check inputs to unsafe foldable words manually, so that stuff like [ "Hi" { } fixnum+fast ] doesn't crash in the compiler  
							
							
							
						 
						
							2009-09-07 23:40:23 -05:00  
				
					
						
							
							
								 
						
							
							
								e36a0d7ef4 
								
							
								 
							
						 
						
							
							
								
								compiler: clean up code generation for alien boxing/unboxing a bit  
							
							
							
						 
						
							2009-09-03 21:22:43 -05:00  
				
					
						
							
							
								 
						
							
							
								ae051e0c9a 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: type function for clone had an issue, sometimes clone would get optimized out because of incorrect constant folding  
							
							
							
						 
						
							2009-09-03 02:40:18 -05:00  
				
					
						
							
							
								 
						
							
							
								ba0f3a9911 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.transforms: don't fail to compile if 'at' called on something that's not an assoc  
							
							
							
						 
						
							2009-08-27 18:57:56 -05:00  
				
					
						
							
							
								 
						
							
							
								f01f7ad6eb 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: bitand custom inlining was wrong if the second input was a bignum  
							
							
							
						 
						
							2009-08-20 03:47:07 -05:00  
				
					
						
							
							
								 
						
							
							
								2dc99ea05f 
								
							
								 
							
						 
						
							
							
								
								Fix interval inference of abs, absq when input is a complex number  
							
							
							
						 
						
							2009-08-19 16:06:37 -05:00  
				
					
						
							
							
								 
						
							
							
								829107902e 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: improved interval inference for absq eliminates a conditional from math.vectors:distance. Type inference for rational math also a bit sharper now  
							
							
							
						 
						
							2009-08-19 02:33:41 -05:00