Joe Groff
							
						 
						
							 
							
							
							
								
							
								fca8ba3d0a 
								
							
								 
							
						 
						
							
							
								
								add fastcall functions to ffi tests  
							
							 
							
							
							
						 
						
							2010-04-01 02:22:42 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								f3dd625de6 
								
							
								 
							
						 
						
							
							
								
								"stdcall" -> stdcall  
							
							 
							
							
							
						 
						
							2010-03-31 19:29:04 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								65c3259761 
								
							
								 
							
						 
						
							
							
								
								"cdecl" -> cdecl  
							
							 
							
							
							
						 
						
							2010-03-31 19:20:35 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								560c119cd2 
								
							
								 
							
						 
						
							
							
								
								vm: actually use context callstacks when running code  
							
							 
							
							
							
						 
						
							2010-03-26 22:44:43 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6aee6b3adc 
								
							
								 
							
						 
						
							
							
								
								Add context-specific special object table, generalizing catchstack_save and current_callback_save fields of context struct  
							
							 
							
							
							
						 
						
							2010-03-18 22:06:00 +13:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								bcbc7632c6 
								
							
								 
							
						 
						
							
							
								
								fix stack effects in compiler tests  
							
							 
							
							
							
						 
						
							2010-03-08 23:46:20 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								4cfa1a6c77 
								
							
								 
							
						 
						
							
							
								
								rename current string-mangling "char*" to "c-string". char* is now just a boring old pointer to char  
							
							 
							
							
							
						 
						
							2010-02-23 11:42:02 -08:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								eb3f8632dd 
								
							
								 
							
						 
						
							
							
								
								stack-checker.alien: now that C types are words, the compiler can add dependencies on them when compiling alien words. This triggers the necessary recompilation when C types are redefined  
							
							 
							
							
							
						 
						
							2010-02-22 21:32:41 +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
							
						 
						
							 
							
							
							
								
							
								35acd71551 
								
							
								 
							
						 
						
							
							
								
								compiler.units: fix bug that came up recently with nested compilation units  
							
							 
							
							
							
						 
						
							2010-02-04 03:20:48 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8d3c11c176 
								
							
								 
							
						 
						
							
							
								
								compiler: remove some unnecessary complexity  
							
							 
							
							
							
						 
						
							2010-02-04 01:36:52 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3259ef4bec 
								
							
								 
							
						 
						
							
							
								
								vm: modify-code-heap primitive now takes a pair of parameters, update-existing? and reset-pics?. If no generic words were changed, PICs do not need to be reset. If no existing words were redefined, the code heap doesn't have to be traced at all. Speeds up compilation of PEGs since those create lots of compilation units  
							
							 
							
							
							
						 
						
							2010-02-03 23:11:28 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								df55fed478 
								
							
								 
							
						 
						
							
							
								
								generic: rename method-body predicate class to method  
							
							 
							
							
							
						 
						
							2010-02-03 23:11:24 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bf05a901c4 
								
							
								 
							
						 
						
							
							
								
								Fix ffi-test library to work with Windows SDK. Turns out MINGW has a different ABI for struct returns than MS's compiler; make the MS ABI the default for cdecl on Windows, and add mingw ABI for libraries that use the MINGW ABI  
							
							 
							
							
							
						 
						
							2010-02-02 04:01:12 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8432f4c459 
								
							
								 
							
						 
						
							
							
								
								Fix a couple of unit tests that were relying on the old compiler crossref structures  
							
							 
							
							
							
						 
						
							2010-01-31 23:26:55 +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
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d58f73453f 
								
							
								 
							
						 
						
							
							
								
								Add test case for mixin bug Doug found, seems to be fixed now  
							
							 
							
							
							
						 
						
							2010-01-30 09:28:52 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f804c9c422 
								
							
								 
							
						 
						
							
							
								
								Move compile-call and related words only meant to be used for debugging to compiler.test  
							
							 
							
							
							
						 
						
							2010-01-23 00:39:56 +13:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								4c71d71907 
								
							
								 
							
						 
						
							
							
								
								random is generic now -- iota random -> random  
							
							 
							
							
							
						 
						
							2010-01-14 12:48:57 -06: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
							
						 
						
							 
							
							
							
								
							
								1c10196c43 
								
							
								 
							
						 
						
							
							
								
								Rename kernel.private:getenv/setenv to special-object/set-special-object to mirror recent renaming on the VM side  
							
							 
							
							
							
						 
						
							2010-01-13 18:08:18 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								988c8d0601 
								
							
								 
							
						 
						
							
							
								
								More PowerPC non-optimizing compiler backend fixes  
							
							 
							
							
							
						 
						
							2010-01-13 03:09:43 +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
							
						 
						
							 
							
							
							
								
							
								e96404327e 
								
							
								 
							
						 
						
							
							
								
								Get optimizing compiler working without global register variables in VM  
							
							 
							
							
							
						 
						
							2009-12-22 15:42:49 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0612bc6177 
								
							
								 
							
						 
						
							
							
								
								Factor source files should not be executable  
							
							 
							
							
							
						 
						
							2009-11-21 17:50:43 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								41c17f0429 
								
							
								 
							
						 
						
							
							
								
								Fixing test failures  
							
							 
							
							
							
						 
						
							2009-11-11 02:40:24 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5d79450d9d 
								
							
								 
							
						 
						
							
							
								
								Use a more compact representation for "compiled-uses" and "compiled-generic-uses" word-props; reduces image size  
							
							 
							
							
							
						 
						
							2009-11-08 06:08:04 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								279d1169d2 
								
							
								 
							
						 
						
							
							
								
								compiler: fix alien tests  
							
							 
							
							
							
						 
						
							2009-11-06 01:04:02 -06:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								00ce8b6a33 
								
							
								 
							
						 
						
							
							
								
								deprimitivize tuck and put it to pasture  
							
							 
							
							
							
						 
						
							2009-11-05 22:47:05 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8c4ad9bf18 
								
							
								 
							
						 
						
							
							
								
								compiler: fix intrinsics tests on 32-bit  
							
							 
							
							
							
						 
						
							2009-11-04 18:28:46 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								109aa88b06 
								
							
								 
							
						 
						
							
							
								
								compiler: update unit tests for 4-bit tag change  
							
							 
							
							
							
						 
						
							2009-11-03 21:40:29 -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  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								e376a0ece2 
								
							
								 
							
						 
						
							
							
								
								(normalize-path) -> absolute-path, canonicalize-path -> resolve-symlinks  
							
							 
							
							
							
						 
						
							2009-10-28 17:25:50 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								bd13e018dd 
								
							
								 
							
						 
						
							
							
								
								memq? -> member-eq?, sorted-memq? -> sorted-member-eq?  
							
							 
							
							
							
						 
						
							2009-10-28 15:02:00 -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
							
						 
						
							 
							
							
							
								
							
								e8fd85437b 
								
							
								 
							
						 
						
							
							
								
								compiler: fix stack effect inference bug discovered by x6j8x; it was possible to define a word which did not compile but could be called anyway  
							
							 
							
							
							
						 
						
							2009-10-23 03:27:25 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								c3b8847936 
								
							
								 
							
						 
						
							
							
								
								update a bunch of alien-callbacks and alien-indirects to use c-type words  
							
							 
							
							
							
						 
						
							2009-10-21 21:10:11 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								7fac3682a6 
								
							
								 
							
						 
						
							
							
								
								update some naked alien-invokes to use c-type words  
							
							 
							
							
							
						 
						
							2009-10-21 18:44:00 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b2592e01c1 
								
							
								 
							
						 
						
							
							
								
								compiler: fix typo in intrinsics tests  
							
							 
							
							
							
						 
						
							2009-10-19 05:16:04 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6a2434b56c 
								
							
								 
							
						 
						
							
							
								
								compiler: fix low-level-ir test on PowerPC  
							
							 
							
							
							
						 
						
							2009-10-19 05:03:02 -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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								107c96f642 
								
							
								 
							
						 
						
							
							
								
								vm: code heap compaction at runtime using compact-gc primitive  
							
							 
							
							
							
						 
						
							2009-10-16 11:39:35 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								366c341c5f 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.branches: fix live-branches computation for #dispatch nodes  
							
							 
							
							
							
						 
						
							2009-10-10 00:23:50 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b9577e2b0e 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.instructions: remove ##box-float, ##unbox-float, ##box-vector, ##unbox-vector since they can be expressed in terms of ##alien-double, ##set-alien-double, ##alien-vector, ##set-alien-vector, and ##allot  
							
							 
							
							
							
						 
						
							2009-10-01 18:07:50 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4abfe06b51 
								
							
								 
							
						 
						
							
							
								
								Fixing various test failures caused by C type parser change, and clarify C type docs some more  
							
							 
							
							
							
						 
						
							2009-09-28 08:48:39 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								08a2eb74f4 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: shifts didn't work if dst != src1; re-organize file a bit  
							
							 
							
							
							
						 
						
							2009-09-28 05:39:53 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								aa3b9097c8 
								
							
								 
							
						 
						
							
							
								
								compiler: fix codegen test  
							
							 
							
							
							
						 
						
							2009-09-27 22:23:03 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								999b22788e 
								
							
								 
							
						 
						
							
							
								
								compiler: add a unit test  
							
							 
							
							
							
						 
						
							2009-09-27 20:36:19 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								59fbe85c9b 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: nuke ##bignum>integer and ##integer>bignum since they were unused  
							
							 
							
							
							
						 
						
							2009-09-27 20:36:05 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								705b4ab5c3 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan: fix partial sync point logic in case where dst == src, and clean up spilling code  
							
							 
							
							
							
						 
						
							2009-09-27 19:28:20 -05:00  
						
					 
				
					
						
							
							
								 
								sheeple
							
						 
						
							 
							
							
							
								
							
								01a4047126 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'slots' of git://factorcode.org/git/factor into slots  
							
							 
							
							... 
							
							
							
							Conflicts:
	basis/cpu/x86/x86.factor 
							
						 
						
							2009-09-26 03:12:42 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								c704a823e7 
								
							
								 
							
						 
						
							
							
								
								Fixing low-level-ir compiler tests for slot changes  
							
							 
							
							
							
						 
						
							2009-09-26 02:48:40 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a6654c97ef 
								
							
								 
							
						 
						
							
							
								
								compiler: add unit test for undefined_symbol regression  
							
							 
							
							
							
						 
						
							2009-09-25 18:08:33 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								810bd63820 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							... 
							
							
							
							Conflicts:
	basis/math/vectors/simd/simd-docs.factor 
							
						 
						
							2009-09-23 10:11:49 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7d39499d86 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.cssa: correctly handle overflowing fixnum instructions  
							
							 
							
							
							
						 
						
							2009-09-23 02:47:56 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								51ddc963b8 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							... 
							
							
							
							Conflicts:
	core/generic/generic-tests.factor 
							
						 
						
							2009-09-22 10:25:42 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0e3a261637 
								
							
								 
							
						 
						
							
							
								
								Fix test failures in compiler.cfg.linearization.order, compiler.tests.low-level-ir and compiler.graphviz  
							
							 
							
							
							
						 
						
							2009-09-22 05:07:52 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								513ba1f176 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linearization.order: basic blocks were being inserted twice if some blocks had repeated successors, causing problems for register allocation  
							
							 
							
							
							
						 
						
							2009-09-22 03:19:23 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								b86314ec39 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-09-21 17:59:48 -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  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								5cb34724b7 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							... 
							
							
							
							Conflicts:
	basis/classes/struct/struct-tests.factor
	basis/functors/functors-tests.factor
	basis/specialized-arrays/specialized-arrays-tests.factor 
							
						 
						
							2009-09-20 23:02:49 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								eceed177d6 
								
							
								 
							
						 
						
							
							
								
								replace usages of <" with """  
							
							 
							
							
							
						 
						
							2009-09-20 22:42:40 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								076ab42dc3 
								
							
								 
							
						 
						
							
							
								
								move some allocation words that don't really have much to do with c types out of alien.c-types into a new alien.data vocab  
							
							 
							
							
							
						 
						
							2009-09-17 22:36:05 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								01d2ef415a 
								
							
								 
							
						 
						
							
							
								
								get compiler tests loading  
							
							 
							
							
							
						 
						
							2009-09-16 09:20:47 -05: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
							
						 
						
							 
							
							
							
								
							
								a2b864e4f5 
								
							
								 
							
						 
						
							
							
								
								ALIEN: now reads a hexadecimal integer instead of a decimal one, since in general hex is more useful for addresses  
							
							 
							
							
							
						 
						
							2009-09-12 21:17:53 -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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								bd629c1262 
								
							
								 
							
						 
						
							
							
								
								compiler/tests/codegen.factor: don't do exact float comparison  
							
							 
							
							
							
						 
						
							2009-08-30 18:57:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9595be4bf9 
								
							
								 
							
						 
						
							
							
								
								%box-displaced-alien: fix clobberage found by Doug  
							
							 
							
							
							
						 
						
							2009-08-30 05:11:08 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0db01f6d5f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan now supports partial sync-points where all registers are spilled; taking advantage of this, there are new trigonometric intrinsics which yield a 2x performance boost on benchmark.struct-arrays and a 25% boost on benchmark.partial-sums  
							
							 
							
							
							
						 
						
							2009-08-30 04:52:01 -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
							
						 
						
							 
							
							
							
								
							
								8f19f14c1f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.instructions: forgot that ##box-displaced-alien needs a GC check; fixes segfault in benchmark.mandel  
							
							 
							
							
							
						 
						
							2009-08-27 04:09:35 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f662e6403a 
								
							
								 
							
						 
						
							
							
								
								compiler: new inline intrinsic for <displaced-alien> where the inputs have known types; value numbering now eliminates unnecessary allocation of displaced aliens if the result is immediately unboxed again  
							
							 
							
							
							
						 
						
							2009-08-27 00:06:19 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								1b77718625 
								
							
								 
							
						 
						
							
							
								
								use structs  
							
							 
							
							
							
						 
						
							2009-08-26 11:01:39 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								bbcf08cdc3 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-08-26 09:15:33 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0ff80a063d 
								
							
								 
							
						 
						
							
							
								
								compiler: only run float test in low-level-ir if float intrinsics enabled; fixes SIGILL on non-sse2 x86 machines  
							
							 
							
							
							
						 
						
							2009-08-26 06:58:47 -05:00  
						
					 
				
					
						
							
							
								 
								sheeple
							
						 
						
							 
							
							
							
								
							
								61c1ed17d9 
								
							
								 
							
						 
						
							
							
								
								basis/compiler/tests/low-level-ir: add ##copy double-float-rep test  
							
							 
							
							
							
						 
						
							2009-08-25 19:41:17 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								0ce57d0566 
								
							
								 
							
						 
						
							
							
								
								update new structs again  
							
							 
							
							
							
						 
						
							2009-08-25 16:31:58 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								2c6ef83c13 
								
							
								 
							
						 
						
							
							
								
								update compiler.tests.alien to joe's latest changes  
							
							 
							
							
							
						 
						
							2009-08-25 12:00:06 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								b756a37d75 
								
							
								 
							
						 
						
							
							
								
								use new structs wherever possible in compiler tests  
							
							 
							
							
							
						 
						
							2009-08-25 11:59:33 -04: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
							
						 
						
							 
							
							
							
								
							
								a598cc35a5 
								
							
								 
							
						 
						
							
							
								
								compiler: add unit tests for new bugs  
							
							 
							
							
							
						 
						
							2009-08-19 16:56:26 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								507e2b7f3a 
								
							
								 
							
						 
						
							
							
								
								Fix some unit test failures  
							
							 
							
							
							
						 
						
							2009-08-18 03:49:05 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								7c92ab1ea5 
								
							
								 
							
						 
						
							
							
								
								move if-zero etc to math, remove 1-/1+ from math  
							
							 
							
							
							
						 
						
							2009-08-14 14:27:23 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7bfbb0c5ac 
								
							
								 
							
						 
						
							
							
								
								math.intervals: fix interval-rem  
							
							 
							
							
							
						 
						
							2009-08-11 16:49:28 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d0c393aa60 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: new system to track when results of analyses need to be recomputed (reverse post order, linear order, predecessors, dominance, loops). Passes can now call needs-predecessors, needs-dominance, needs-loops at the beginning, and cfg-changed, predecessors-changd at the end. Linearization order now takes loop nesting into account, and linear scan now uses linearization order instead of RPO.  
							
							 
							
							
							
						 
						
							2009-08-08 20:02:56 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4b7ba38aab 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: virtual registers are integers now, and representations are stored off to the side. Fix bug in representation selection that would manifest if a value was used as a float and a fixnum in different branches; cannot globally unbox float in this case  
							
							 
							
							
							
						 
						
							2009-08-08 04:02:18 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								725280d424 
								
							
								 
							
						 
						
							
							
								
								Split off the notion of a register representation from a register class  
							
							 
							
							
							
						 
						
							2009-08-07 17:44:50 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d20d335447 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.stacks: more accurate deconcatenatization inserts fewer partially redundant ##peeks. 11% improvement on benchmark.beust2, 2% reduction in ##peek and ##replace instructions inserted  
							
							 
							
							
							
						 
						
							2009-08-03 07:08:28 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								21489ce85e 
								
							
								 
							
						 
						
							
							
								
								compiler tests: add test case for coalescing bug  
							
							 
							
							
							
						 
						
							2009-08-02 03:49:54 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e1c7f7394a 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: clean up unit tests using some new utilities  
							
							 
							
							
							
						 
						
							2009-08-02 03:49:25 -05:00