14d75bbbcb 
								
							
								 
							
						 
						
							
							
								
								math.intervals: Consistent handling of special intervals  
							
							... 
							
							
							
							Make both `empty-interval` and `full-interval` singletons, use generic functions
and methods where they are special-cased.
All words which work with interval points should also now work with the special
intervals. 
							
						 
						
							2019-09-09 14:09:57 -07:00  
				
					
						
							
							
								 
						
							
							
								75b6b12d0e 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*,compiler.tree.*: more docs and tests  
							
							
							
						 
						
							2016-11-30 16:36:25 +01:00  
				
					
						
							
							
								 
						
							
							
								65f1fbe90a 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.info: redoing  a3be724f5a ( #1513 )  
							
							
							
						 
						
							2016-10-31 07:29:00 +01:00  
				
					
						
							
							
								 
						
							
							
								c74a669dad 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.info: undid  a3be724f5a to see if it solves  #1513  
							
							
							
						 
						
							2016-10-30 19:00:38 +01:00  
				
					
						
							
							
								 
						
							
							
								be4484d708 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.*: fixes the propagation and dead-code removal logic so it  
							
							... 
							
							
							
							becomes aware of integer-array-capacity 
							
						 
						
							2016-03-18 20:39:28 +01:00  
				
					
						
							
							
								 
						
							
							
								a3be724f5a 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.info: better code for wrap-interval  
							
							
							
						 
						
							2015-11-16 12:30:24 +01:00  
				
					
						
							
							
								 
						
							
							
								4ee88bdc3d 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.info: better logic for comparing value-infos  
							
							... 
							
							
							
							Now the slots of the value infos only matter if the class of the first
info is at least as large as the class of the second info 
							
						 
						
							2015-09-22 08:52:37 +02:00  
				
					
						
							
							
								 
						
							
							
								bc0cdff2c6 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.info: fixed value-info<= so that it handles  
							
							... 
							
							
							
							slots correctly
if a slot is defined for a value-info, then it can't be <= a value-info
without that slot defined 
							
						 
						
							2015-09-22 08:52:37 +02:00  
				
					
						
							
							
								 
						
							
							
								a1153e6de1 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.info: more docs and tests for the vocab  
							
							
							
						 
						
							2015-09-22 08:51:46 +02:00  
				
					
						
							
							
								 
						
							
							
								e477f6996f 
								
							
								 
							
						 
						
							
							
								
								Fix comments to be ! not #!.  
							
							
							
						 
						
							2015-09-08 16:15:10 -07:00  
				
					
						
							
							
								 
						
							
							
								44c9b2c8e8 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.*: new docs  
							
							
							
						 
						
							2015-07-28 17:58:28 -07:00  
				
					
						
							
							
								 
						
							
							
								892c62e1dc 
								
							
								 
							
						 
						
							
							
								
								factor: second stab at [ ] [ ] unit-test -> { } [ ] unit-test  
							
							
							
						 
						
							2015-07-03 09:39:59 -07:00  
				
					
						
							
							
								 
						
							
							
								59f3b1ea57 
								
							
								 
							
						 
						
							
							
								
								Revert "factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool!"  
							
							... 
							
							
							
							Needs a bit more work.
This reverts commit 7e54cc2824 
							
						 
						
							2015-07-02 13:47:06 -07:00  
				
					
						
							
							
								 
						
							
							
								7e54cc2824 
								
							
								 
							
						 
						
							
							
								
								factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool!  
							
							
							
						 
						
							2015-07-02 11:36:08 -07:00  
				
					
						
							
							
								 
						
							
							
								f37ab939f0 
								
							
								 
							
						 
						
							
							
								
								compiler.*: more compiler docs  
							
							
							
						 
						
							2015-06-14 16:44:37 +02:00  
				
					
						
							
							
								 
						
							
							
								c65877104e 
								
							
								 
							
						 
						
							
							
								
								compiler: cleanup usings.  
							
							
							
						 
						
							2014-12-13 16:10:21 -08:00  
				
					
						
							
							
								 
						
							
							
								b11e912b44 
								
							
								 
							
						 
						
							
							
								
								Docs: initial docs for compiler.tree.propagation.* vocabs  
							
							
							
						 
						
							2014-05-10 17:13:48 -07:00  
				
					
						
							
							
								 
						
							
							
								33a4117787 
								
							
								 
							
						 
						
							
							
								
								compiler: Fix tuple literals in tests.  
							
							
							
						 
						
							2013-03-24 01:09:37 -07:00  
				
					
						
							
							
								 
						
							
							
								5f377c0849 
								
							
								 
							
						 
						
							
							
								
								compiler: Rename value-info, live-interval  
							
							
							
						 
						
							2013-03-23 22:56:47 -07:00  
				
					
						
							
							
								 
						
							
							
								7da4a74588 
								
							
								 
							
						 
						
							
							
								
								compiler: fewer namespace lookups.  
							
							
							
						 
						
							2013-03-21 19:11:20 -07:00  
				
					
						
							
							
								 
						
							
							
								af1b167c28 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.info: inline <value-info>.  
							
							
							
						 
						
							2013-03-08 12:19:24 -08:00  
				
					
						
							
							
								 
						
							
							
								4e72d80256 
								
							
								 
							
						 
						
							
							
								
								Using "same?" in more places.  
							
							
							
						 
						
							2012-07-21 10:22:44 -07:00  
				
					
						
							
							
								 
						
							
							
								d1f3b326e5 
								
							
								 
							
						 
						
							
							
								
								math: using if-zero in more places.  
							
							
							
						 
						
							2012-06-18 14:32:39 -07:00  
				
					
						
							
							
								 
						
							
							
								f9257959fd 
								
							
								 
							
						 
						
							
							
								
								Rename class to class-of  
							
							
							
						 
						
							2011-10-24 06:47:42 -05:00  
				
					
						
							
							
								 
						
							
							
								7744559a46 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: clean up  
							
							
							
						 
						
							2010-03-10 15:15:49 +13:00  
				
					
						
							
							
								 
						
							
							
								8e227bc874 
								
							
								 
							
						 
						
							
							
								
								Propagation tracks length just like any other read-only slot  
							
							
							
						 
						
							2010-03-09 15:58:44 -05:00  
				
					
						
							
							
								 
						
							
							
								6501480a0e 
								
							
								 
							
						 
						
							
							
								
								Fix two problems with recompilation: predicate constant folding was recording unsatisfied dependencies in some cases, and literal tuple instances of forgotten classes would cause problems for method inlining  
							
							
							
						 
						
							2010-02-20 12:01:47 +13:00  
				
					
						
							
							
								 
						
							
							
								3b5f7a9ecf 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: ensure that we don't call 'equal?' or 'hashcode' on literals in words being compiled  
							
							
							
						 
						
							2010-01-16 20:00:48 +13:00  
				
					
						
							
							
								 
						
							
							
								df4fb4a3ee 
								
							
								 
							
						 
						
							
							
								
								Removing integers-as-sequences  
							
							
							
						 
						
							2010-01-15 07:15:33 +13:00  
				
					
						
							
							
								 
						
							
							
								720c412431 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: fix bug in constraints that caused retain stack overflow  
							
							
							
						 
						
							2009-11-13 03:22:57 -06:00  
				
					
						
							
							
								 
						
							
							
								2d5cdd19ec 
								
							
								 
							
						 
						
							
							
								
								compiler: on PPC, ANDI, ORI and XORI instructions take an unsigned 16-bit immediate, unlike ADDI, SUBI and MULLI which take a signed 16-bit immediate. The code generator was not aware of this, and so for example '[ >fixnum -16 bitand ]' would generate incorrect code. Split up small-enough? hook into immediate-arithmetic? and immediate-bitwise? and update value numbering to be aware of this. Fixes classes.struct bitfields test failure  
							
							
							
						 
						
							2009-10-19 04:58:29 -05:00  
				
					
						
							
							
								 
						
							
							
								6e936bdb05 
								
							
								 
							
						 
						
							
							
								
								Fixing failing unit tests in compiler.tree.propagation due to constraints  
							
							
							
						 
						
							2009-09-22 16:01:14 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								501629cf75 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation.info: fix load error  
							
							
							
						 
						
							2009-07-27 00:30:24 -05:00  
				
					
						
							
							
								 
						
							
							
								fc41140720 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.utilities: move value-info utilities to compiler.tree.propagation.info  
							
							
							
						 
						
							2009-07-26 21:10:33 -05:00  
				
					
						
							
							
								 
						
							
							
								e0d84eb3a2 
								
							
								 
							
						 
						
							
							
								
								compiler.tree.propagation: better length propagation  
							
							
							
						 
						
							2009-07-09 02:28:30 -05:00  
				
					
						
							
							
								 
						
							
							
								407377fc98 
								
							
								 
							
						 
						
							
							
								
								rename peek -> last and update all usages  
							
							
							
						 
						
							2009-05-25 16:38:33 -05:00  
				
					
						
							
							
								 
						
							
							
								66a9416473 
								
							
								 
							
						 
						
							
							
								
								Update documentation for stricter vocabulary search path semantics  
							
							
							
						 
						
							2009-05-16 00:29:21 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								964fbd0a24 
								
							
								 
							
						 
						
							
							
								
								Fix test failures from ratio/complex built-in removal  
							
							
							
						 
						
							2009-04-30 00:38:55 -05:00  
				
					
						
							
							
								 
						
							
							
								37e278ed02 
								
							
								 
							
						 
						
							
							
								
								Use [ ] [ ] map-reduce instead of unclip [ ] reduce  
							
							
							
						 
						
							2009-04-06 17:50:54 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								990513db60 
								
							
								 
							
						 
						
							
							
								
								use CONSTANT: in basis  
							
							
							
						 
						
							2009-02-22 19:13:08 -06:00  
				
					
						
							
							
								 
						
							
							
								6b25e99470 
								
							
								 
							
						 
						
							
							
								
								Add summary for heaps more vocabs  
							
							
							
						 
						
							2009-02-16 21:05:13 -06:00  
				
					
						
							
							
								 
						
							
							
								c678e6e362 
								
							
								 
							
						 
						
							
							
								
								Don't use combinators.short-circuit in compiler  
							
							
							
						 
						
							2008-11-21 04:00:37 -06:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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