Slava Pestov
							
						 
						
							 
							
							
							
								
							
								299b5b0f6c 
								
							
								 
							
						 
						
							
							
								
								filter-here -> filter!  
							
							 
							
							
							
						 
						
							2009-10-28 00:44:05 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								935c0797c3 
								
							
								 
							
						 
						
							
							
								
								update existing code for [let change  
							
							 
							
							
							
						 
						
							2009-10-27 22:05:37 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								d17ef38007 
								
							
								 
							
						 
						
							
							
								
								update compiler.tree.cleanup test  
							
							 
							
							
							
						 
						
							2009-10-26 23:01:35 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0c431f1222 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: fix broken corner cases in bitand and shift transforms, exposed by Hugh Aguilar's LC53 benchmark  
							
							 
							
							
							
						 
						
							2009-10-24 01:09:32 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e46259bd33 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.transforms: fix problem with 'shift' transform when input was a bignum  
							
							 
							
							
							
						 
						
							2009-10-23 07:50:56 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2d5cdd19ec 
								
							
								 
							
						 
						
							
							
								
								compiler: on PPC, ANDI, ORI and XORI instructions take an unsigned 16-bit immediate, unlike ADDI, SUBI and MULLI which take a signed 16-bit immediate. The code generator was not aware of this, and so for example '[ >fixnum -16 bitand ]' would generate incorrect code. Split up small-enough? hook into immediate-arithmetic? and immediate-bitwise? and update value numbering to be aware of this. Fixes classes.struct bitfields test failure  
							
							 
							
							
							
						 
						
							2009-10-19 04:58:29 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								d9002127fa 
								
							
								 
							
						 
						
							
							
								
								have vshuffle accept simd-128 variable byte shuffles  
							
							 
							
							
							
						 
						
							2009-10-10 11:30:11 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								366c341c5f 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.branches: fix live-branches computation for #dispatch nodes  
							
							 
							
							
							
						 
						
							2009-10-10 00:23:50 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								471c86a110 
								
							
								 
							
						 
						
							
							
								
								generate better code for vabs when instruction isn't available instead of using software fallback (-0.0 andn for floats, x > 0 ? x : -x for signed ints, nop for unsigned ints)  
							
							 
							
							
							
						 
						
							2009-10-09 14:24:55 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								01f5d392be 
								
							
								 
							
						 
						
							
							
								
								implement vneg as an intrinsic in terms of load -0, subtract  
							
							 
							
							
							
						 
						
							2009-10-09 13:16:39 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								bb93543054 
								
							
								 
							
						 
						
							
							
								
								Another identity in value numbering for bitfields  
							
							 
							
							
							
						 
						
							2009-10-08 15:20:42 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								eb31589092 
								
							
								 
							
						 
						
							
							
								
								Adding identity to propagation to remove some redundant bitands  
							
							 
							
							
							
						 
						
							2009-10-08 00:59:15 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								785f8620fd 
								
							
								 
							
						 
						
							
							
								
								glue conversion intrinsics to instructions  
							
							 
							
							
							
						 
						
							2009-10-06 20:13:38 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								fbe810fc3b 
								
							
								 
							
						 
						
							
							
								
								rename SIMD vmerge and kids to (vmerge), make new vmerge more generally useful  
							
							 
							
							
							
						 
						
							2009-10-05 17:55:39 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								0c9c3d4859 
								
							
								 
							
						 
						
							
							
								
								add %merge-vector-head and %merge-vector-tail instructions to back vmerge  
							
							 
							
							
							
						 
						
							2009-10-03 21:48:53 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								04bb03bb61 
								
							
								 
							
						 
						
							
							
								
								add intrinsics for v<=, v<, v=, v>, v>=, vunordered?  
							
							 
							
							
							
						 
						
							2009-10-03 11:29:34 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								38f413a8a6 
								
							
								 
							
						 
						
							
							
								
								add intrinsic for vnot/vbitnot  
							
							 
							
							
							
						 
						
							2009-10-02 20:04:28 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								aa3392e50f 
								
							
								 
							
						 
						
							
							
								
								implement vand, vor, vandn, and vxor as bitwise intrinsics for simd types  
							
							 
							
							
							
						 
						
							2009-10-02 14:17:01 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								d14f150b58 
								
							
								 
							
						 
						
							
							
								
								%test-vector instruction for vany?, vall?, vnone?  
							
							 
							
							
							
						 
						
							2009-10-01 15:35:38 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								987ced4070 
								
							
								 
							
						 
						
							
							
								
								%compare-vector instruction (only does v= for now)  
							
							 
							
							
							
						 
						
							2009-10-01 14:31:37 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								a93f8f66f9 
								
							
								 
							
						 
						
							
							
								
								Revert "add a %blend-vector intrinsic for v?"  
							
							 
							
							... 
							
							
							
							This reverts commit 21e4b28b67 . 
							
						 
						
							2009-09-30 23:40:37 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								7db7b63552 
								
							
								 
							
						 
						
							
							
								
								add a %blend-vector intrinsic for v?  
							
							 
							
							
							
						 
						
							2009-09-30 23:03:59 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								80e84a357d 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: add vbroadcast intrinsic, fix integer overflow issues  
							
							 
							
							
							
						 
						
							2009-09-29 22:58:20 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f395d83379 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: add fast intrinsic for 'nth', replace broadcast primitive with shuffles  
							
							 
							
							
							
						 
						
							2009-09-29 04:48:11 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e40a95c1e1 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: add vshuffle intrinsic  
							
							 
							
							
							
						 
						
							2009-09-28 23:12:13 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								530accdad9 
								
							
								 
							
						 
						
							
							
								
								io.mmap: fix obsolete tests and get code to inline better  
							
							 
							
							
							
						 
						
							2009-09-28 03:18:27 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b2ea3afd84 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: add hlshift, hrshift (128-bit shift), vbitandn intrinsics  
							
							 
							
							
							
						 
						
							2009-09-28 02:17:46 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bbbb207dab 
								
							
								 
							
						 
						
							
							
								
								Some fixes and cleanups in math.vectors  
							
							 
							
							... 
							
							
							
							- Tighten up type inference for operations on complex float arrays
- Fix v. to have correct behavior with complex numbers
- Rename v<< and v>> to vlshift and vrshift to avoid clashing with v>> accessor 
							
						 
						
							2009-09-24 06:58:33 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7ea8832556 
								
							
								 
							
						 
						
							
							
								
								Tweaks to reduce deployed image size  
							
							 
							
							
							
						 
						
							2009-09-24 06:24:43 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7b6128dd03 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: add v<< and v>> intrinsics for bitwise shifts on elements  
							
							 
							
							
							
						 
						
							2009-09-24 03:32:39 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								43fa252af5 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: new operations: vabs vsqrt vbitand vbitor vbitxor  
							
							 
							
							
							
						 
						
							2009-09-23 02:47:14 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d23826906f 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into integer-simd  
							
							 
							
							
							
						 
						
							2009-09-22 20:21:40 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7cfc63af51 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.branches: M: #phi propagate-around was unnecessary  
							
							 
							
							
							
						 
						
							2009-09-22 17:56:50 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								45ba559ce4 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor into constraints  
							
							 
							
							
							
						 
						
							2009-09-22 16:09:33 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								6e936bdb05 
								
							
								 
							
						 
						
							
							
								
								Fixing failing unit tests in compiler.tree.propagation due to constraints  
							
							 
							
							
							
						 
						
							2009-09-22 16:01:14 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0f0bf667b5 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor into integer-simd  
							
							 
							
							
							
						 
						
							2009-09-21 17:58:24 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								962d039852 
								
							
								 
							
						 
						
							
							
								
								Rename specific-method to method-for-class, rename (effective-method) to method-for-object, and make both much faster  
							
							 
							
							
							
						 
						
							2009-09-21 17:42:20 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ea44ea3522 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: add saturated arithmetic operations  
							
							 
							
							
							
						 
						
							2009-09-20 23:16:02 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								acea55c692 
								
							
								 
							
						 
						
							
							
								
								math.vectors: add v+- word which is accelerated by SSE3  
							
							 
							
							
							
						 
						
							2009-09-20 17:43:16 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								47d8763340 
								
							
								 
							
						 
						
							
							
								
								More integer SIMD work  
							
							 
							
							... 
							
							
							
							- move generated vocab support from specialized-arrays to vocabs.generated
- add fuzz testing to math.vectors.simd
- add alien type support for integer SIMD vectors
- SIMD: parsing word generates a SIMD type, instead of pre-generating them all in math.vectors.simd 
							
						 
						
							2009-09-20 16:48:17 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								01d2ef415a 
								
							
								 
							
						 
						
							
							
								
								get compiler tests loading  
							
							 
							
							
							
						 
						
							2009-09-16 09:20:47 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								172219e931 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: fix unary-op type functions with complex number inputs  
							
							 
							
							
							
						 
						
							2009-09-15 14:30:20 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								32b95c2cdf 
								
							
								 
							
						 
						
							
							
								
								math: add unordered comparison operators u< u<= u> u>= which behave exactly like < <= > >= except no floating point exceptions are set if one or both inputs are NaNs; also add efficient intrinsic for unordered? predicate, and fix propagation type functions for abs, absq, and bitnot  
							
							 
							
							
							
						 
						
							2009-09-12 22:20:13 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								dd661edf46 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: convert /i of a positive integer by a power of two into a shift  
							
							 
							
							
							
						 
						
							2009-09-11 21:03:11 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7f2e2b1777 
								
							
								 
							
						 
						
							
							
								
								Specialized array overhaul  
							
							 
							
							... 
							
							
							
							- Replace hand-written specialized-arrays.* subvocabularies with new system; instead of USE:ing specialized-arrays.T, do SPECIALIZED-ARRAY: T
- Ditto for specialized-vectors; use SPECIALIZED-VECTOR:
- io.mmap.functor: removed entirely, use <mapped-array> instead
- struct-arrays and struct-vectors have been removed because specialized arrays and vectors subsume them entirely 
							
						 
						
							2009-09-09 22:33:34 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a0e1af5891 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-09-08 14:22:52 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1e5bc3b376 
								
							
								 
							
						 
						
							
							
								
								inline alien-vector and set-alien-vector if SIMD is not available for a small speedup  
							
							 
							
							
							
						 
						
							2009-09-08 13:56:17 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								942fb7b048 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-09-08 13:22:52 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bbca00e2ae 
								
							
								 
							
						 
						
							
							
								
								Fix conflicts  
							
							 
							
							
							
						 
						
							2009-09-07 23:51:25 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9f9b6bca01 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: type check inputs to unsafe foldable words manually, so that stuff like [ "Hi" { } fixnum+fast ] doesn't crash in the compiler  
							
							 
							
							
							
						 
						
							2009-09-07 23:40:23 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a1ae209f81 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.call-effect: stronger call( inlining; now can inline 'a [ b ] curry call(' where 'a' is literal, [ b ] doesn't infer, but [ a b ] does infer. This simplifies classes.struct:memory>struct  
							
							 
							
							
							
						 
						
							2009-09-07 17:45:03 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e36a0d7ef4 
								
							
								 
							
						 
						
							
							
								
								compiler: clean up code generation for alien boxing/unboxing a bit  
							
							 
							
							
							
						 
						
							2009-09-03 21:22:43 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4d5a4222b6 
								
							
								 
							
						 
						
							
							
								
								More SIMD work  
							
							 
							
							... 
							
							
							
							- Rename SIMD types and register representations: <type>-<count> rather than <count><type>-array
- Make a functor to define 256-bit vector types, use it to define float-8 type
- Make SIMD instructions pure-insns so that they participate in value numbering 
							
						 
						
							2009-09-03 20:58:56 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bf81cb4259 
								
							
								 
							
						 
						
							
							
								
								math.vectors.simd: split off intrinsics into a sub-vocabulary, to avoid loading most of the SIMD code on bootstrap  
							
							 
							
							
							
						 
						
							2009-09-03 03:43:43 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ae051e0c9a 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: type function for clone had an issue, sometimes clone would get optimized out because of incorrect constant folding  
							
							 
							
							
							
						 
						
							2009-09-03 02:40:18 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ff8c70dbe0 
								
							
								 
							
						 
						
							
							
								
								Initial implementation of SSE vector intrinsics:  
							
							 
							
							... 
							
							
							
							- cpu.architecture: add SSE vector representations
- compiler.cfg.intrinsics.alien: remove an attempt at optimization that value numbering handles now
- compiler.cfg.representations: support instructions where the representation is set in the 'rep' slot, and support conversions between single and double floats
- alien-float, set-alien-float now use the single float representation, and the conversion is implicit; this fixes a long-standing bug where a register could get clobbered because of how %set-alien-float was defined on x86
- math.vectors.specialization: add support for SIMD specialization (where the vector word's body is replaced by another quotation), also specialize the 'sum' word
- math.vectors.simd: 4float-array, 2double-array, 4double-array types, and specializers for the math.vectors words 
							
						 
						
							2009-09-03 02:33:07 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2bb6293217 
								
							
								 
							
						 
						
							
							
								
								compiler: add fixnum-min/max intrinsics; ~10% speedup on benchmark.yuv-to-rgb  
							
							 
							
							
							
						 
						
							2009-08-28 19:02:59 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d957ae4e44 
								
							
								 
							
						 
						
							
							
								
								Performance improvements to make struct-arrays benchmark faster  
							
							 
							
							... 
							
							
							
							- improved optimization of ##unbox-any-c-ptr on ##box-displaced-alien; convert it to ##unbox-c-ptr where possible using class info stored in the ##bda instruction
- make fcos, fsin, etc inline again; everything in math.libm inline again, except for fsqrt which is an intrinsic
- convert min and max on floats to float-min and float-max
- make min and max not inline, so that the above can work
- struct-arrays: rice a bit so that more fixnums come up 
							
						 
						
							2009-08-28 05:21:16 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ba0f3a9911 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.transforms: don't fail to compile if 'at' called on something that's not an assoc  
							
							 
							
							
							
						 
						
							2009-08-27 18:57:56 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0df8aadce2 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: use SQRTSD instruction for math.libm:fsqrt word  
							
							 
							
							
							
						 
						
							2009-08-25 23:22:15 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								49bd2228ec 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.modular-arithmetic: fix regression; set-alien-*-1 was not always open-coded  
							
							 
							
							
							
						 
						
							2009-08-20 17:56:49 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9ef8f6c81d 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.modular-arithmetic: eliminate >bignum calls where possible, convert fixnum-shift to fixnum-shift-fast if shift count is positive, don't run if there are no modular values  
							
							 
							
							
							
						 
						
							2009-08-20 03:47:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f01f7ad6eb 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: bitand custom inlining was wrong if the second input was a bignum  
							
							 
							
							
							
						 
						
							2009-08-20 03:47:07 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2dc99ea05f 
								
							
								 
							
						 
						
							
							
								
								Fix interval inference of abs, absq when input is a complex number  
							
							 
							
							
							
						 
						
							2009-08-19 16:06:37 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								829107902e 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: improved interval inference for absq eliminates a conditional from math.vectors:distance. Type inference for rational math also a bit sharper now  
							
							 
							
							
							
						 
						
							2009-08-19 02:33:41 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d7594c3381 
								
							
								 
							
						 
						
							
							
								
								compiler: inline singleton predicates, and optimize predicate engines, reduces terrain demo deployed size by ~20kb  
							
							 
							
							
							
						 
						
							2009-08-17 23:59:24 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3047d4a451 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: remove method inlining heuristic  
							
							 
							
							
							
						 
						
							2009-08-17 22:29:05 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bf57d78b09 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.modular-arithmetic: >fixnum elimination and value info annotations were too aggressive  
							
							 
							
							
							
						 
						
							2009-08-17 01:20:25 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5297be3e19 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.modular-arithmetic: stronger optimization handles > 1 usages case as well as values defined and used in loops. Eliminates 5 out of 8 >fixnum calls in benchmark.yuv-to-rgb  
							
							 
							
							
							
						 
						
							2009-08-15 18:42:41 -05:00  
						
					 
				
					
						
							
							
								 
								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
							
						 
						
							 
							
							
							
								
							
								4ecf5a904a 
								
							
								 
							
						 
						
							
							
								
								More accurate wrap-interval in compiler.tree.propagation.info fixes test regression; constructing an interval with endpoints at infinity now outputs full-interval  
							
							 
							
							
							
						 
						
							2009-08-12 03:25:53 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								422dd24bad 
								
							
								 
							
						 
						
							
							
								
								alien.complex: fix tests  
							
							 
							
							
							
						 
						
							2009-08-11 14:07:33 -05:00  
						
					 
				
					
						
							
							
								 
								Philipp Brüschweiler
							
						 
						
							 
							
							
							
								
							
								26859a45eb 
								
							
								 
							
						 
						
							
							
								
								various doc fixes  
							
							 
							
							
							
						 
						
							2009-08-11 16:58:47 +02:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7e35723db0 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: be more careful with intervals, ensuring that the inferred interval of a value is a subset of the value class's interval. This improves accuracy, for example [ >fixnum 1 + >fixnum most-positive-fixnum <= ] constant-folds to true  
							
							 
							
							
							
						 
						
							2009-08-10 01:16:49 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8a9c15ab0b 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.escape-analysis: if the output of an #introduce node has an immutable tuple class type declaration, and it is not passed to any subroutine calls, or returned from the word, then unbox it. This speeds up vector arithmetic words on specialized arrays, because the specialized array is unboxed up-front, eliminating an indirection on every loop iteration  
							
							 
							
							
							
						 
						
							2009-08-09 16:29:21 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e400d80d8b 
								
							
								 
							
						 
						
							
							
								
								More accurate interval inference for mod, rem, and propagation can now infer intervals in the case where a value might be f. so, [ [ 127 bitand ] [ drop f ] if dup [ 0 >= ] [ not ] if ] now constant-folds down to 't'!  
							
							 
							
							
							
						 
						
							2009-08-08 23:03:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								61ea749bb6 
								
							
								 
							
						 
						
							
							
								
								More accurate interval-mod and interval-rem  
							
							 
							
							
							
						 
						
							2009-08-08 22:01:12 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								97ec3ea1b4 
								
							
								 
							
						 
						
							
							
								
								compiler.graphviz: add high-level IR call graph rendering  
							
							 
							
							
							
						 
						
							2009-08-05 03:33:06 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								fb03a93763 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.recursive: have to check tail call flag of call tree edges too  
							
							 
							
							
							
						 
						
							2009-08-05 02:14:49 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c3d60e5899 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.recursive: more accurate loop detection  
							
							 
							
							
							
						 
						
							2009-08-04 19:18:40 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								eed4f4dcfc 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.recursive: add some more more loop detection tests  
							
							 
							
							
							
						 
						
							2009-08-04 16:23:14 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								82c1106945 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.ssa.destruction: new implementation: simpler and more correct  
							
							 
							
							
							
						 
						
							2009-08-02 10:26:52 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e01fc93812 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.call-effect: fix case where quotation inlining could enter an infinite loop: [ dup call( quot -- ) ] dup call( quot -- ) etc  
							
							 
							
							
							
						 
						
							2009-08-01 23:34:14 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								501629cf75 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.info: fix load error  
							
							 
							
							
							
						 
						
							2009-07-27 00:30:24 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								fc41140720 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.utilities: move value-info utilities to compiler.tree.propagation.info  
							
							 
							
							
							
						 
						
							2009-07-26 21:10:33 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								343151fd62 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.finalization: undo a change that resulted in a compile time regression  
							
							 
							
							
							
						 
						
							2009-07-18 03:33:24 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5061db2a48 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: Move tail call optimization to the end, compiler.tree: simplify finalization pass because of this  
							
							 
							
							
							
						 
						
							2009-07-17 22:57:28 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1d735bc32d 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.transforms: fix shift transform  
							
							 
							
							
							
						 
						
							2009-07-17 00:02:57 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e76dce8aff 
								
							
								 
							
						 
						
							
							
								
								Overflowing fixnum intrinsics now expand into several CFG nodes. This speeds up the common case since only the uncommon case is now a stack syncpoint  
							
							 
							
							
							
						 
						
							2009-07-16 18:29:40 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								062e33f8fb 
								
							
								 
							
						 
						
							
							
								
								fixing stupid bug in propagation  
							
							 
							
							
							
						 
						
							2009-07-16 00:43:54 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								ee3e84a1f8 
								
							
								 
							
						 
						
							
							
								
								define-partial-eval framework in propagation pass makes it easy to add transforms; moving some transforms from stack checker to propagation, making them stronger  
							
							 
							
							
							
						 
						
							2009-07-16 00:34:50 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								bb06facb01 
								
							
								 
							
						 
						
							
							
								
								new is inlined in the propagation pass when the class is known  
							
							 
							
							
							
						 
						
							2009-07-14 14:16:39 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								47500fad06 
								
							
								 
							
						 
						
							
							
								
								call( and execute( inline known quotations/words in the propagation pass  
							
							 
							
							
							
						 
						
							2009-07-14 01:12:45 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								4b29d13fda 
								
							
								 
							
						 
						
							
							
								
								Adding authors to compiler.tree.modular-arithmetic  
							
							 
							
							
							
						 
						
							2009-07-09 23:09:49 -05:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								cf3038b7d6 
								
							
								 
							
						 
						
							
							
								
								Improving modular arithmetic optimization to be aware of words like set-alien-unsigned-2  
							
							 
							
							
							
						 
						
							2009-07-09 23:07:38 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e0d84eb3a2 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: better length propagation  
							
							 
							
							
							
						 
						
							2009-07-09 02:28:30 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0180209f4e 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.dead-code: methods on flushable generics should be flushable  
							
							 
							
							
							
						 
						
							2009-07-03 21:31:26 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								41f48e3cfe 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.optimizer: Remove redundant call to compute-def-use  
							
							 
							
							
							
						 
						
							2009-07-01 17:41:20 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								29327a787c 
								
							
								 
							
						 
						
							
							
								
								Remove initial-quot feature  
							
							 
							
							
							
						 
						
							2009-06-15 13:07:15 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								285c8cecc6 
								
							
								 
							
						 
						
							
							
								
								Add some failing unit tests exposing bugs in initial-quot: implementation  
							
							 
							
							
							
						 
						
							2009-06-13 18:34:27 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								55f2185532 
								
							
								 
							
						 
						
							
							
								
								add an iota  
							
							 
							
							
							
						 
						
							2009-06-10 09:45:48 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9e987e8642 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into global_optimization  
							
							 
							
							
							
						 
						
							2009-06-01 03:12:32 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7b88756fd0 
								
							
								 
							
						 
						
							
							
								
								Add a with-scope so that optimize-tree doesn't pollute namespace  
							
							 
							
							
							
						 
						
							2009-05-27 18:58:54 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								407377fc98 
								
							
								 
							
						 
						
							
							
								
								rename peek -> last and update all usages  
							
							 
							
							
							
						 
						
							2009-05-25 16:38:33 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								a54c78007b 
								
							
								 
							
						 
						
							
							
								
								add a clamp word to math.order, use clamp word throughout libraries  
							
							 
							
							
							
						 
						
							2009-05-24 21:35:50 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								43a1834e0b 
								
							
								 
							
						 
						
							
							
								
								stack-checker: fix case where invalid code could infer  
							
							 
							
							
							
						 
						
							2009-05-23 15:50:35 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								3276ae3a08 
								
							
								 
							
						 
						
							
							
								
								get rid of useless test  
							
							 
							
							
							
						 
						
							2009-05-21 20:56:57 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								66a9416473 
								
							
								 
							
						 
						
							
							
								
								Update documentation for stricter vocabulary search path semantics  
							
							 
							
							
							
						 
						
							2009-05-16 00:29:21 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								dedbd14945 
								
							
								 
							
						 
						
							
							
								
								Fix escape analysis bug reported by Doug  
							
							 
							
							
							
						 
						
							2009-05-15 17:18:38 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								fb6df472a2 
								
							
								 
							
						 
						
							
							
								
								Cleaning up USING: lists for new strict semantics  
							
							 
							
							
							
						 
						
							2009-05-14 16:54:16 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b67b617746 
								
							
								 
							
						 
						
							
							
								
								Fix compiler breakage if a GENERIC# has an incorrect stack effect declaration  
							
							 
							
							
							
						 
						
							2009-05-12 21:23:52 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								65faa3fda3 
								
							
								 
							
						 
						
							
							
								
								Fix unit tests and load errors for slip removal  
							
							 
							
							
							
						 
						
							2009-05-10 17:03:41 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								75d9946bd7 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.modular-arithmetic: convert >integer >fixnum into >fixnum  
							
							 
							
							
							
						 
						
							2009-05-07 12:54:23 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								466533d509 
								
							
								 
							
						 
						
							
							
								
								Fix overly-eager strength reduction for mod, and add a type function for >integer (reported by Joe Groff)  
							
							 
							
							
							
						 
						
							2009-05-07 12:32:06 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								029d93a838 
								
							
								 
							
						 
						
							
							
								
								Make walker work better with call( and breakpoints which are nested inside combinators  
							
							 
							
							
							
						 
						
							2009-05-05 09:12:32 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f2ec59d658 
								
							
								 
							
						 
						
							
							
								
								Fix infinite loop when compiling a word containing a tuple literal with circular structure in it. This was triggered by call( inline caching in core-foundation.fsevents on Mac OS X  
							
							 
							
							
							
						 
						
							2009-05-01 09:36:53 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e5cdb7ac2d 
								
							
								 
							
						 
						
							
							
								
								call( fast-path now supports curry and compose  
							
							 
							
							
							
						 
						
							2009-04-30 21:08:29 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								964fbd0a24 
								
							
								 
							
						 
						
							
							
								
								Fix test failures from ratio/complex built-in removal  
							
							 
							
							
							
						 
						
							2009-04-30 00:38:55 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								663db67b23 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.debugger: wasn't counting intrinsics properly when computing report  
							
							 
							
							
							
						 
						
							2009-04-30 00:27:51 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bba30dc284 
								
							
								 
							
						 
						
							
							
								
								Fix conflict from master  
							
							 
							
							
							
						 
						
							2009-04-27 17:09:09 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								dac5203e81 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.builder: Fix scoping of a variable by hints vocab  
							
							 
							
							
							
						 
						
							2009-04-26 16:04:44 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3dc9fdf9db 
								
							
								 
							
						 
						
							
							
								
								Fleshed out new dispatch code  
							
							 
							
							
							
						 
						
							2009-04-24 20:43:01 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5649cc7a0a 
								
							
								 
							
						 
						
							
							
								
								Compiler warnings are no more  
							
							 
							
							
							
						 
						
							2009-04-23 22:17:25 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1dd3ed519f 
								
							
								 
							
						 
						
							
							
								
								Revert part of an earlier ccompiler.tree.checker hange to fix smalltalk.eval regression  
							
							 
							
							
							
						 
						
							2009-04-22 21:03:53 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								7f983f12d4 
								
							
								 
							
						 
						
							
							
								
								fix help lint failures, fix example in words  
							
							 
							
							
							
						 
						
							2009-04-22 12:26:28 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								dea3987ca5 
								
							
								 
							
						 
						
							
							
								
								Silly workaround for performance regression  
							
							 
							
							
							
						 
						
							2009-04-22 00:44:06 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								057f75e9a1 
								
							
								 
							
						 
						
							
							
								
								Refactor compiler.tree.builder to fix various regressions  
							
							 
							
							
							
						 
						
							2009-04-21 23:02:00 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								469c9ee21d 
								
							
								 
							
						 
						
							
							
								
								Debugging stack checking  
							
							 
							
							
							
						 
						
							2009-04-21 16:09:53 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f38d2f91f6 
								
							
								 
							
						 
						
							
							
								
								Words which didn't compile cannot be run at all  
							
							 
							
							
							
						 
						
							2009-04-20 22:05:41 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								05f3f9dcb9 
								
							
								 
							
						 
						
							
							
								
								Fixing unit tests for stack effect inference changes  
							
							 
							
							
							
						 
						
							2009-04-20 21:15:19 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8414693142 
								
							
								 
							
						 
						
							
							
								
								stack-checker: trust word declarations instead of recursively checking them  
							
							 
							
							
							
						 
						
							2009-04-20 18:44:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5165d811d5 
								
							
								 
							
						 
						
							
							
								
								Changing the stack effect of a generic word could break the compiler  
							
							 
							
							
							
						 
						
							2009-04-20 04:21:00 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ec49307c88 
								
							
								 
							
						 
						
							
							
								
								Never inline default methods, and fix inlining of methods with hints  
							
							 
							
							
							
						 
						
							2009-04-20 03:27:18 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								332bde4173 
								
							
								 
							
						 
						
							
							
								
								use iota in a few places  
							
							 
							
							
							
						 
						
							2009-04-17 16:17:11 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ce76331fd6 
								
							
								 
							
						 
						
							
							
								
								Fixing more unit tests  
							
							 
							
							
							
						 
						
							2009-04-17 15:50:03 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								dba4c0d589 
								
							
								 
							
						 
						
							
							
								
								fixing compiler errors in basis  
							
							 
							
							
							
						 
						
							2009-04-17 12:46:04 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0a5b076c11 
								
							
								 
							
						 
						
							
							
								
								Make the walker infer  
							
							 
							
							
							
						 
						
							2009-04-16 23:14:11 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								65b27354ad 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into smarter_error_list  
							
							 
							
							
							
						 
						
							2009-04-14 15:07:22 -05:00  
						
					 
				
					
						
							
							
								 
								sheeple
							
						 
						
							 
							
							
							
								
							
								a4e62dfdba 
								
							
								 
							
						 
						
							
							
								
								Fix for math.parser syntax change  
							
							 
							
							
							
						 
						
							2009-04-13 14:47:39 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								deae1d7bbb 
								
							
								 
							
						 
						
							
							
								
								Fix bootstrap  
							
							 
							
							
							
						 
						
							2009-04-10 04:41:26 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								37e278ed02 
								
							
								 
							
						 
						
							
							
								
								Use [ ] [ ] map-reduce instead of unclip [ ] reduce  
							
							 
							
							
							
						 
						
							2009-04-06 17:50:54 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								268abfcf2a 
								
							
								 
							
						 
						
							
							
								
								Remove method-specs in favor of M\  
							
							 
							
							
							
						 
						
							2009-04-06 02:59:59 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								932d44cab8 
								
							
								 
							
						 
						
							
							
								
								Small speedup for code using H{ } clone and with-scope  
							
							 
							
							
							
						 
						
							2009-03-31 08:16:04 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ff07c8f352 
								
							
								 
							
						 
						
							
							
								
								Fix compiler.tree.debugger tests  
							
							 
							
							
							
						 
						
							2009-03-25 22:53:03 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9b8dd01c0b 
								
							
								 
							
						 
						
							
							
								
								Fix bitrot in compiler.tree.debugger  
							
							 
							
							
							
						 
						
							2009-03-25 10:11:58 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6080c6e734 
								
							
								 
							
						 
						
							
							
								
								Fix stack effect redefinition  
							
							 
							
							
							
						 
						
							2009-03-22 20:16:31 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2f4e2735ea 
								
							
								 
							
						 
						
							
							
								
								Fix compile errors in compiler tests so that they actually test the compiler instead of being useless  
							
							 
							
							
							
						 
						
							2009-03-22 17:50:53 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								be4fb1e7d9 
								
							
								 
							
						 
						
							
							
								
								Move call( and execute( to core  
							
							 
							
							
							
						 
						
							2009-03-16 20:11:36 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								80e719ba5b 
								
							
								 
							
						 
						
							
							
								
								Remove stupid commented out code  
							
							 
							
							
							
						 
						
							2009-03-12 17:30:33 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4fdb5d0557 
								
							
								 
							
						 
						
							
							
								
								Fix infinite fixed point iteration bug found by littledan; generalize-counter-interval wasn't called in all the right places  
							
							 
							
							
							
						 
						
							2009-03-12 17:30:24 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b6f6e880bf 
								
							
								 
							
						 
						
							
							
								
								Make partially dispatched integer ops foldable  
							
							 
							
							
							
						 
						
							2009-03-11 13:57:13 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								42224eb4e7 
								
							
								 
							
						 
						
							
							
								
								Propagation pass: add inlined node counts to total node count, so that the more we inline the less we are eager to inline more  
							
							 
							
							
							
						 
						
							2009-03-06 23:34:01 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ca7a155b72 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into new_ui  
							
							 
							
							
							
						 
						
							2009-03-01 20:13:05 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								03cb32ad9c 
								
							
								 
							
						 
						
							
							
								
								Make execute( faster, add execute-unsafe( and make effect tuple slots read only  
							
							 
							
							
							
						 
						
							2009-03-01 20:12:35 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								25a877e50b 
								
							
								 
							
						 
						
							
							
								
								Merge OneEyed's patch  
							
							 
							
							
							
						 
						
							2009-02-28 17:06:55 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								78ce670101 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'for-slava' of git://git.rfc1149.net/factor  
							
							 
							
							
							
						 
						
							2009-02-28 14:42:56 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e0cfad4676 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into new_ui  
							
							 
							
							
							
						 
						
							2009-02-26 14:27:55 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bda8b2dda6 
								
							
								 
							
						 
						
							
							
								
								Better inlining for both-fixnums?  
							
							 
							
							
							
						 
						
							2009-02-26 14:11:26 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ce1bc1d6ed 
								
							
								 
							
						 
						
							
							
								
								Fixing conflicts from stack checker changes  
							
							 
							
							
							
						 
						
							2009-02-24 01:21:10 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								91d0c4ed1f 
								
							
								 
							
						 
						
							
							
								
								Fix conflict  
							
							 
							
							
							
						 
						
							2009-02-22 20:02:13 -06:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								990513db60 
								
							
								 
							
						 
						
							
							
								
								use CONSTANT: in basis  
							
							 
							
							
							
						 
						
							2009-02-22 19:13:08 -06:00  
						
					 
				
					
						
							
							
								 
								Samuel Tardieu
							
						 
						
							 
							
							
							
								
							
								da2ebe21a6 
								
							
								 
							
						 
						
							
							
								
								Fix two overzealous [ ] removal in tests  
							
							 
							
							
							
						 
						
							2009-02-18 03:06:14 +01:00  
						
					 
				
					
						
							
							
								 
								Samuel Tardieu
							
						 
						
							 
							
							
							
								
							
								087d931c36 
								
							
								 
							
						 
						
							
							
								
								Remove the tail argument from do/until/while  
							
							 
							
							
							
						 
						
							2009-02-18 02:41:14 +01:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								421ee726b8 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into new_ui  
							
							 
							
							
							
						 
						
							2009-02-16 21:22:12 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6b25e99470 
								
							
								 
							
						 
						
							
							
								
								Add summary for heaps more vocabs  
							
							 
							
							
							
						 
						
							2009-02-16 21:05:13 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3045777f02 
								
							
								 
							
						 
						
							
							
								
								Fix conflict  
							
							 
							
							
							
						 
						
							2009-02-09 00:34:00 -06:00  
						
					 
				
					
						
							
							
								 
								Daniel Ehrenberg
							
						 
						
							 
							
							
							
								
							
								b65b88364c 
								
							
								 
							
						 
						
							
							
								
								Updating lots of things to use call( -- )  
							
							 
							
							
							
						 
						
							2009-02-08 22:12:11 -06:00  
						
					 
				
					
						
							
							
								 
								slava
							
						 
						
							 
							
							
							
								
							
								e29f18a2f4 
								
							
								 
							
						 
						
							
							
								
								Trying to fix a bad merge...  
							
							 
							
							... 
							
							
							
							Revert "Merge branch 'master' of git://factorcode.org/git/factor"
This reverts commit da639739bd , reversing
changes made to 346a61f497 . 
							
						 
						
							2009-02-03 00:27:34 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								669548e62e 
								
							
								 
							
						 
						
							
							
								
								Clean up some usages of tuck, and add Joe's curried cleave/spread/apply combinators to kernel vocabulary  
							
							 
							
							
							
						 
						
							2009-02-02 13:43:54 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e88812b76a 
								
							
								 
							
						 
						
							
							
								
								map infimum => [ min ] map-reduce  
							
							 
							
							
							
						 
						
							2009-02-02 06:04:29 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b684db297a 
								
							
								 
							
						 
						
							
							
								
								Use [ max ] map-reduce instead of map supremum; would be nice to find a good name for this and put it in sequences vocab  
							
							 
							
							
							
						 
						
							2009-02-02 03:46:10 -06:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								3c408342ef 
								
							
								 
							
						 
						
							
							
								
								renaming: contain? -> any?, deep-contains? -> deep-any?, pad-left -> pad-head, pad-right -> pad-tail, trim-left -> trim-head, trim-right -> trim-tail  
							
							 
							
							
							
						 
						
							2009-01-29 22:19:07 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								65a53e1fa5 
								
							
								 
							
						 
						
							
							
								
								Don't keep compiled-effect around anymore  
							
							 
							
							
							
						 
						
							2009-02-23 23:55:16 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								901bcccc1c 
								
							
								 
							
						 
						
							
							
								
								Fix remaining text failures  
							
							 
							
							
							
						 
						
							2009-02-23 23:25:13 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1951d739a0 
								
							
								 
							
						 
						
							
							
								
								Stack effect declarations are mandatory on all words now  
							
							 
							
							... 
							
							
							
							define-temp now takes an effect parameter
Fix compiler bug that Dan found
Stricter enforcement of * effects
Move compile-call from compiler.units to compiler 
							
						 
						
							2009-02-23 20:27:05 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bf5ff11720 
								
							
								 
							
						 
						
							
							
								
								Update usages of all-equal? now that its in the grouping vocab  
							
							 
							
							
							
						 
						
							2009-01-16 15:14:30 -06:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								e661c67189 
								
							
								 
							
						 
						
							
							
								
								refactor a word to use smart combinators  
							
							 
							
							
							
						 
						
							2009-01-08 23:09:38 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5fdb474c76 
								
							
								 
							
						 
						
							
							
								
								Fixing various test failures and updating some more vocabs for >r/r> removal  
							
							 
							
							
							
						 
						
							2008-12-17 22:29:32 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								34792a9f23 
								
							
								 
							
						 
						
							
							
								
								Remove >r/r>  
							
							 
							
							
							
						 
						
							2008-12-17 19:17:37 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c5160d76e9 
								
							
								 
							
						 
						
							
							
								
								Merge qualified, alias, symbols, constants into core  
							
							 
							
							
							
						 
						
							2008-12-17 18:10:01 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								60a1378a0a 
								
							
								 
							
						 
						
							
							
								
								Faster dynamic variable lookup: 6% speedup in benchmark.fib5  
							
							 
							
							... 
							
							
							
							- If type of first input of equal? is known but not second, rewrite it as swap equal? and try to inline again
- Fix hints on methods to work better
- Put hints for word and fixnum keys on at* and set-at on hashtables 
							
						 
						
							2008-12-17 14:57:24 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ec23584f48 
								
							
								 
							
						 
						
							
							
								
								Finish up O(1) byte array allocation  
							
							 
							
							
							
						 
						
							2008-12-09 18:17:04 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a90118da5d 
								
							
								 
							
						 
						
							
							
								
								Add inc-at word to core, and update some usages of at+ to use it instead  
							
							 
							
							
							
						 
						
							2008-12-09 16:54:48 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								db92c90569 
								
							
								 
							
						 
						
							
							
								
								Eliminate some usages of locals in compiler.tree.dead-code  
							
							 
							
							
							
						 
						
							2008-12-09 01:04:15 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								640b37cb70 
								
							
								 
							
						 
						
							
							
								
								More permissive  
							
							 
							
							
							
						 
						
							2008-12-08 19:14:18 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4f0a9f311e 
								
							
								 
							
						 
						
							
							
								
								Untangling some dependencies  
							
							 
							
							
							
						 
						
							2008-12-08 14:58:00 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e4f8448eb1 
								
							
								 
							
						 
						
							
							
								
								Fix some problems with arithmetic type inference, exposed by recent changes to log2 word  
							
							 
							
							... 
							
							
							
							- declared input type for bignum-shift was stricter than the runtime behavior, leading to bad propagation of type info if shift count was a bignum
- types inferred for type functions which used number-valued/integer-valued/real-valued were not always precise, eg bignum bignum bitxor => integer
- add interval-log2, type function for (log2)
- remove math-class-min, it was useless 
							
						 
						
							2008-12-07 19:44:49 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								145b635eb6 
								
							
								 
							
						 
						
							
							
								
								More optimization intended to reduce compile time. Another 10% speedup on compiling empty PEG parser  
							
							 
							
							... 
							
							
							
							- new map-flat combinator replaces usages of 'map flatten' in compiler
- compiler.tree.def-use.simplified uses an explicit accumulator instead of flatten
- compiler.tree.tuple-unboxing uses an explicit accumulator instead of flatten
- fix inlining regression from last time: custom inlining results would sometimes be discarded
- compiler.tree's 3each and 3map combinators rewritten to not use flip
- rewrite math.partial-dispatch without locals (purely stylistic, no performance increase)
- hand-optimize flip for common arrays-of-arrays case
- don't run escape analysis and tuple unboxing if there are no allocations in the IR 
							
						 
						
							2008-12-06 11:17:19 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a56d480aa6 
								
							
								 
							
						 
						
							
							
								
								Various optimizations leading to a 10% speedup on compiling empty EBNF parser:  
							
							 
							
							... 
							
							
							
							- open-code getenv primitive
- inline tuple predicates in finalization
- faster partial dispatch
- faster built-in type predicates
- faster tuple predicates
- faster lo-tag dispatch
- compile V{ } clone and H{ } clone more efficiently
- add fixnum fast-path to =; avoid indirect branch if two fixnums not eq
- faster >alist on hashtables 
							
						 
						
							2008-12-06 09:16:29 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								044e2867d5 
								
							
								 
							
						 
						
							
							
								
								Teach compiler about string-nth range  
							
							 
							
							
							
						 
						
							2008-12-05 23:51:58 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								aa838dbc2d 
								
							
								 
							
						 
						
							
							
								
								Fix compile errors  
							
							 
							
							
							
						 
						
							2008-12-05 09:04:16 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6c7005d588 
								
							
								 
							
						 
						
							
							
								
								Tweak inlining heuristic  
							
							 
							
							
							
						 
						
							2008-12-05 01:50:14 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								fa6a2047f0 
								
							
								 
							
						 
						
							
							
								
								New inlining heuristic: number of usages within this word. Speeds up bootstrap by 10%  
							
							 
							
							
							
						 
						
							2008-12-04 07:05:59 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e304d3c9f8 
								
							
								 
							
						 
						
							
							
								
								Local DCE  
							
							 
							
							
							
						 
						
							2008-12-04 06:02:49 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e6cb449b19 
								
							
								 
							
						 
						
							
							
								
								optimized. now accepts method-specs  
							
							 
							
							
							
						 
						
							2008-12-03 10:44:21 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e5ed7447ed 
								
							
								 
							
						 
						
							
							
								
								Removing more >r/r> usages  
							
							 
							
							
							
						 
						
							2008-12-03 08:46:16 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d60c79c9bf 
								
							
								 
							
						 
						
							
							
								
								Expand instance? with literal class  
							
							 
							
							
							
						 
						
							2008-12-03 08:11:51 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								402da00390 
								
							
								 
							
						 
						
							
							
								
								Fixing bootstrap with specialized arrays  
							
							 
							
							
							
						 
						
							2008-12-02 02:44:19 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e8a69a3aea 
								
							
								 
							
						 
						
							
							
								
								Fix conflict  
							
							 
							
							
							
						 
						
							2008-11-29 05:14:49 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								86d45262dc 
								
							
								 
							
						 
						
							
							
								
								Add toutput ype propagation for #alien-invoke and #alien-indirect nodes  
							
							 
							
							
							
						 
						
							2008-11-29 03:47:38 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								265e57e21a 
								
							
								 
							
						 
						
							
							
								
								Fix optimized. to literalize words when printing #push nodes  
							
							 
							
							
							
						 
						
							2008-11-29 00:37:26 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1fa819191d 
								
							
								 
							
						 
						
							
							
								
								Change inlining heuristic so that it behaves the same with dip and >r/r>  
							
							 
							
							
							
						 
						
							2008-11-24 05:46:26 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c678e6e362 
								
							
								 
							
						 
						
							
							
								
								Don't use combinators.short-circuit in compiler  
							
							 
							
							
							
						 
						
							2008-11-21 04:00:37 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								79bffecc2e 
								
							
								 
							
						 
						
							
							
								
								Add type function for /mod  
							
							 
							
							
							
						 
						
							2008-11-21 01:54:56 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								281657dd82 
								
							
								 
							
						 
						
							
							
								
								Fix conflict  
							
							 
							
							
							
						 
						
							2008-11-18 22:18:14 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9e82f1f8dd 
								
							
								 
							
						 
						
							
							
								
								Better inference error messages  
							
							 
							
							
							
						 
						
							2008-11-16 19:42:53 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7fc13ef03c 
								
							
								 
							
						 
						
							
							
								
								dlists no longer have a length slot; tweak dlist code so that types infer better  
							
							 
							
							
							
						 
						
							2008-11-16 05:53:25 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2fe364a7bb 
								
							
								 
							
						 
						
							
							
								
								Specialized arrays work in progress  
							
							 
							
							
							
						 
						
							2008-11-14 20:18:16 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5bae69426d 
								
							
								 
							
						 
						
							
							
								
								Stack checker cleanup and optimization  
							
							 
							
							... 
							
							
							
							- stack-checker.state vocabulary split up into stack-checker.{state,values,recursive-state}
- code that modifies and searches recursive state factored out into stack-checker.recursive-state
- recursive state is now a set of three binary hash trees instead of an alist, and no longer contains unnecessary data
- binary hash trees are in stack-checker.recursive-state.tree: unbalanced, persistent
- ~8 second speedup on bootstrap, ~20 second speedup in "peg.javascript" require 
							
						 
						
							2008-11-13 00:07:45 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4a1bcacfd4 
								
							
								 
							
						 
						
							
							
								
								Refactoring recursive-state alist; now its a mapping from words to local state triples, reduces searching by a bit  
							
							 
							
							
							
						 
						
							2008-11-12 19:08:40 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d970a632bb 
								
							
								 
							
						 
						
							
							
								
								Fix nodes>quot  
							
							 
							
							
							
						 
						
							2008-11-11 19:51:12 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								26f309d2ae 
								
							
								 
							
						 
						
							
							
								
								Trying to make PEGs compile faster by reducing the number of low level IR nodes: merge functionality of #>r and #r> into #shuffle, and generate 1 node instead of 3 for calls to get-local  
							
							 
							
							
							
						 
						
							2008-11-11 18:46:31 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a32acdcff0 
								
							
								 
							
						 
						
							
							
								
								Tweak grouping code for better method inlining  
							
							 
							
							
							
						 
						
							2008-11-11 12:11:13 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f04b32ea02 
								
							
								 
							
						 
						
							
							
								
								Remove duplicated logic  
							
							 
							
							
							
						 
						
							2008-11-11 09:10:33 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								792df37431 
								
							
								 
							
						 
						
							
							
								
								Update unit test  
							
							 
							
							
							
						 
						
							2008-11-11 08:50:30 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5f4b247072 
								
							
								 
							
						 
						
							
							
								
								Propagation pass now uses a stack of hashtables for predicated constraints instead of cloning a hashtable. New strategy for recursive propagation; now converges with fewer iterations. ~15 sec bootstrap time improvement  
							
							 
							
							
							
						 
						
							2008-11-11 08:49:00 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7f9fbdaa4e 
								
							
								 
							
						 
						
							
							
								
								cleanup pass didn't properly handle conditionals where both branches were dead  
							
							 
							
							
							
						 
						
							2008-11-11 08:38:03 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								43335d9c36 
								
							
								 
							
						 
						
							
							
								
								Intervals now use a special singleton for the full interval to eliminate FP math in the common case; fix a bug in value-info<=  
							
							 
							
							
							
						 
						
							2008-11-11 08:30:14 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bfd119e3b5 
								
							
								 
							
						 
						
							
							
								
								I/O ricing: various hints added so that UTF8 and ASCII fastpaths compile with less dispatch. 25% improvement on reverse-complement  
							
							 
							
							
							
						 
						
							2008-11-06 00:02:44 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								cc879fa9b7 
								
							
								 
							
						 
						
							
							
								
								Tuple layouts are now arrays, instead of built-in types. The superclass  
							
							 
							
							... 
							
							
							
							array is now part of the tuple layout object itself, and class hashcodes
are stored alongside class words there. This removes 2 indirections when
reading a superclass, and 3 when reading a superclass hashcode. 
							
						 
						
							2008-11-05 22:20:29 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								06b99c31ee 
								
							
								 
							
						 
						
							
							
								
								Fix regression. If a parsing word called the compiler, it might compile a caller of a generic before the generic gets built, which would throw an error since the inferred effect of the generic might have less inputs than the combination's dispatch#  
							
							 
							
							
							
						 
						
							2008-11-03 20:59:48 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1aefde994f 
								
							
								 
							
						 
						
							
							
								
								Cleanup  
							
							 
							
							
							
						 
						
							2008-11-03 00:03:22 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0d83873174 
								
							
								 
							
						 
						
							
							
								
								Fix regression  
							
							 
							
							
							
						 
						
							2008-11-03 00:03:15 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1912c57bb5 
								
							
								 
							
						 
						
							
							
								
								Fix comment  
							
							 
							
							
							
						 
						
							2008-10-23 05:55:50 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0cc0a41e57 
								
							
								 
							
						 
						
							
							
								
								Update for compiler.intrinsics removal  
							
							 
							
							
							
						 
						
							2008-10-20 20:40:36 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e92f795a76 
								
							
								 
							
						 
						
							
							
								
								More work on intrinsics; memory allocation and slot access now expands correctly  
							
							 
							
							
							
						 
						
							2008-10-20 20:40:15 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f092622fac 
								
							
								 
							
						 
						
							
							
								
								CFG IR is now pure SSA  
							
							 
							
							
							
						 
						
							2008-10-20 01:56:28 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d8d3645d72 
								
							
								 
							
						 
						
							
							
								
								Fixing more codegen bugs  
							
							 
							
							
							
						 
						
							2008-10-13 12:49:20 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f979ae5b82 
								
							
								 
							
						 
						
							
							
								
								Expand slot accessors further to avoid having to use complex template decision  
							
							 
							
							
							
						 
						
							2008-10-11 14:05:15 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0e4e05d5cd 
								
							
								 
							
						 
						
							
							
								
								Debugging new codegen  
							
							 
							
							
							
						 
						
							2008-10-08 03:51:44 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c19f2257f4 
								
							
								 
							
						 
						
							
							
								
								Fix permission bits  
							
							 
							
							
							
						 
						
							2008-10-02 08:34:49 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f539406ee1 
								
							
								 
							
						 
						
							
							
								
								Fold class predicates applied to literals  
							
							 
							
							
							
						 
						
							2008-10-02 05:12:38 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d4134a2ca1 
								
							
								 
							
						 
						
							
							
								
								Fix loop detection bug  
							
							 
							
							
							
						 
						
							2008-10-02 01:17:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1a865f89ac 
								
							
								 
							
						 
						
							
							
								
								Some optimizer change sfores for new codegen  
							
							 
							
							
							
						 
						
							2008-09-17 22:18:08 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a211e44bb9 
								
							
								 
							
						 
						
							
							
								
								Found a place to use the locals in literals feature  
							
							 
							
							
							
						 
						
							2008-09-13 04:43:29 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								01129fb9bd 
								
							
								 
							
						 
						
							
							
								
								Add unit test for locals performance regresion  
							
							 
							
							
							
						 
						
							2008-09-13 03:09:16 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								10c68ebb21 
								
							
								 
							
						 
						
							
							
								
								New modular arithmetic optimization pass  
							
							 
							
							
							
						 
						
							2008-09-12 18:08:38 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8d7ebc5106 
								
							
								 
							
						 
						
							
							
								
								Change stack effect of nths to match nth, rice bounds-check?  
							
							 
							
							
							
						 
						
							2008-09-12 18:08:19 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								54232f80ca 
								
							
								 
							
						 
						
							
							
								
								Adding identity optimization pass, tweak inlining heuristic  
							
							 
							
							
							
						 
						
							2008-09-12 08:18:44 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2bf532263d 
								
							
								 
							
						 
						
							
							
								
								Oops  
							
							 
							
							
							
						 
						
							2008-09-12 05:36:06 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								40da49bef5 
								
							
								 
							
						 
						
							
							
								
								Perform loop detection before normalization, clean up normalization pass, more aggressive recursive return value propagation. Fixes regression on nsieve benchmark  
							
							 
							
							
							
						 
						
							2008-09-12 05:17:27 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f2721e0608 
								
							
								 
							
						 
						
							
							
								
								Help lint fixes  
							
							 
							
							
							
						 
						
							2008-09-11 05:04:49 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								cf80dd122a 
								
							
								 
							
						 
						
							
							
								
								Updating code for make and fry changes  
							
							 
							
							
							
						 
						
							2008-09-10 22:11:40 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								44f53de164 
								
							
								 
							
						 
						
							
							
								
								Move make to its own vocabulary, remove fry _ feature  
							
							 
							
							
							
						 
						
							2008-09-10 20:07:00 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e6637a1118 
								
							
								 
							
						 
						
							
							
								
								Cleanup  
							
							 
							
							
							
						 
						
							2008-09-08 19:02:24 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								8a921c791c 
								
							
								 
							
						 
						
							
							
								
								if-empty changes  
							
							 
							
							
							
						 
						
							2008-09-06 19:13:59 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								9af12d96cf 
								
							
								 
							
						 
						
							
							
								
								left-trim -> trim-left  
							
							 
							
							
							
						 
						
							2008-09-05 18:56:35 -05:00