fca8ba3d0a 
								
							
								 
							
						 
						
							
							
								
								add fastcall functions to ffi tests  
							
							
							
						 
						
							2010-04-01 02:22:42 -07:00  
				
					
						
							
							
								 
						
							
							
								f3dd625de6 
								
							
								 
							
						 
						
							
							
								
								"stdcall" -> stdcall  
							
							
							
						 
						
							2010-03-31 19:29:04 -07:00  
				
					
						
							
							
								 
						
							
							
								65c3259761 
								
							
								 
							
						 
						
							
							
								
								"cdecl" -> cdecl  
							
							
							
						 
						
							2010-03-31 19:20:35 -07:00  
				
					
						
							
							
								 
						
							
							
								560c119cd2 
								
							
								 
							
						 
						
							
							
								
								vm: actually use context callstacks when running code  
							
							
							
						 
						
							2010-03-26 22:44:43 -04:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								bcbc7632c6 
								
							
								 
							
						 
						
							
							
								
								fix stack effects in compiler tests  
							
							
							
						 
						
							2010-03-08 23:46:20 -08:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								35acd71551 
								
							
								 
							
						 
						
							
							
								
								compiler.units: fix bug that came up recently with nested compilation units  
							
							
							
						 
						
							2010-02-04 03:20:48 +13:00  
				
					
						
							
							
								 
						
							
							
								8d3c11c176 
								
							
								 
							
						 
						
							
							
								
								compiler: remove some unnecessary complexity  
							
							
							
						 
						
							2010-02-04 01:36:52 +13:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								df55fed478 
								
							
								 
							
						 
						
							
							
								
								generic: rename method-body predicate class to method  
							
							
							
						 
						
							2010-02-03 23:11:24 +13:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								8432f4c459 
								
							
								 
							
						 
						
							
							
								
								Fix a couple of unit tests that were relying on the old compiler crossref structures  
							
							
							
						 
						
							2010-01-31 23:26:55 +13:00  
				
					
						
							
							
								 
						
							
							
								c027046857 
								
							
								 
							
						 
						
							
							
								
								New 'conditional dependency' mechanism for more accurate recording of recompilation information  
							
							
							
						 
						
							2010-01-30 09:28:57 +13:00  
				
					
						
							
							
								 
						
							
							
								ab428fc259 
								
							
								 
							
						 
						
							
							
								
								Code cleanups  
							
							
							
						 
						
							2010-01-30 09:28:56 +13:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								d58f73453f 
								
							
								 
							
						 
						
							
							
								
								Add test case for mixin bug Doug found, seems to be fixed now  
							
							
							
						 
						
							2010-01-30 09:28:52 +13:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								4c71d71907 
								
							
								 
							
						 
						
							
							
								
								random is generic now -- iota random -> random  
							
							
							
						 
						
							2010-01-14 12:48:57 -06:00  
				
					
						
							
							
								 
						
							
							
								df4fb4a3ee 
								
							
								 
							
						 
						
							
							
								
								Removing integers-as-sequences  
							
							
							
						 
						
							2010-01-15 07:15:33 +13:00  
				
					
						
							
							
								 
						
							
							
								50d68c1b10 
								
							
								 
							
						 
						
							
							
								
								Fix input-classes of /i and mod, and add some regression tests with various reductions of the original test-case from the terrain demo  
							
							
							
						 
						
							2010-01-14 18:15:51 +13:00  
				
					
						
							
							
								 
						
							
							
								47a5e96547 
								
							
								 
							
						 
						
							
							
								
								Rework min and max so that behavior with floats and NaNs is consistent between generic arithmetic and open-coded float intrinsics  
							
							
							
						 
						
							2010-01-13 22:20:16 +13:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								988c8d0601 
								
							
								 
							
						 
						
							
							
								
								More PowerPC non-optimizing compiler backend fixes  
							
							
							
						 
						
							2010-01-13 03:09:43 +13:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								e96404327e 
								
							
								 
							
						 
						
							
							
								
								Get optimizing compiler working without global register variables in VM  
							
							
							
						 
						
							2009-12-22 15:42:49 +13:00  
				
					
						
							
							
								 
						
							
							
								0612bc6177 
								
							
								 
							
						 
						
							
							
								
								Factor source files should not be executable  
							
							
							
						 
						
							2009-11-21 17:50:43 -06:00  
				
					
						
							
							
								 
						
							
							
								41c17f0429 
								
							
								 
							
						 
						
							
							
								
								Fixing test failures  
							
							
							
						 
						
							2009-11-11 02:40:24 -06:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								279d1169d2 
								
							
								 
							
						 
						
							
							
								
								compiler: fix alien tests  
							
							
							
						 
						
							2009-11-06 01:04:02 -06:00  
				
					
						
							
							
								 
						
							
							
								00ce8b6a33 
								
							
								 
							
						 
						
							
							
								
								deprimitivize tuck and put it to pasture  
							
							
							
						 
						
							2009-11-05 22:47:05 -06:00  
				
					
						
							
							
								 
						
							
							
								8c4ad9bf18 
								
							
								 
							
						 
						
							
							
								
								compiler: fix intrinsics tests on 32-bit  
							
							
							
						 
						
							2009-11-04 18:28:46 -06:00  
				
					
						
							
							
								 
						
							
							
								109aa88b06 
								
							
								 
							
						 
						
							
							
								
								compiler: update unit tests for 4-bit tag change  
							
							
							
						 
						
							2009-11-03 21:40:29 -06:00  
				
					
						
							
							
								 
						
							
							
								e4ad642134 
								
							
								 
							
						 
						
							
							
								
								vm: 4 bit tags, new representation of alien objects makes unbox-any-c-ptr more efficient (work in progress)  
							
							
							
						 
						
							2009-11-02 04:25:54 -06:00  
				
					
						
							
							
								 
						
							
							
								3f15e028f7 
								
							
								 
							
						 
						
							
							
								
								exile roll and -roll to basis/shuffle and mark them deprecated  
							
							
							
						 
						
							2009-10-30 17:11:45 -05:00  
				
					
						
							
							
								 
						
							
							
								e376a0ece2 
								
							
								 
							
						 
						
							
							
								
								(normalize-path) -> absolute-path, canonicalize-path -> resolve-symlinks  
							
							
							
						 
						
							2009-10-28 17:25:50 -05:00  
				
					
						
							
							
								 
						
							
							
								bd13e018dd 
								
							
								 
							
						 
						
							
							
								
								memq? -> member-eq?, sorted-memq? -> sorted-member-eq?  
							
							
							
						 
						
							2009-10-28 15:02:00 -05:00  
				
					
						
							
							
								 
						
							
							
								e46259bd33 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.transforms: fix problem with 'shift' transform when input was a bignum  
							
							
							
						 
						
							2009-10-23 07:50:56 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								c3b8847936 
								
							
								 
							
						 
						
							
							
								
								update a bunch of alien-callbacks and alien-indirects to use c-type words  
							
							
							
						 
						
							2009-10-21 21:10:11 -05:00  
				
					
						
							
							
								 
						
							
							
								7fac3682a6 
								
							
								 
							
						 
						
							
							
								
								update some naked alien-invokes to use c-type words  
							
							
							
						 
						
							2009-10-21 18:44:00 -05:00  
				
					
						
							
							
								 
						
							
							
								b2592e01c1 
								
							
								 
							
						 
						
							
							
								
								compiler: fix typo in intrinsics tests  
							
							
							
						 
						
							2009-10-19 05:16:04 -05:00  
				
					
						
							
							
								 
						
							
							
								6a2434b56c 
								
							
								 
							
						 
						
							
							
								
								compiler: fix low-level-ir test on PowerPC  
							
							
							
						 
						
							2009-10-19 05:03:02 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								107c96f642 
								
							
								 
							
						 
						
							
							
								
								vm: code heap compaction at runtime using compact-gc primitive  
							
							
							
						 
						
							2009-10-16 11:39:35 -05:00  
				
					
						
							
							
								 
						
							
							
								366c341c5f 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.branches: fix live-branches computation for #dispatch nodes  
							
							
							
						 
						
							2009-10-10 00:23:50 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								08a2eb74f4 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: shifts didn't work if dst != src1; re-organize file a bit  
							
							
							
						 
						
							2009-09-28 05:39:53 -05:00  
				
					
						
							
							
								 
						
							
							
								aa3b9097c8 
								
							
								 
							
						 
						
							
							
								
								compiler: fix codegen test  
							
							
							
						 
						
							2009-09-27 22:23:03 -05:00  
				
					
						
							
							
								 
						
							
							
								999b22788e 
								
							
								 
							
						 
						
							
							
								
								compiler: add a unit test  
							
							
							
						 
						
							2009-09-27 20:36:19 -05:00  
				
					
						
							
							
								 
						
							
							
								59fbe85c9b 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: nuke ##bignum>integer and ##integer>bignum since they were unused  
							
							
							
						 
						
							2009-09-27 20:36:05 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								c704a823e7 
								
							
								 
							
						 
						
							
							
								
								Fixing low-level-ir compiler tests for slot changes  
							
							
							
						 
						
							2009-09-26 02:48:40 -05:00  
				
					
						
							
							
								 
						
							
							
								a6654c97ef 
								
							
								 
							
						 
						
							
							
								
								compiler: add unit test for undefined_symbol regression  
							
							
							
						 
						
							2009-09-25 18:08:33 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								7d39499d86 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.cssa: correctly handle overflowing fixnum instructions  
							
							
							
						 
						
							2009-09-23 02:47:56 -05:00  
				
					
						
							
							
								 
						
							
							
								51ddc963b8 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							... 
							
							
							
							Conflicts:
	core/generic/generic-tests.factor 
							
						 
						
							2009-09-22 10:25:42 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								b86314ec39 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							
							
						 
						
							2009-09-21 17:59:48 -05:00  
				
					
						
							
							
								 
						
							
							
								962d039852 
								
							
								 
							
						 
						
							
							
								
								Rename specific-method to method-for-class, rename (effective-method) to method-for-object, and make both much faster  
							
							
							
						 
						
							2009-09-21 17:42:20 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								eceed177d6 
								
							
								 
							
						 
						
							
							
								
								replace usages of <" with """  
							
							
							
						 
						
							2009-09-20 22:42:40 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								01d2ef415a 
								
							
								 
							
						 
						
							
							
								
								get compiler tests loading  
							
							
							
						 
						
							2009-09-16 09:20:47 -05:00  
				
					
						
							
							
								 
						
							
							
								32b95c2cdf 
								
							
								 
							
						 
						
							
							
								
								math: add unordered comparison operators u< u<= u> u>= which behave exactly like < <= > >= except no floating point exceptions are set if one or both inputs are NaNs; also add efficient intrinsic for unordered? predicate, and fix propagation type functions for abs, absq, and bitnot  
							
							
							
						 
						
							2009-09-12 22:20:13 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								bd629c1262 
								
							
								 
							
						 
						
							
							
								
								compiler/tests/codegen.factor: don't do exact float comparison  
							
							
							
						 
						
							2009-08-30 18:57:45 -05:00  
				
					
						
							
							
								 
						
							
							
								9595be4bf9 
								
							
								 
							
						 
						
							
							
								
								%box-displaced-alien: fix clobberage found by Doug  
							
							
							
						 
						
							2009-08-30 05:11:08 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								2bb6293217 
								
							
								 
							
						 
						
							
							
								
								compiler: add fixnum-min/max intrinsics; ~10% speedup on benchmark.yuv-to-rgb  
							
							
							
						 
						
							2009-08-28 19:02:59 -05:00  
				
					
						
							
							
								 
						
							
							
								d957ae4e44 
								
							
								 
							
						 
						
							
							
								
								Performance improvements to make struct-arrays benchmark faster  
							
							... 
							
							
							
							- improved optimization of ##unbox-any-c-ptr on ##box-displaced-alien; convert it to ##unbox-c-ptr where possible using class info stored in the ##bda instruction
- make fcos, fsin, etc inline again; everything in math.libm inline again, except for fsqrt which is an intrinsic
- convert min and max on floats to float-min and float-max
- make min and max not inline, so that the above can work
- struct-arrays: rice a bit so that more fixnums come up 
							
						 
						
							2009-08-28 05:21:16 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								1b77718625 
								
							
								 
							
						 
						
							
							
								
								use structs  
							
							
							
						 
						
							2009-08-26 11:01:39 -05:00  
				
					
						
							
							
								 
						
							
							
								bbcf08cdc3 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							
							
						 
						
							2009-08-26 09:15:33 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								61c1ed17d9 
								
							
								 
							
						 
						
							
							
								
								basis/compiler/tests/low-level-ir: add ##copy double-float-rep test  
							
							
							
						 
						
							2009-08-25 19:41:17 -05:00  
				
					
						
							
							
								 
						
							
							
								0ce57d0566 
								
							
								 
							
						 
						
							
							
								
								update new structs again  
							
							
							
						 
						
							2009-08-25 16:31:58 -05:00  
				
					
						
							
							
								 
						
							
							
								2c6ef83c13 
								
							
								 
							
						 
						
							
							
								
								update compiler.tests.alien to joe's latest changes  
							
							
							
						 
						
							2009-08-25 12:00:06 -05:00  
				
					
						
							
							
								 
						
							
							
								b756a37d75 
								
							
								 
							
						 
						
							
							
								
								use new structs wherever possible in compiler tests  
							
							
							
						 
						
							2009-08-25 11:59:33 -04:00  
				
					
						
							
							
								 
						
							
							
								49bd2228ec 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.modular-arithmetic: fix regression; set-alien-*-1 was not always open-coded  
							
							
							
						 
						
							2009-08-20 17:56:49 -05:00  
				
					
						
							
							
								 
						
							
							
								a598cc35a5 
								
							
								 
							
						 
						
							
							
								
								compiler: add unit tests for new bugs  
							
							
							
						 
						
							2009-08-19 16:56:26 -05:00  
				
					
						
							
							
								 
						
							
							
								507e2b7f3a 
								
							
								 
							
						 
						
							
							
								
								Fix some unit test failures  
							
							
							
						 
						
							2009-08-18 03:49:05 -05:00  
				
					
						
							
							
								 
						
							
							
								7c92ab1ea5 
								
							
								 
							
						 
						
							
							
								
								move if-zero etc to math, remove 1-/1+ from math  
							
							
							
						 
						
							2009-08-14 14:27:23 -05:00  
				
					
						
							
							
								 
						
							
							
								3f3d57032b 
								
							
								 
							
						 
						
							
							
								
								Delete empty unit tests files, remove 1- and 1+, reorder IN: lines in a lot of places, minor refactoring  
							
							
							
						 
						
							2009-08-13 19:21:44 -05:00  
				
					
						
							
							
								 
						
							
							
								7bfbb0c5ac 
								
							
								 
							
						 
						
							
							
								
								math.intervals: fix interval-rem  
							
							
							
						 
						
							2009-08-11 16:49:28 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								725280d424 
								
							
								 
							
						 
						
							
							
								
								Split off the notion of a register representation from a register class  
							
							
							
						 
						
							2009-08-07 17:44:50 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								21489ce85e 
								
							
								 
							
						 
						
							
							
								
								compiler tests: add test case for coalescing bug  
							
							
							
						 
						
							2009-08-02 03:49:54 -05:00  
				
					
						
							
							
								 
						
							
							
								e1c7f7394a 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: clean up unit tests using some new utilities  
							
							
							
						 
						
							2009-08-02 03:49:25 -05:00  
				
					
						
							
							
								 
						
							
							
								20ec574965 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.destruction: fix bug in trivial-interference heuristic, and type error in code path that didn't run before  
							
							
							
						 
						
							2009-08-01 20:22:31 -05:00  
				
					
						
							
							
								 
						
							
							
								7c43f71c6d 
								
							
								 
							
						 
						
							
							
								
								compiler: Oops, typos in unit tests  
							
							
							
						 
						
							2009-07-31 22:33:02 -05:00  
				
					
						
							
							
								 
						
							
							
								d515715b0c 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.destruction: fix bug in renaming triggered by sequence-parser:take-sequence  
							
							
							
						 
						
							2009-07-31 18:34:15 -05:00  
				
					
						
							
							
								 
						
							
							
								34432c5f18 
								
							
								 
							
						 
						
							
							
								
								compiler: fix test  
							
							
							
						 
						
							2009-07-29 06:39:54 -05:00  
				
					
						
							
							
								 
						
							
							
								7a6bdffaaa 
								
							
								 
							
						 
						
							
							
								
								IN: fix for compiler test  
							
							
							
						 
						
							2009-07-28 11:16:21 -05:00  
				
					
						
							
							
								 
						
							
							
								cb07256ff5 
								
							
								 
							
						 
						
							
							
								
								Add some compiler tests  
							
							
							
						 
						
							2009-07-28 06:45:31 -05:00  
				
					
						
							
							
								 
						
							
							
								cf90945b4c 
								
							
								 
							
						 
						
							
							
								
								Add some tests that directly generate low level IR  
							
							
							
						 
						
							2009-07-27 22:29:33 -05:00  
				
					
						
							
							
								 
						
							
							
								ff7f0e2f3b 
								
							
								 
							
						 
						
							
							
								
								Add testcase for recent bug  
							
							
							
						 
						
							2009-07-23 18:03:14 -05:00  
				
					
						
							
							
								 
						
							
							
								69ded76c66 
								
							
								 
							
						 
						
							
							
								
								Fixing compiler tests  
							
							
							
						 
						
							2009-07-22 21:10:50 -05:00  
				
					
						
							
							
								 
						
							
							
								3fb4fc1bde 
								
							
								 
							
						 
						
							
							
								
								Improve code generation for shift word: add intrinsics for fixnum-shift-fast in the case where the shift count is not constant, transform 1 swap shift into a more overflow check with open-coded fast case, transform bitand into fixnum-bitand in more cases  
							
							
							
						 
						
							2009-07-16 23:50:48 -05:00  
				
					
						
							
							
								 
						
							
							
								11731f8d48 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.value-numbering: merge in compiler.cfg.branch-folding  
							
							
							
						 
						
							2009-07-14 20:05:01 -05:00  
				
					
						
							
							
								 
						
							
							
								03cd550b93 
								
							
								 
							
						 
						
							
							
								
								Fix codegen test  
							
							
							
						 
						
							2009-07-14 16:11:14 -05:00  
				
					
						
							
							
								 
						
							
							
								2ace87370e 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.value-numbering: more optimizations  
							
							
							
						 
						
							2009-07-14 16:05:25 -05:00  
				
					
						
							
							
								 
						
							
							
								fb488025aa 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.value-numbering.rewrite: fix ##compare-imm rewrite rule  
							
							
							
						 
						
							2009-07-04 02:50:50 -05:00  
				
					
						
							
							
								 
						
							
							
								9404a7d0e3 
								
							
								 
							
						 
						
							
							
								
								half-floats: Add some more unit tests  
							
							
							
						 
						
							2009-07-02 17:52:53 -05:00  
				
					
						
							
							
								 
						
							
							
								64f93e41a9 
								
							
								 
							
						 
						
							
							
								
								Various linear scan fixes  
							
							... 
							
							
							
							insert spill before reload to fix x86-32 regression
inactive splitting: if all inactive intervals' registers are in use, don't fail
fix stack analysis tests 
							
						 
						
							2009-06-13 17:35:40 -05:00  
				
					
						
							
							
								 
						
							
							
								ade5db2405 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: fix small register intrinsics on x86-64  
							
							
							
						 
						
							2009-06-03 03:22:46 -05:00  
				
					
						
							
							
								 
						
							
							
								66a9416473 
								
							
								 
							
						 
						
							
							
								
								Update documentation for stricter vocabulary search path semantics  
							
							
							
						 
						
							2009-05-16 00:29:21 -05:00  
				
					
						
							
							
								 
						
							
							
								b67b617746 
								
							
								 
							
						 
						
							
							
								
								Fix compiler breakage if a GENERIC# has an incorrect stack effect declaration  
							
							
							
						 
						
							2009-05-12 21:23:52 -05:00  
				
					
						
							
							
								 
						
							
							
								65faa3fda3 
								
							
								 
							
						 
						
							
							
								
								Fix unit tests and load errors for slip removal  
							
							
							
						 
						
							2009-05-10 17:03:41 -05:00  
				
					
						
							
							
								 
						
							
							
								75d9946bd7 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.modular-arithmetic: convert >integer >fixnum into >fixnum  
							
							
							
						 
						
							2009-05-07 12:54:23 -05:00  
				
					
						
							
							
								 
						
							
							
								58d0e17936 
								
							
								 
							
						 
						
							
							
								
								Fix bool type; its actually 1 byte not 4 in structs. Bug reported by jedahu  
							
							
							
						 
						
							2009-05-05 18:37:40 -05:00  
				
					
						
							
							
								 
						
							
							
								a63ad6a7a5 
								
							
								 
							
						 
						
							
							
								
								Remove cruddy string encoding/decoding code from VM  
							
							
							
						 
						
							2009-05-02 13:45:38 -05:00  
				
					
						
							
							
								 
						
							
							
								21ac396128 
								
							
								 
							
						 
						
							
							
								
								Fix typo in redefine14 test  
							
							
							
						 
						
							2009-05-01 08:29:04 -05:00  
				
					
						
							
							
								 
						
							
							
								92781739c8 
								
							
								 
							
						 
						
							
							
								
								Some new compiler tests  
							
							
							
						 
						
							2009-05-01 06:48:33 -05:00  
				
					
						
							
							
								 
						
							
							
								a70a2c0e31 
								
							
								 
							
						 
						
							
							
								
								Fix some test failures and add an unportable tag  
							
							
							
						 
						
							2009-04-30 22:56:15 -05:00  
				
					
						
							
							
								 
						
							
							
								e5cdb7ac2d 
								
							
								 
							
						 
						
							
							
								
								call( fast-path now supports curry and compose  
							
							
							
						 
						
							2009-04-30 21:08:29 -05:00  
				
					
						
							
							
								 
						
							
							
								a79e3eb687 
								
							
								 
							
						 
						
							
							
								
								Passing an invalid parameter to 'declare' doesn't break the compiler anymore  
							
							
							
						 
						
							2009-04-30 20:40:47 -05:00  
				
					
						
							
							
								 
						
							
							
								964fbd0a24 
								
							
								 
							
						 
						
							
							
								
								Fix test failures from ratio/complex built-in removal  
							
							
							
						 
						
							2009-04-30 00:38:55 -05:00  
				
					
						
							
							
								 
						
							
							
								fc4894fbdf 
								
							
								 
							
						 
						
							
							
								
								Replace ratio and complex built-in types with tuples defined in the library. This frees up two lo-tags, so move array and quotation over to these tags and update compiler for new tags  
							
							
							
						 
						
							2009-04-30 00:27:35 -05:00  
				
					
						
							
							
								 
						
							
							
								deaea55d85 
								
							
								 
							
						 
						
							
							
								
								compiler: don't wrap non-inference errors in compile errors, since they indicate compiler bugs; just rethrow them. Add unit test for a PIC regression  
							
							
							
						 
						
							2009-04-29 19:39:04 -05:00  
				
					
						
							
							
								 
						
							
							
								7f766ab355 
								
							
								 
							
						 
						
							
							
								
								Update compiler tests for tag number changes  
							
							
							
						 
						
							2009-04-28 21:43:30 -05:00  
				
					
						
							
							
								 
						
							
							
								5f6c074edd 
								
							
								 
							
						 
						
							
							
								
								Split up types.c/h into smaller files, remove optimized slot from F_WORD struct  
							
							
							
						 
						
							2009-04-28 17:26:11 -05:00  
				
					
						
							
							
								 
						
							
							
								28cacc8d61 
								
							
								 
							
						 
						
							
							
								
								fix some compiler tests  
							
							
							
						 
						
							2009-04-26 02:23:33 -05:00  
				
					
						
							
							
								 
						
							
							
								acd312ab19 
								
							
								 
							
						 
						
							
							
								
								fix IN: for compiler tests  
							
							
							
						 
						
							2009-04-26 00:51:47 -05:00  
				
					
						
							
							
								 
						
							
							
								057f75e9a1 
								
							
								 
							
						 
						
							
							
								
								Refactor compiler.tree.builder to fix various regressions  
							
							
							
						 
						
							2009-04-21 23:02:00 -05:00  
				
					
						
							
							
								 
						
							
							
								469c9ee21d 
								
							
								 
							
						 
						
							
							
								
								Debugging stack checking  
							
							
							
						 
						
							2009-04-21 16:09:53 -05:00  
				
					
						
							
							
								 
						
							
							
								05f3f9dcb9 
								
							
								 
							
						 
						
							
							
								
								Fixing unit tests for stack effect inference changes  
							
							
							
						 
						
							2009-04-20 21:15:19 -05:00  
				
					
						
							
							
								 
						
							
							
								5165d811d5 
								
							
								 
							
						 
						
							
							
								
								Changing the stack effect of a generic word could break the compiler  
							
							
							
						 
						
							2009-04-20 04:21:00 -05:00  
				
					
						
							
							
								 
						
							
							
								7a1841f59b 
								
							
								 
							
						 
						
							
							
								
								(( -- )) eval -> eval( -- )  
							
							
							
						 
						
							2009-04-17 15:49:21 -05:00  
				
					
						
							
							
								 
						
							
							
								dba4c0d589 
								
							
								 
							
						 
						
							
							
								
								fixing compiler errors in basis  
							
							
							
						 
						
							2009-04-17 12:46:04 -05:00  
				
					
						
							
							
								 
						
							
							
								5460a5375e 
								
							
								 
							
						 
						
							
							
								
								change makefile to use .so instead of .a on unix  
							
							
							
						 
						
							2009-03-28 14:41:48 -05:00  
				
					
						
							
							
								 
						
							
							
								40631ec2a9 
								
							
								 
							
						 
						
							
							
								
								Fix alien tests on Windows; LoadLibraryEx does not like UNC paths  
							
							
							
						 
						
							2009-03-28 02:37:07 -05:00  
				
					
						
							
							
								 
						
							
							
								6f743b280d 
								
							
								 
							
						 
						
							
							
								
								hopefully last fix for alien.factor  
							
							
							
						 
						
							2009-03-27 17:58:31 -05:00  
				
					
						
							
							
								 
						
							
							
								1cf5c519cc 
								
							
								 
							
						 
						
							
							
								
								fix ffi tests on 32bit  
							
							
							
						 
						
							2009-03-27 14:39:45 -05:00  
				
					
						
							
							
								 
						
							
							
								e04efe5f5a 
								
							
								 
							
						 
						
							
							
								
								use .a instead of .so on unix  
							
							
							
						 
						
							2009-03-27 10:41:24 -05:00  
				
					
						
							
							
								 
						
							
							
								73b8bf1193 
								
							
								 
							
						 
						
							
							
								
								fix using list  
							
							
							
						 
						
							2009-03-26 19:58:23 -05:00  
				
					
						
							
							
								 
						
							
							
								63e06589bd 
								
							
								 
							
						 
						
							
							
								
								don't normalize-path in add-library  
							
							
							
						 
						
							2009-03-26 18:56:10 -05:00  
				
					
						
							
							
								 
						
							
							
								b771758ff7 
								
							
								 
							
						 
						
							
							
								
								fix load errors, help lint  
							
							
							
						 
						
							2009-03-26 10:45:52 -05:00  
				
					
						
							
							
								 
						
							
							
								4b275c2861 
								
							
								 
							
						 
						
							
							
								
								make add-library normalize-path, use libfactor-ffi-tests for testing ffi  
							
							
							
						 
						
							2009-03-25 13:05:34 -05:00