b37bebb17f 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.transforms: fix infinite recursion that was breaking prettyprint  
							
							
							
						 
						
							2011-11-23 00:48:05 -08:00  
				
					
						
							
							
								 
						
							
							
								f90bc5cdb6 
								
							
								 
							
						 
						
							
							
								
								classes: optimize instance? for classoids  
							
							
							
						 
						
							2011-11-22 20:38:07 -08:00  
				
					
						
							
							
								 
						
							
							
								067f9830ef 
								
							
								 
							
						 
						
							
							
								
								classes.union: Define a maybe: word that makes a tuple that acts as an anonymous union for a type and f. Updated all the places we define UNION: ?foo foo POSTPONE: f ;.  Fixes   #416  and lots of headaches.  
							
							
							
						 
						
							2011-11-22 01:56:13 -08:00  
				
					
						
							
							
								 
						
							
							
								3a0ffceed9 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.transforms: fix rem and mod custom inlining  
							
							
							
						 
						
							2011-10-10 12:12:53 -07:00  
				
					
						
							
							
								 
						
							
							
								901ee2434c 
								
							
								 
							
						 
						
							
							
								
								Fix custom-inlining for mod and rem, which was converting these calls to bitand in some cases, even if the input was not known to be an integer.  Fixes   #243  
							
							
							
						 
						
							2011-10-09 13:51:35 -07:00  
				
					
						
							
							
								 
						
							
							
								ae2c2909af 
								
							
								 
							
						 
						
							
							
								
								Revert guarded method inlining  
							
							... 
							
							
							
							This reverts commit 44a835e3fcd45926bda0 
							
						 
						
							2010-06-24 12:35:21 -04:00  
				
					
						
							
							
								 
						
							
							
								30cfbc8512 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into propagation  
							
							
							
						 
						
							2010-06-15 13:26:01 -04:00  
				
					
						
							
							
								 
						
							
							
								ba7cb61133 
								
							
								 
							
						 
						
							
							
								
								Stack allocation improvements  
							
							... 
							
							
							
							- New with-out-parameters combinator
- Inhibit tail call optimization in frames with local allocation, to ensure that passing a stack allocated value to the last word in the quotation works
- local allocations are now aligned properly
- spill slots are now aligned properly aligned in frames which have parameter and local allocation areas 
							
						 
						
							2010-05-22 02:37:00 -04:00  
				
					
						
							
							
								 
						
							
							
								ea726f5680 
								
							
								 
							
						 
						
							
							
								
								Move remaining sequence operations from generalizations to sequences.generalizations where they belong  
							
							
							
						 
						
							2010-05-18 18:36:47 -04:00  
				
					
						
							
							
								 
						
							
							
								23e78b8380 
								
							
								 
							
						 
						
							
							
								
								Removing hack with >fixnum, now subsumed by a more general optimization  
							
							
							
						 
						
							2010-05-04 16:46:39 -05:00  
				
					
						
							
							
								 
						
							
							
								f1d7a4e663 
								
							
								 
							
						 
						
							
							
								
								Improving method inlining change, but there's still a bug  
							
							
							
						 
						
							2010-05-04 16:46:08 -05:00  
				
					
						
							
							
								 
						
							
							
								750a96935f 
								
							
								 
							
						 
						
							
							
								
								instance? optimizes null checks  
							
							
							
						 
						
							2010-05-04 16:46:07 -05:00  
				
					
						
							
							
								 
						
							
							
								0fbf454b18 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: fix both-fixnums? trick  
							
							
							
						 
						
							2010-05-03 17:34:30 -04:00  
				
					
						
							
							
								 
						
							
							
								d143aa64b2 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.transforms: open-code >fixnum when input is already a fixnum or f  
							
							
							
						 
						
							2010-04-19 01:14:00 -05:00  
				
					
						
							
							
								 
						
							
							
								7074979745 
								
							
								 
							
						 
						
							
							
								
								Moving new-sets to sets  
							
							
							
						 
						
							2010-02-26 16:01:01 -05:00  
				
					
						
							
							
								 
						
							
							
								73a990a4b8 
								
							
								 
							
						 
						
							
							
								
								Making it fast to create a new hashset  
							
							
							
						 
						
							2010-02-26 13:24:26 -05:00  
				
					
						
							
							
								 
						
							
							
								b76c82048d 
								
							
								 
							
						 
						
							
							
								
								Making propagation and tuple.parser refer to new-sets; adding some missing features from sets into new-sets  
							
							
							
						 
						
							2010-02-26 12:07:37 -05:00  
				
					
						
							
							
								 
						
							
							
								64a37d2db6 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.transforms: tweak 2^ transform to fix performance regression in benchmark.beust2; introduced by  47d6507548 
							
							
							
						 
						
							2010-02-16 01:03:09 +13:00  
				
					
						
							
							
								 
						
							
							
								5ed0bc72aa 
								
							
								 
							
						 
						
							
							
								
								Merge git://github.com/littledan/Factor into littledan  
							
							
							
						 
						
							2010-01-31 02:54:58 +13:00  
				
					
						
							
							
								 
						
							
							
								6cc68e889e 
								
							
								 
							
						 
						
							
							
								
								stack-checker.dependencies: add tuple layout dependencies for use by 'new' and 'boa'  
							
							
							
						 
						
							2010-01-30 09:29:00 +13:00  
				
					
						
							
							
								 
						
							
							
								c058343167 
								
							
								 
							
						 
						
							
							
								
								Add some utility words to stack-checker.dependencies in preparation for a refactoring  
							
							
							
						 
						
							2010-01-30 09:28:59 +13:00  
				
					
						
							
							
								 
						
							
							
								26f311279c 
								
							
								 
							
						 
						
							
							
								
								Re-defining a tuple class now invalidates cached quotation stack effects  
							
							
							
						 
						
							2010-01-30 09:28:59 +13:00  
				
					
						
							
							
								 
						
							
							
								c027046857 
								
							
								 
							
						 
						
							
							
								
								New 'conditional dependency' mechanism for more accurate recording of recompilation information  
							
							
							
						 
						
							2010-01-30 09:28:57 +13:00  
				
					
						
							
							
								 
						
							
							
								d3590ea210 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							... 
							
							
							
							Conflicts:
	basis/compiler/tree/propagation/transforms/transforms.factor 
							
						 
						
							2010-01-20 00:15:55 -06:00  
				
					
						
							
							
								 
						
							
							
								aa1651032d 
								
							
								 
							
						 
						
							
							
								
								Adding compiler transforms in propagation  
							
							
							
						 
						
							2010-01-20 00:10:49 -06:00  
				
					
						
							
							
								 
						
							
							
								df4fb4a3ee 
								
							
								 
							
						 
						
							
							
								
								Removing integers-as-sequences  
							
							
							
						 
						
							2010-01-15 07:15:33 +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  
				
					
						
							
							
								 
						
							
							
								361c38d5a1 
								
							
								 
							
						 
						
							
							
								
								heap-size now has a partial-eval instead of being foldable, and the partial-eval adds a dependency on the C type word. Fixes problem where redefining a struct didn't update specialized array  
							
							
							
						 
						
							2009-11-15 11:26:37 -06:00  
				
					
						
							
							
								 
						
							
							
								ff25aaef54 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.transforms: inline push if types are known. Speeds up reverse-complement, sort, sum-file benchmarks  
							
							
							
						 
						
							2009-11-12 17:24:32 -06:00  
				
					
						
							
							
								 
						
							
							
								cd2e226afa 
								
							
								 
							
						 
						
							
							
								
								stack-checker: split off stack-checker.dependencies from stack-checker.state  
							
							
							
						 
						
							2009-11-08 20:34:46 -06:00  
				
					
						
							
							
								 
						
							
							
								d2fe75276e 
								
							
								 
							
						 
						
							
							
								
								custom inlining for diff and intersect, when given a literal sequence. this cuts off 1/3 of the running time of a microbenchmark  
							
							
							
						 
						
							2009-11-05 13:13:27 -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  
				
					
						
							
							
								 
						
							
							
								e46259bd33 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.transforms: fix problem with 'shift' transform when input was a bignum  
							
							
							
						 
						
							2009-10-23 07:50:56 -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  
				
					
						
							
							
								 
						
							
							
								962d039852 
								
							
								 
							
						 
						
							
							
								
								Rename specific-method to method-for-class, rename (effective-method) to method-for-object, and make both much faster  
							
							
							
						 
						
							2009-09-21 17:42:20 -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  
				
					
						
							
							
								 
						
							
							
								2bb6293217 
								
							
								 
							
						 
						
							
							
								
								compiler: add fixnum-min/max intrinsics; ~10% speedup on benchmark.yuv-to-rgb  
							
							
							
						 
						
							2009-08-28 19:02:59 -05:00  
				
					
						
							
							
								 
						
							
							
								d957ae4e44 
								
							
								 
							
						 
						
							
							
								
								Performance improvements to make struct-arrays benchmark faster  
							
							... 
							
							
							
							- improved optimization of ##unbox-any-c-ptr on ##box-displaced-alien; convert it to ##unbox-c-ptr where possible using class info stored in the ##bda instruction
- make fcos, fsin, etc inline again; everything in math.libm inline again, except for fsqrt which is an intrinsic
- convert min and max on floats to float-min and float-max
- make min and max not inline, so that the above can work
- struct-arrays: rice a bit so that more fixnums come up 
							
						 
						
							2009-08-28 05:21:16 -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  
				
					
						
							
							
								 
						
							
							
								3f3d57032b 
								
							
								 
							
						 
						
							
							
								
								Delete empty unit tests files, remove 1- and 1+, reorder IN: lines in a lot of places, minor refactoring  
							
							
							
						 
						
							2009-08-13 19:21:44 -05:00  
				
					
						
							
							
								 
						
							
							
								1d735bc32d 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.transforms: fix shift transform  
							
							
							
						 
						
							2009-07-17 00:02:57 -05:00  
				
					
						
							
							
								 
						
							
							
								3fb4fc1bde 
								
							
								 
							
						 
						
							
							
								
								Improve code generation for shift word: add intrinsics for fixnum-shift-fast in the case where the shift count is not constant, transform 1 swap shift into a more overflow check with open-coded fast case, transform bitand into fixnum-bitand in more cases  
							
							
							
						 
						
							2009-07-16 23:50:48 -05:00  
				
					
						
							
							
								 
						
							
							
								062e33f8fb 
								
							
								 
							
						 
						
							
							
								
								fixing stupid bug in propagation  
							
							
							
						 
						
							2009-07-16 00:43:54 -05:00  
				
					
						
							
							
								 
						
							
							
								ee3e84a1f8 
								
							
								 
							
						 
						
							
							
								
								define-partial-eval framework in propagation pass makes it easy to add transforms; moving some transforms from stack checker to propagation, making them stronger  
							
							
							
						 
						
							2009-07-16 00:34:50 -05:00