Slava Pestov
							
						 
						
							 
							
							
							
								
							
								910748819d 
								
							
								 
							
						 
						
							
							
								
								Now that #foo and ##foo are symbols we can remove a bunch of \  
							
							 
							
							
							
						 
						
							2011-11-12 22:04:26 -08:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								d65bd97a54 
								
							
								 
							
						 
						
							
							
								
								compiler.tree: Renamed high-level IR node constructors to <#foo> from #foo. Moving towards making classes/word names not conflict.  
							
							 
							
							
							
						 
						
							2011-11-06 23:02:45 -08:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								9048233d27 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.dead-code: Rewrite /mod to /i or mod in the dead-code pass in the high level optimizer.  Fixes   #279 .  
							
							 
							
							
							
						 
						
							2011-11-06 19:23:26 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								8cf18d1a82 
								
							
								 
							
						 
						
							
							
								
								remove BSD,solaris,etc. misc platform support code  
							
							 
							
							
							
						 
						
							2011-11-02 17:13:51 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5a46b45312 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: more accurate output type for 'tag' primitive  
							
							 
							
							
							
						 
						
							2011-10-29 17:11:04 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e5a308d56a 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.debugger: disable length limit when printing optimized. quotation  
							
							 
							
							
							
						 
						
							2011-10-29 17:11:03 -07:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								51c033a1f6 
								
							
								 
							
						 
						
							
							
								
								Fix all failures in the linux64 build email  
							
							 
							
							
							
						 
						
							2011-10-24 19:33:09 -07:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								f9257959fd 
								
							
								 
							
						 
						
							
							
								
								Rename class to class-of  
							
							 
							
							
							
						 
						
							2011-10-24 06:47:42 -05:00  
						
					 
				
					
						
							
							
								 
								John Benediktsson
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								dbda6cb40b 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.dead-code: fix test  
							
							 
							
							... 
							
							
							
							It was using "read" in an optimization test, but since "read" is now inline, it wasn't getting the expected optimized quotation back. 
							
						 
						
							2011-10-17 21:23:10 -07:00  
						
					 
				
					
						
							
							
								 
								John Benediktsson
							
						 
						
							 
							
							
							
								
							
								81714b8dc3 
								
							
								 
							
						 
						
							
							
								
								More lint cleanups.  
							
							 
							
							
							
						 
						
							2011-10-16 19:33:16 -07:00  
						
					 
				
					
						
							
							
								 
								John Benediktsson
							
						 
						
							 
							
							
							
								
							
								378786599d 
								
							
								 
							
						 
						
							
							
								
								Cleanup lint warnings.  
							
							 
							
							
							
						 
						
							2011-10-14 11:47:24 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7bc38641f9 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.identities: the identity on mod was useless too, because we already have a rewrite rule which handles this case in compiler.tree.propagation  
							
							 
							
							
							
						 
						
							2011-10-10 12:34:21 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3a0ffceed9 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.transforms: fix rem and mod custom inlining  
							
							 
							
							
							
						 
						
							2011-10-10 12:12:53 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b4588629ab 
								
							
								 
							
						 
						
							
							
								
								Remove identities on / and rem, which were no-ops because integer-derived-ops would return an empty array  
							
							 
							
							
							
						 
						
							2011-10-09 13:51:03 -07:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								44ef1d3698 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.modular-arithmetic needs shallow-spread>quot  
							
							 
							
							
							
						 
						
							2011-10-02 22:21:11 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								2bd6de9a02 
								
							
								 
							
						 
						
							
							
								
								slots: pre-create the "at", "nth", and "global" slots to make deterministic the currently nondeterministic ambiguity between accessors:change-* and assocs:change-at, sequences:change-nth, and namespaces:change-global  
							
							 
							
							
							
						 
						
							2011-09-19 10:03:43 -07:00  
						
					 
				
					
						
							
							
								 
								John Benediktsson
							
						 
						
							 
							
							
							
								
							
								499778d808 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.escape-analysis.allocations: simplify stack effect.  
							
							 
							
							
							
						 
						
							2011-09-17 08:14:13 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b0732bcb22 
								
							
								 
							
						 
						
							
							
								
								Fix unit test failures caused by alien.data change  
							
							 
							
							
							
						 
						
							2010-12-25 22:34:12 -08:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								69487d1fd3 
								
							
								 
							
						 
						
							
							
								
								Fix a few tests that got broken in the <uint> *uint patches  
							
							 
							
							
							
						 
						
							2010-10-25 19:14:21 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								1f57dc326e 
								
							
								 
							
						 
						
							
							
								
								Remove many uses of <int> and *int etc  
							
							 
							
							
							
						 
						
							2010-10-25 12:49:12 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3323284db4 
								
							
								 
							
						 
						
							
							
								
								stack-checker.alien: get a bit more inlining going with callbacks, to expose another bug  
							
							 
							
							
							
						 
						
							2010-09-05 21:27:39 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1985705413 
								
							
								 
							
						 
						
							
							
								
								compiler: now that FFI has been deconcatenatized, we no longer need the special ##unary-float-function and ##binary-float-function fastpaths  
							
							 
							
							
							
						 
						
							2010-08-13 23:59:19 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								723d780703 
								
							
								 
							
						 
						
							
							
								
								stack-checker.alien: generate a declaration for input parameter types  
							
							 
							
							
							
						 
						
							2010-07-30 15:50:05 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0f4c5d2bff 
								
							
								 
							
						 
						
							
							
								
								classes.algebra: make it work better to fix bug reported by Sascha Matzke  
							
							 
							
							
							
						 
						
							2010-07-29 19:57:23 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								168dd1f825 
								
							
								 
							
						 
						
							
							
								
								FFI rewrite part 7: compile callback bodies with the optimizing compiler  
							
							 
							
							
							
						 
						
							2010-07-28 00:49:26 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c04de94b96 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.finalization: record dependencies on inlined predicates  
							
							 
							
							
							
						 
						
							2010-07-23 16:31:15 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1f4bd3e293 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.known-words: don't want a type function on clone, all the methods are inline and it was wrong (reported by Joe Groff)  
							
							 
							
							
							
						 
						
							2010-07-07 17:25:32 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ae2c2909af 
								
							
								 
							
						 
						
							
							
								
								Revert guarded method inlining  
							
							 
							
							... 
							
							
							
							This reverts commit 44a835e3fc , reversing
changes made to d45926bda0 . 
							
						 
						
							2010-06-24 12:35:21 -04:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								970f96c8b8 
								
							
								 
							
						 
						
							
							
								
								Fixing typo in modular arithmetic unit test (should use iota, not integer sequences, and just happened to work still)  
							
							 
							
							
							
						 
						
							2010-06-15 16:15:49 -04:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								30cfbc8512 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into propagation  
							
							 
							
							
							
						 
						
							2010-06-15 13:26:01 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0a0ebcd71d 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.known-words: fix load error  
							
							 
							
							
							
						 
						
							2010-05-19 00:51:03 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								86358b1dc3 
								
							
								 
							
						 
						
							
							
								
								alien.data: add with-scoped-allocation combinator for stack-allocating C data  
							
							 
							
							
							
						 
						
							2010-05-19 00:33:36 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ea726f5680 
								
							
								 
							
						 
						
							
							
								
								Move remaining sequence operations from generalizations to sequences.generalizations where they belong  
							
							 
							
							
							
						 
						
							2010-05-18 18:36:47 -04:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								fbaa8d153f 
								
							
								 
							
						 
						
							
							
								
								Inlining no-method when a generic word has no method  
							
							 
							
							
							
						 
						
							2010-05-14 20:28:09 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								8f1751cd54 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd.intrinsics: fix scalar fallback for (simd-vshuffle2-elements)  
							
							 
							
							
							
						 
						
							2010-05-14 02:47:39 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bb87d124c1 
								
							
								 
							
						 
						
							
							
								
								compiler: small fixes and cleanups  
							
							 
							
							
							
						 
						
							2010-05-13 02:48:20 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								627295f094 
								
							
								 
							
						 
						
							
							
								
								Language change: tuple slot setter words with stack effect ( value object -- ) are now named FOO<< instead of (>>FOO)  
							
							 
							
							
							
						 
						
							2010-05-06 17:21:02 -04:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								4d5b7fe883 
								
							
								 
							
						 
						
							
							
								
								Fixing bug in dependency tracking for guarded method inlining  
							
							 
							
							
							
						 
						
							2010-05-04 16:47:00 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								0d055060ad 
								
							
								 
							
						 
						
							
							
								
								Bug fix in method inlining  
							
							 
							
							
							
						 
						
							2010-05-04 16:46:39 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								23e78b8380 
								
							
								 
							
						 
						
							
							
								
								Removing hack with >fixnum, now subsumed by a more general optimization  
							
							 
							
							
							
						 
						
							2010-05-04 16:46:39 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								0f0b56f1ef 
								
							
								 
							
						 
						
							
							
								
								Adding dependency checking and proper handing of dispatch# to the new method inlining  
							
							 
							
							
							
						 
						
							2010-05-04 16:46:38 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								f1d7a4e663 
								
							
								 
							
						 
						
							
							
								
								Improving method inlining change, but there's still a bug  
							
							 
							
							
							
						 
						
							2010-05-04 16:46:08 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								19a44d65df 
								
							
								 
							
						 
						
							
							
								
								Changes to compiler.tree.propagation.inlining  
							
							 
							
							
							
						 
						
							2010-05-04 16:46:08 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								3ed4a82475 
								
							
								 
							
						 
						
							
							
								
								Fixing another bug in the method inlining improvement  
							
							 
							
							
							
						 
						
							2010-05-04 16:46:08 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								416707f327 
								
							
								 
							
						 
						
							
							
								
								Fixing optimization for improved method inlining  
							
							 
							
							
							
						 
						
							2010-05-04 16:46:07 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								02bd3d7142 
								
							
								 
							
						 
						
							
							
								
								splitting generic word callsites when only one method is applicable  
							
							 
							
							
							
						 
						
							2010-05-04 16:46:07 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								750a96935f 
								
							
								 
							
						 
						
							
							
								
								instance? optimizes null checks  
							
							 
							
							
							
						 
						
							2010-05-04 16:46:07 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0fbf454b18 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: fix both-fixnums? trick  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:30 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								428ba9fd0f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: fuse ##load-integer/##load-reference into ##replace to form ##replace-imm  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:28 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4d749c9dfe 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: fix tests  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:14 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a9ccfa8f05 
								
							
								 
							
						 
						
							
							
								
								strings: move string-nth primitive out of the VM and into the library  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:12 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d143aa64b2 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.transforms: open-code >fixnum when input is already a fixnum or f  
							
							 
							
							
							
						 
						
							2010-04-19 01:14:00 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2517b2fc2b 
								
							
								 
							
						 
						
							
							
								
								compiler: combine ##load-constant followed by ##alien-double into a ##load-double on x86-32, saving an integer register  
							
							 
							
							
							
						 
						
							2010-04-18 21:42:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bc9241d2b7 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.recursive: more fine-grained generalize-counter-interval eliminates overflow checks from binary-search  
							
							 
							
							
							
						 
						
							2010-04-18 21:42:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bd4e920995 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: fix scalability issue with constraints  
							
							 
							
							
							
						 
						
							2010-04-14 17:19:26 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e6a15c0b33 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: don't constant-fold boa constructors of identity-tuple subclasses  
							
							 
							
							
							
						 
						
							2010-03-26 22:44:56 -04:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								512fe14e4e 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'bags' of git://github.com/littledan/Factor  
							
							 
							
							... 
							
							
							
							Conflicts:
	basis/compiler/cfg/ssa/construction/tdmsc/tdmsc.factor
	basis/furnace/auth/auth.factor
	basis/stack-checker/backend/backend.factor 
							
						 
						
							2010-03-16 13:28:00 -04:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								f24a74f66c 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into row-polymorphism  
							
							 
							
							
							
						 
						
							2010-03-10 11:48:41 -08:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7744559a46 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: clean up  
							
							 
							
							
							
						 
						
							2010-03-10 15:15:49 +13:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								8e227bc874 
								
							
								 
							
						 
						
							
							
								
								Propagation tracks length just like any other read-only slot  
							
							 
							
							
							
						 
						
							2010-03-09 15:58:44 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								bcbc7632c6 
								
							
								 
							
						 
						
							
							
								
								fix stack effects in compiler tests  
							
							 
							
							
							
						 
						
							2010-03-08 23:46:20 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								191ac353fd 
								
							
								 
							
						 
						
							
							
								
								generalize stack effects so we can bootstrap with the stricter stack effect checking  
							
							 
							
							
							
						 
						
							2010-03-08 23:38:10 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								a3033e885a 
								
							
								 
							
						 
						
							
							
								
								make effect variables part of effect syntax, stored out of band in effect tuple  
							
							 
							
							
							
						 
						
							2010-03-05 13:30:10 -08:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								434605c0b5 
								
							
								 
							
						 
						
							
							
								
								Changing some uses of prune to use members  
							
							 
							
							
							
						 
						
							2010-02-27 13:14:03 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								7074979745 
								
							
								 
							
						 
						
							
							
								
								Moving new-sets to sets  
							
							 
							
							
							
						 
						
							2010-02-26 16:01:01 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								73a990a4b8 
								
							
								 
							
						 
						
							
							
								
								Making it fast to create a new hashset  
							
							 
							
							
							
						 
						
							2010-02-26 13:24:26 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ae25cfe712 
								
							
								 
							
						 
						
							
							
								
								Get foldable and flushable declarations working on typed words  
							
							 
							
							
							
						 
						
							2010-02-24 00:16:55 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b963d56aac 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.escape-analysis: fix bug that comes up when inheritance is used  
							
							 
							
							
							
						 
						
							2010-02-16 14:44:13 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a118f208dc 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation, compiler.tree.escape-analysis: make these passes handle constants in a more robust way in compilation units involving tuple reshaping  
							
							 
							
							
							
						 
						
							2010-02-12 02:50:59 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								57ba1aff60 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.inlining: remove some unused words  
							
							 
							
							
							
						 
						
							2010-02-11 16:29:48 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								662eba7a67 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.call-effect: hack so that call( doesn't clear the last error  
							
							 
							
							
							
						 
						
							2010-02-03 23:11:33 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7de81976a5 
								
							
								 
							
						 
						
							
							
								
								Revert "macros: macro body is now defined in its own subword, for compile-time stack effect checking"  
							
							 
							
							... 
							
							
							
							This reverts commit 24de7c52f0c3f21cfcdb80235cac7296b0401c85. 
							
						 
						
							2010-02-03 23:11:29 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								55a89ec9c2 
								
							
								 
							
						 
						
							
							
								
								Better error message for call( when quotation has the wrong effect  
							
							 
							
							
							
						 
						
							2010-02-03 23:11:25 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								df55fed478 
								
							
								 
							
						 
						
							
							
								
								generic: rename method-body predicate class to method  
							
							 
							
							
							
						 
						
							2010-02-03 23:11:24 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b7fde7af27 
								
							
								 
							
						 
						
							
							
								
								macros: macro body is now defined in its own subword, for compile-time stack effect checking  
							
							 
							
							
							
						 
						
							2010-02-03 23:11:22 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5ed0bc72aa 
								
							
								 
							
						 
						
							
							
								
								Merge git://github.com/littledan/Factor into littledan  
							
							 
							
							
							
						 
						
							2010-01-31 02:54:58 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6cc68e889e 
								
							
								 
							
						 
						
							
							
								
								stack-checker.dependencies: add tuple layout dependencies for use by 'new' and 'boa'  
							
							 
							
							
							
						 
						
							2010-01-30 09:29:00 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								09ead56652 
								
							
								 
							
						 
						
							
							
								
								Re-work flushed dependencies into new compiler cross-referencing framework  
							
							 
							
							
							
						 
						
							2010-01-30 09:29:00 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c058343167 
								
							
								 
							
						 
						
							
							
								
								Add some utility words to stack-checker.dependencies in preparation for a refactoring  
							
							 
							
							
							
						 
						
							2010-01-30 09:28:59 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								26f311279c 
								
							
								 
							
						 
						
							
							
								
								Re-defining a tuple class now invalidates cached quotation stack effects  
							
							 
							
							
							
						 
						
							2010-01-30 09:28:59 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c027046857 
								
							
								 
							
						 
						
							
							
								
								New 'conditional dependency' mechanism for more accurate recording of recompilation information  
							
							 
							
							
							
						 
						
							2010-01-30 09:28:57 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								817bc02392 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.call-effect: clear out dependency tracking variables to ensure that infer calls made by call( as part of the compile process doesn't pollute the dependencies of the word being compiled  
							
							 
							
							
							
						 
						
							2010-01-30 09:28:57 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ab428fc259 
								
							
								 
							
						 
						
							
							
								
								Code cleanups  
							
							 
							
							
							
						 
						
							2010-01-30 09:28:56 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f031a97084 
								
							
								 
							
						 
						
							
							
								
								Work in progress: record constant-folds of predicate words, and call-next-method invocations, in the same way that method inlining are recorded, for greater recompilation accuracy  
							
							 
							
							
							
						 
						
							2010-01-30 09:28:56 +13:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								52f2ac2bb9 
								
							
								 
							
						 
						
							
							
								
								Tests for propagation additions; making fixnum-bit? inline  
							
							 
							
							
							
						 
						
							2010-01-25 20:15:17 -06:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								aa1651032d 
								
							
								 
							
						 
						
							
							
								
								Adding compiler transforms in propagation  
							
							 
							
							
							
						 
						
							2010-01-20 00:10:49 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9a222a4163 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.call-effect: eliminate some dispatch from call( expansion  
							
							 
							
							
							
						 
						
							2010-01-19 21:08:45 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ac800e2396 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.escape-analysis: make tests a bit more robust; a change to boa constructors recently meant dead curries were showing up on certain expansions, this was throwing off the escape-analysis test's unboxed allocation counting. Fix this by having the test run DCE first, and remove a few tests that no longer make sense now  
							
							 
							
							
							
						 
						
							2010-01-18 23:32:34 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								df4fb4a3ee 
								
							
								 
							
						 
						
							
							
								
								Removing integers-as-sequences  
							
							 
							
							
							
						 
						
							2010-01-15 07:15:33 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								235f3238f5 
								
							
								 
							
						 
						
							
							
								
								Add alien-assembly form for inline assembler, works like alien-invoke except calls a user-supplied quotation instead of generating a subroutine call. Replaces FPU status control, SSE detection and read timestamp routines in vm/cpu-x86.*S  
							
							 
							
							
							
						 
						
							2010-01-07 17:39:22 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								44a604fdbe 
								
							
								 
							
						 
						
							
							
								
								compiler.tree: remove some code duplication concerning #alien nodes  
							
							 
							
							
							
						 
						
							2010-01-07 16:06:07 +13:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								104c29aabc 
								
							
								 
							
						 
						
							
							
								
								simd intrinsic implementation for v*high, v*hs+, vavg, and vsad  
							
							 
							
							
							
						 
						
							2009-12-05 14:52:18 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								67cc1c01be 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into simd-cleanup  
							
							 
							
							
							
						 
						
							2009-11-26 16:14:46 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								66d0cafa94 
								
							
								 
							
						 
						
							
							
								
								fix buggy simd intrinsics  
							
							 
							
							
							
						 
						
							2009-11-26 13:28:40 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								65d8060075 
								
							
								 
							
						 
						
							
							
								
								fix simd intrinsic compilation  
							
							 
							
							
							
						 
						
							2009-11-24 11:37:28 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								d94ffe6d78 
								
							
								 
							
						 
						
							
							
								
								scalar fallbacks for simd intrinsics  
							
							 
							
							
							
						 
						
							2009-11-23 21:24:55 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								152b0d2df5 
								
							
								 
							
						 
						
							
							
								
								break simd intrinsics into a separate vocab so they can be intrinsified before the simd methods compile  
							
							 
							
							
							
						 
						
							2009-11-19 11:53:46 -08:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0612bc6177 
								
							
								 
							
						 
						
							
							
								
								Factor source files should not be executable  
							
							 
							
							
							
						 
						
							2009-11-21 17:50:43 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								f544982fda 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor into simd-cleanup  
							
							 
							
							... 
							
							
							
							Conflicts:
	basis/math/vectors/simd/functor/functor.factor 
							
						 
						
							2009-11-14 21:02:39 -06:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								8a8699ac98 
								
							
								 
							
						 
						
							
							
								
								backend fixups  
							
							 
							
							
							
						 
						
							2009-11-14 20:59:03 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7377c96a21 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.branches: fix recent constraints change  
							
							 
							
							
							
						 
						
							2009-11-13 07:16:41 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								afecb9c758 
								
							
								 
							
						 
						
							
							
								
								Fixing call( inline caching  
							
							 
							
							
							
						 
						
							2009-11-13 04:32:33 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								86da8ebed9 
								
							
								 
							
						 
						
							
							
								
								Instead of bumping the definition counter every time in the VM, bump it only if stack effects changed or macros were redefined  
							
							 
							
							
							
						 
						
							2009-11-13 03:52:14 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								720c412431 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: fix bug in constraints that caused retain stack overflow  
							
							 
							
							
							
						 
						
							2009-11-13 03:22:57 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7afea4c0ea 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: implementing missing case in branch constraints  
							
							 
							
							
							
						 
						
							2009-11-12 17:24:11 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								cba12eae37 
								
							
								 
							
						 
						
							
							
								
								Invalidate inline caches used by call( and execute( when words are redefined  
							
							 
							
							
							
						 
						
							2009-11-12 16:09:07 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								064c00f78d 
								
							
								 
							
						 
						
							
							
								
								New identity-hashcode primitive  
							
							 
							
							
							
						 
						
							2009-11-10 21:18:54 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								473cc7db4a 
								
							
								 
							
						 
						
							
							
								
								stack-checker: tighten some screws in error reporting  
							
							 
							
							
							
						 
						
							2009-11-09 00:17:24 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								cd2e226afa 
								
							
								 
							
						 
						
							
							
								
								stack-checker: split off stack-checker.dependencies from stack-checker.state  
							
							 
							
							
							
						 
						
							2009-11-08 20:34:46 -06:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								8894e9047c 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into simd-cleanup  
							
							 
							
							
							
						 
						
							2009-11-07 22:26:09 -06:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								00ce8b6a33 
								
							
								 
							
						 
						
							
							
								
								deprimitivize tuck and put it to pasture  
							
							 
							
							
							
						 
						
							2009-11-05 22:47:05 -06:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								75d04922b9 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into simd-cleanup  
							
							 
							
							... 
							
							
							
							Conflicts:
	basis/math/vectors/simd/functor/functor.factor 
							
						 
						
							2009-11-05 11:27:08 -06:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								42493b9778 
								
							
								 
							
						 
						
							
							
								
								update compiler.tree.propagation.simd, and don't load it till math.vectors.simd is loaded  
							
							 
							
							
							
						 
						
							2009-11-02 15:09:16 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								3f15e028f7 
								
							
								 
							
						 
						
							
							
								
								exile roll and -roll to basis/shuffle and mark them deprecated  
							
							 
							
							
							
						 
						
							2009-10-30 17:11:45 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								3fbe722561 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of  http://factorcode.org/git/factor  
							
							 
							
							... 
							
							
							
							Conflicts:
	basis/locals/locals.factor
	basis/peg/peg.factor
	extra/infix/infix.factor 
							
						 
						
							2009-10-28 16:17:24 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								bd13e018dd 
								
							
								 
							
						 
						
							
							
								
								memq? -> member-eq?, sorted-memq? -> sorted-member-eq?  
							
							 
							
							
							
						 
						
							2009-10-28 15:02:00 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								299b5b0f6c 
								
							
								 
							
						 
						
							
							
								
								filter-here -> filter!  
							
							 
							
							
							
						 
						
							2009-10-28 00:44:05 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								935c0797c3 
								
							
								 
							
						 
						
							
							
								
								update existing code for [let change  
							
							 
							
							
							
						 
						
							2009-10-27 22:05:37 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								d17ef38007 
								
							
								 
							
						 
						
							
							
								
								update compiler.tree.cleanup test  
							
							 
							
							
							
						 
						
							2009-10-26 23:01:35 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e46259bd33 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.transforms: fix problem with 'shift' transform when input was a bignum  
							
							 
							
							
							
						 
						
							2009-10-23 07:50:56 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2d5cdd19ec 
								
							
								 
							
						 
						
							
							
								
								compiler: on PPC, ANDI, ORI and XORI instructions take an unsigned 16-bit immediate, unlike ADDI, SUBI and MULLI which take a signed 16-bit immediate. The code generator was not aware of this, and so for example '[ >fixnum -16 bitand ]' would generate incorrect code. Split up small-enough? hook into immediate-arithmetic? and immediate-bitwise? and update value numbering to be aware of this. Fixes classes.struct bitfields test failure  
							
							 
							
							
							
						 
						
							2009-10-19 04:58:29 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								d9002127fa 
								
							
								 
							
						 
						
							
							
								
								have vshuffle accept simd-128 variable byte shuffles  
							
							 
							
							
							
						 
						
							2009-10-10 11:30:11 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								366c341c5f 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.branches: fix live-branches computation for #dispatch nodes  
							
							 
							
							
							
						 
						
							2009-10-10 00:23:50 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								471c86a110 
								
							
								 
							
						 
						
							
							
								
								generate better code for vabs when instruction isn't available instead of using software fallback (-0.0 andn for floats, x > 0 ? x : -x for signed ints, nop for unsigned ints)  
							
							 
							
							
							
						 
						
							2009-10-09 14:24:55 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								01f5d392be 
								
							
								 
							
						 
						
							
							
								
								implement vneg as an intrinsic in terms of load -0, subtract  
							
							 
							
							
							
						 
						
							2009-10-09 13:16:39 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								bb93543054 
								
							
								 
							
						 
						
							
							
								
								Another identity in value numbering for bitfields  
							
							 
							
							
							
						 
						
							2009-10-08 15:20:42 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								eb31589092 
								
							
								 
							
						 
						
							
							
								
								Adding identity to propagation to remove some redundant bitands  
							
							 
							
							
							
						 
						
							2009-10-08 00:59:15 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								785f8620fd 
								
							
								 
							
						 
						
							
							
								
								glue conversion intrinsics to instructions  
							
							 
							
							
							
						 
						
							2009-10-06 20:13:38 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								fbe810fc3b 
								
							
								 
							
						 
						
							
							
								
								rename SIMD vmerge and kids to (vmerge), make new vmerge more generally useful  
							
							 
							
							
							
						 
						
							2009-10-05 17:55:39 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								0c9c3d4859 
								
							
								 
							
						 
						
							
							
								
								add %merge-vector-head and %merge-vector-tail instructions to back vmerge  
							
							 
							
							
							
						 
						
							2009-10-03 21:48:53 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								04bb03bb61 
								
							
								 
							
						 
						
							
							
								
								add intrinsics for v<=, v<, v=, v>, v>=, vunordered?  
							
							 
							
							
							
						 
						
							2009-10-03 11:29:34 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								38f413a8a6 
								
							
								 
							
						 
						
							
							
								
								add intrinsic for vnot/vbitnot  
							
							 
							
							
							
						 
						
							2009-10-02 20:04:28 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								aa3392e50f 
								
							
								 
							
						 
						
							
							
								
								implement vand, vor, vandn, and vxor as bitwise intrinsics for simd types  
							
							 
							
							
							
						 
						
							2009-10-02 14:17:01 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								d14f150b58 
								
							
								 
							
						 
						
							
							
								
								%test-vector instruction for vany?, vall?, vnone?  
							
							 
							
							
							
						 
						
							2009-10-01 15:35:38 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								987ced4070 
								
							
								 
							
						 
						
							
							
								
								%compare-vector instruction (only does v= for now)  
							
							 
							
							
							
						 
						
							2009-10-01 14:31:37 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								a93f8f66f9 
								
							
								 
							
						 
						
							
							
								
								Revert "add a %blend-vector intrinsic for v?"  
							
							 
							
							... 
							
							
							
							This reverts commit 21e4b28b67 . 
							
						 
						
							2009-09-30 23:40:37 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								7db7b63552 
								
							
								 
							
						 
						
							
							
								
								add a %blend-vector intrinsic for v?  
							
							 
							
							
							
						 
						
							2009-09-30 23:03:59 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								80e84a357d 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: add vbroadcast intrinsic, fix integer overflow issues  
							
							 
							
							
							
						 
						
							2009-09-29 22:58:20 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f395d83379 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: add fast intrinsic for 'nth', replace broadcast primitive with shuffles  
							
							 
							
							
							
						 
						
							2009-09-29 04:48:11 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e40a95c1e1 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: add vshuffle intrinsic  
							
							 
							
							
							
						 
						
							2009-09-28 23:12:13 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								530accdad9 
								
							
								 
							
						 
						
							
							
								
								io.mmap: fix obsolete tests and get code to inline better  
							
							 
							
							
							
						 
						
							2009-09-28 03:18:27 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b2ea3afd84 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: add hlshift, hrshift (128-bit shift), vbitandn intrinsics  
							
							 
							
							
							
						 
						
							2009-09-28 02:17:46 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bbbb207dab 
								
							
								 
							
						 
						
							
							
								
								Some fixes and cleanups in math.vectors  
							
							 
							
							... 
							
							
							
							- Tighten up type inference for operations on complex float arrays
- Fix v. to have correct behavior with complex numbers
- Rename v<< and v>> to vlshift and vrshift to avoid clashing with v>> accessor 
							
						 
						
							2009-09-24 06:58:33 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7ea8832556 
								
							
								 
							
						 
						
							
							
								
								Tweaks to reduce deployed image size  
							
							 
							
							
							
						 
						
							2009-09-24 06:24:43 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7b6128dd03 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: add v<< and v>> intrinsics for bitwise shifts on elements  
							
							 
							
							
							
						 
						
							2009-09-24 03:32:39 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								43fa252af5 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: new operations: vabs vsqrt vbitand vbitor vbitxor  
							
							 
							
							
							
						 
						
							2009-09-23 02:47:14 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d23826906f 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into integer-simd  
							
							 
							
							
							
						 
						
							2009-09-22 20:21:40 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7cfc63af51 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.branches: M: #phi propagate-around was unnecessary  
							
							 
							
							
							
						 
						
							2009-09-22 17:56:50 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								45ba559ce4 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor into constraints  
							
							 
							
							
							
						 
						
							2009-09-22 16:09:33 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								6e936bdb05 
								
							
								 
							
						 
						
							
							
								
								Fixing failing unit tests in compiler.tree.propagation due to constraints  
							
							 
							
							
							
						 
						
							2009-09-22 16:01:14 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0f0bf667b5 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor into integer-simd  
							
							 
							
							
							
						 
						
							2009-09-21 17:58:24 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ea44ea3522 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: add saturated arithmetic operations  
							
							 
							
							
							
						 
						
							2009-09-20 23:16:02 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								acea55c692 
								
							
								 
							
						 
						
							
							
								
								math.vectors: add v+- word which is accelerated by SSE3  
							
							 
							
							
							
						 
						
							2009-09-20 17:43:16 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								47d8763340 
								
							
								 
							
						 
						
							
							
								
								More integer SIMD work  
							
							 
							
							... 
							
							
							
							- move generated vocab support from specialized-arrays to vocabs.generated
- add fuzz testing to math.vectors.simd
- add alien type support for integer SIMD vectors
- SIMD: parsing word generates a SIMD type, instead of pre-generating them all in math.vectors.simd 
							
						 
						
							2009-09-20 16:48:17 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								01d2ef415a 
								
							
								 
							
						 
						
							
							
								
								get compiler tests loading  
							
							 
							
							
							
						 
						
							2009-09-16 09:20:47 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								172219e931 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: fix unary-op type functions with complex number inputs  
							
							 
							
							
							
						 
						
							2009-09-15 14:30:20 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a0e1af5891 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-09-08 14:22:52 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1e5bc3b376 
								
							
								 
							
						 
						
							
							
								
								inline alien-vector and set-alien-vector if SIMD is not available for a small speedup  
							
							 
							
							
							
						 
						
							2009-09-08 13:56:17 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								942fb7b048 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-09-08 13:22:52 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bbca00e2ae 
								
							
								 
							
						 
						
							
							
								
								Fix conflicts  
							
							 
							
							
							
						 
						
							2009-09-07 23:51:25 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a1ae209f81 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.call-effect: stronger call( inlining; now can inline 'a [ b ] curry call(' where 'a' is literal, [ b ] doesn't infer, but [ a b ] does infer. This simplifies classes.struct:memory>struct  
							
							 
							
							
							
						 
						
							2009-09-07 17:45:03 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e36a0d7ef4 
								
							
								 
							
						 
						
							
							
								
								compiler: clean up code generation for alien boxing/unboxing a bit  
							
							 
							
							
							
						 
						
							2009-09-03 21:22:43 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4d5a4222b6 
								
							
								 
							
						 
						
							
							
								
								More SIMD work  
							
							 
							
							... 
							
							
							
							- Rename SIMD types and register representations: <type>-<count> rather than <count><type>-array
- Make a functor to define 256-bit vector types, use it to define float-8 type
- Make SIMD instructions pure-insns so that they participate in value numbering 
							
						 
						
							2009-09-03 20:58:56 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bf81cb4259 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: split off intrinsics into a sub-vocabulary, to avoid loading most of the SIMD code on bootstrap  
							
							 
							
							
							
						 
						
							2009-09-03 03:43:43 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ff8c70dbe0 
								
							
								 
							
						 
						
							
							
								
								Initial implementation of SSE vector intrinsics:  
							
							 
							
							... 
							
							
							
							- cpu.architecture: add SSE vector representations
- compiler.cfg.intrinsics.alien: remove an attempt at optimization that value numbering handles now
- compiler.cfg.representations: support instructions where the representation is set in the 'rep' slot, and support conversions between single and double floats
- alien-float, set-alien-float now use the single float representation, and the conversion is implicit; this fixes a long-standing bug where a register could get clobbered because of how %set-alien-float was defined on x86
- math.vectors.specialization: add support for SIMD specialization (where the vector word's body is replaced by another quotation), also specialize the 'sum' word
- math.vectors.simd: 4float-array, 2double-array, 4double-array types, and specializers for the math.vectors words 
							
						 
						
							2009-09-03 02:33:07 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2bb6293217 
								
							
								 
							
						 
						
							
							
								
								compiler: add fixnum-min/max intrinsics; ~10% speedup on benchmark.yuv-to-rgb  
							
							 
							
							
							
						 
						
							2009-08-28 19:02:59 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0df8aadce2 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: use SQRTSD instruction for math.libm:fsqrt word  
							
							 
							
							
							
						 
						
							2009-08-25 23:22:15 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								49bd2228ec 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.modular-arithmetic: fix regression; set-alien-*-1 was not always open-coded  
							
							 
							
							
							
						 
						
							2009-08-20 17:56:49 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9ef8f6c81d 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.modular-arithmetic: eliminate >bignum calls where possible, convert fixnum-shift to fixnum-shift-fast if shift count is positive, don't run if there are no modular values  
							
							 
							
							
							
						 
						
							2009-08-20 03:47:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f01f7ad6eb 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: bitand custom inlining was wrong if the second input was a bignum  
							
							 
							
							
							
						 
						
							2009-08-20 03:47:07 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2dc99ea05f 
								
							
								 
							
						 
						
							
							
								
								Fix interval inference of abs, absq when input is a complex number  
							
							 
							
							
							
						 
						
							2009-08-19 16:06:37 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d7594c3381 
								
							
								 
							
						 
						
							
							
								
								compiler: inline singleton predicates, and optimize predicate engines, reduces terrain demo deployed size by ~20kb  
							
							 
							
							
							
						 
						
							2009-08-17 23:59:24 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3047d4a451 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: remove method inlining heuristic  
							
							 
							
							
							
						 
						
							2009-08-17 22:29:05 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bf57d78b09 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.modular-arithmetic: >fixnum elimination and value info annotations were too aggressive  
							
							 
							
							
							
						 
						
							2009-08-17 01:20:25 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5297be3e19 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.modular-arithmetic: stronger optimization handles > 1 usages case as well as values defined and used in loops. Eliminates 5 out of 8 >fixnum calls in benchmark.yuv-to-rgb  
							
							 
							
							
							
						 
						
							2009-08-15 18:42:41 -05:00