Doug Coleman
							
						 
						
							 
							
							
							
								
							
								0ad6d1fb7b 
								
							
								 
							
						 
						
							
							
								
								add a few usages of iota, remove most 1+ and 1- from core  
							
							 
							
							
							
						 
						
							2009-05-01 19:58:24 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								515c619202 
								
							
								 
							
						 
						
							
							
								
								Non-optimizing compiler now open-codes megamorphic dispatch fast path  
							
							 
							
							
							
						 
						
							2009-04-30 03:37:07 -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
							
						 
						
							 
							
							
							
								
							
								5f6c074edd 
								
							
								 
							
						 
						
							
							
								
								Split up types.c/h into smaller files, remove optimized slot from F_WORD struct  
							
							 
							
							
							
						 
						
							2009-04-28 17:26:11 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e940f6fd8b 
								
							
								 
							
						 
						
							
							
								
								Add method dispatch statistics  
							
							 
							
							
							
						 
						
							2009-04-28 16:58:05 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4d10105802 
								
							
								 
							
						 
						
							
							
								
								Working on inline caching  
							
							 
							
							
							
						 
						
							2009-04-28 03:48:37 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7e84daf0f1 
								
							
								 
							
						 
						
							
							
								
								Move (execute) to kernel.private  
							
							 
							
							
							
						 
						
							2009-04-26 02:42:37 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2630c4a95f 
								
							
								 
							
						 
						
							
							
								
								Add local caching  
							
							 
							
							
							
						 
						
							2009-04-25 20:33:52 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3dc9fdf9db 
								
							
								 
							
						 
						
							
							
								
								Fleshed out new dispatch code  
							
							 
							
							
							
						 
						
							2009-04-24 20:43:01 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8c5b0373a8 
								
							
								 
							
						 
						
							
							
								
								Working on new method dispatch system  
							
							 
							
							
							
						 
						
							2009-04-24 15:31:06 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								48e70b65fa 
								
							
								 
							
						 
						
							
							
								
								Move cross-referencing stuff to tools.crossref since compiler doesn't depend on it anymore, and compute cross-referencing index as needed; reduces image size by ~4Mb  
							
							 
							
							
							
						 
						
							2009-04-22 04:20:38 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9907bd9fe2 
								
							
								 
							
						 
						
							
							
								
								Add fseek primitive so that c-streams can seek. This lets the UI work without native IO  
							
							 
							
							
							
						 
						
							2009-04-03 10:16:25 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								8b7fcce399 
								
							
								 
							
						 
						
							
							
								
								update code for usages of add-library  
							
							 
							
							
							
						 
						
							2009-03-25 23:00:19 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a3e05d8ecc 
								
							
								 
							
						 
						
							
							
								
								Add stack declarations to primitives during bootstrap now that ( is just a comment and won't affect HELP: anymore  
							
							 
							
							
							
						 
						
							2009-03-23 03:03:44 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bdec395130 
								
							
								 
							
						 
						
							
							
								
								Remove predicate-instance? hack; use call( instead  
							
							 
							
							
							
						 
						
							2009-03-16 20:49:19 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								be4fb1e7d9 
								
							
								 
							
						 
						
							
							
								
								Move call( and execute( to core  
							
							 
							
							
							
						 
						
							2009-03-16 20:11:36 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1559b74640 
								
							
								 
							
						 
						
							
							
								
								Add new check-datastack primitive and re-implement call( with it, instead of using with-datastack. call( is now 5x faster  
							
							 
							
							
							
						 
						
							2009-03-16 06:16:51 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								54e824ffe4 
								
							
								 
							
						 
						
							
							
								
								Move dummy-compiler to compiler.units; throw a better error if make-image is passed an invalid architecture  
							
							 
							
							
							
						 
						
							2009-03-15 19:15:28 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5cfa4a7677 
								
							
								 
							
						 
						
							
							
								
								Update primitives.factor for compiler.units changes  
							
							 
							
							
							
						 
						
							2009-03-13 19:42:35 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bf41b187b0 
								
							
								 
							
						 
						
							
							
								
								Re-organize code so that with-compilation-unit can infer  
							
							 
							
							... 
							
							
							
							Fix with-compilation-unit to work in deployed code 
							
						 
						
							2009-03-13 19:39:32 -05: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
							
						 
						
							 
							
							
							
								
							
								6b99b04531 
								
							
								 
							
						 
						
							
							
								
								Add vocab: for vocab-relative paths  
							
							 
							
							
							
						 
						
							2009-02-15 19:53:21 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a8d1459c08 
								
							
								 
							
						 
						
							
							
								
								Rename compiled slot of words to optimized, to reflect what it really means (all words are compiled)  
							
							 
							
							
							
						 
						
							2009-01-23 00:37:02 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								34792a9f23 
								
							
								 
							
						 
						
							
							
								
								Remove >r/r>  
							
							 
							
							
							
						 
						
							2008-12-17 19:17:37 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								daf2857d7b 
								
							
								 
							
						 
						
							
							
								
								define-inline now takes an effect parameter  
							
							 
							
							... 
							
							
							
							C: now sets the stack effect of the new word to slot names
add new basis/constants vocab; CONSTANT: foo bar is equivalent to : foo bar ; inline
(going to fold CONSTANT:, ALIAS: and qualified into core soon perhaps)
tighten the screws: inline words now need a stack declaration too
update some usages of inline words 
							
						 
						
							2008-12-15 19:44:56 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d9231f3bc5 
								
							
								 
							
						 
						
							
							
								
								Remove unsafe string allocation, since its of dubious value  
							
							 
							
							
							
						 
						
							2008-12-09 17:53:00 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								eb79c6ab71 
								
							
								 
							
						 
						
							
							
								
								Fix conflict  
							
							 
							
							
							
						 
						
							2008-12-09 17:52:45 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b154b21aaa 
								
							
								 
							
						 
						
							
							
								
								Add new until combinator, and a new do word which acts like a modifier: do while, do until for loops which iterate at least once  
							
							 
							
							
							
						 
						
							2008-12-08 23:37:18 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4f0a9f311e 
								
							
								 
							
						 
						
							
							
								
								Untangling some dependencies  
							
							 
							
							
							
						 
						
							2008-12-08 14:58:00 -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
							
						 
						
							 
							
							
							
								
							
								908644ee7a 
								
							
								 
							
						 
						
							
							
								
								O(1) <sbuf> and new-sequence on byte-arrays (work in progress)  
							
							 
							
							
							
						 
						
							2008-12-05 07:28:52 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e256846acd 
								
							
								 
							
						 
						
							
							
								
								Tweak string representation; high bit indicates if character has high bits in aux vector. Avoids memory access in common case. Split set-string-nth into two primitives; set-string-nth-fast is open-coded by optimizing compiler. 13% improvement on reverse-complement  
							
							 
							
							
							
						 
						
							2008-12-05 06:38:51 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								eb8c621b6f 
								
							
								 
							
						 
						
							
							
								
								Faster generic arithmetic on fiixnums: both-fixnums? sub-primitive performs a check if the top two stack items are both fixnums with a single conditional branch  
							
							 
							
							
							
						 
						
							2008-11-28 08:35:02 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6dfce7d4e7 
								
							
								 
							
						 
						
							
							
								
								load-locals is a primitive now, change semantics of get-locals to bum out 2 instructions from the sub-primitive  
							
							 
							
							
							
						 
						
							2008-11-27 22:30:29 -06:00  
						
					 
				
					
						
							
							
								 
								slava
							
						 
						
							 
							
							
							
								
							
								fbc0f33c86 
								
							
								 
							
						 
						
							
							
								
								The deploy tool would coalesce equal quotations into one. This created a problem  
							
							 
							
							... 
							
							
							
							for the non-optimizing compiler because if the new 'leader' quotation was not
compiled but some of the ones that it replaces were, then calls to the quotation
from contexts where they have to be compiled (eg, compiled if and dip) would no
longer work. Add a `jit-compile' primitive to compile quotations, and call it
as appropriate in `compress-quotations`. 
							
						 
						
							2008-11-24 15:59:27 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f520823d5c 
								
							
								 
							
						 
						
							
							
								
								Minor speedup  
							
							 
							
							
							
						 
						
							2008-11-23 04:22:38 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7788b3e0db 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into microseconds  
							
							 
							
							
							
						 
						
							2008-11-23 03:06:32 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a4d9cdfeb3 
								
							
								 
							
						 
						
							
							
								
								Refactor all usages of >r/r> in core to use dip, 2dip, 3dip  
							
							 
							
							... 
							
							
							
							Non-optimizing compiler now special-cases dip, 2dip, 3dip following a
literal quotation: this allows us to break the dip/slip meta-circle
without explicit calls to >r/r> 
							
						 
						
							2008-11-23 02:44:56 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								89440b2a23 
								
							
								 
							
						 
						
							
							
								
								curry and compose now check their inputs  
							
							 
							
							
							
						 
						
							2008-11-21 04:37:17 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ae4f9a2809 
								
							
								 
							
						 
						
							
							
								
								Add fixnum/mod-fast and fixnum/i-fast subprimitives  
							
							 
							
							
							
						 
						
							2008-11-21 02:11:36 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8819f23312 
								
							
								 
							
						 
						
							
							
								
								Replace millis primitive with micros primitive  
							
							 
							
							... 
							
							
							
							Add millis as a library word
sleep now takes either a duration or a microsecond count; code using durations doens't need to be updated, code using millisecond counts updated to use durations for the most part 
							
						 
						
							2008-11-19 01:50:05 -06:00  
						
					 
				
					
						
							
							
								 
								unknown
							
						 
						
							 
							
							
							
								
							
								78eeaddcf2 
								
							
								 
							
						 
						
							
							
								
								Add winnt-x86.64 boot image name  
							
							 
							
							
							
						 
						
							2008-11-07 20:34:26 -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
							
						 
						
							 
							
							
							
								
							
								cdb5c30bd3 
								
							
								 
							
						 
						
							
							
								
								Only build a generic word once, even if a compilation unit defines several methods on it, by adding generics to a set and building them at the end. 25% improvement on bootstrap time  
							
							 
							
							
							
						 
						
							2008-11-03 03:51:28 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								44a2499c17 
								
							
								 
							
						 
						
							
							
								
								fixnum-shift-fast and fixnum-mod subprimitives  
							
							 
							
							
							
						 
						
							2008-11-03 01:18:35 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								69a0ad5e42 
								
							
								 
							
						 
						
							
							
								
								Ricing locals  
							
							 
							
							
							
						 
						
							2008-10-23 05:49:32 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								78a529b1c3 
								
							
								 
							
						 
						
							
							
								
								remove directory from the vm  
							
							 
							
							
							
						 
						
							2008-10-19 13:27:59 -05:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								27c36974a7 
								
							
								 
							
						 
						
							
							
								
								remove primitives from core, update usages  
							
							 
							
							
							
						 
						
							2008-10-18 21:42:01 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c19f2257f4 
								
							
								 
							
						 
						
							
							
								
								Fix permission bits  
							
							 
							
							
							
						 
						
							2008-10-02 08:34:49 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								cc7f9e7731 
								
							
								 
							
						 
						
							
							
								
								Fixing make-image  
							
							 
							
							
							
						 
						
							2008-09-11 00:40:25 -05:00