Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8b42b168e2 
								
							
								 
							
						 
						
							
							
								
								Removed (string) primitivE  
							
							 
							
							
							
						 
						
							2008-12-09 18:22:38 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								eb79c6ab71 
								
							
								 
							
						 
						
							
							
								
								Fix conflict  
							
							 
							
							
							
						 
						
							2008-12-09 17:52:45 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7940020491 
								
							
								 
							
						 
						
							
							
								
								Untangling more dependencies  
							
							 
							
							
							
						 
						
							2008-12-08 16:02:31 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4f0a9f311e 
								
							
								 
							
						 
						
							
							
								
								Untangling some dependencies  
							
							 
							
							
							
						 
						
							2008-12-08 14:58:00 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9c2e8abaca 
								
							
								 
							
						 
						
							
							
								
								Enable more local DCE  
							
							 
							
							
							
						 
						
							2008-12-06 14:24:31 -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
							
						 
						
							 
							
							
							
								
							
								e304d3c9f8 
								
							
								 
							
						 
						
							
							
								
								Local DCE  
							
							 
							
							
							
						 
						
							2008-12-04 06:02:49 -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 Pestov
							
						 
						
							 
							
							
							
								
							
								02b8dcf9f3 
								
							
								 
							
						 
						
							
							
								
								Stack checker now knows about wlet words  
							
							 
							
							
							
						 
						
							2008-11-27 21:57:16 -06:00  
						
					 
				
					
						
							
							
								 
								slava
							
						 
						
							 
							
							
							
								
							
								e9aa13150f 
								
							
								 
							
						 
						
							
							
								
								gc-reset, gc-stats, jit-compile primitives didn't have static stack effects  
							
							 
							
							
							
						 
						
							2008-11-24 16:01:53 -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
							
						 
						
							 
							
							
							
								
							
								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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a166db313a 
								
							
								 
							
						 
						
							
							
								
								Inferring set-datastack is just a warning not an error  
							
							 
							
							
							
						 
						
							2008-11-17 12:23:12 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								672f9e400e 
								
							
								 
							
						 
						
							
							
								
								Better error message  
							
							 
							
							
							
						 
						
							2008-11-17 11:16:32 -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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								2445a83cb9 
								
							
								 
							
						 
						
							
							
								
								Clean up recursive-state usage  
							
							 
							
							
							
						 
						
							2008-11-03 03:06:11 -06: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
							
						 
						
							 
							
							
							
								
							
								b6c2a85931 
								
							
								 
							
						 
						
							
							
								
								Remove shuffle word, rename shuffle* to shuffle  
							
							 
							
							
							
						 
						
							2008-09-05 19:54:05 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e1716d92b3 
								
							
								 
							
						 
						
							
							
								
								Remove delegation slot  
							
							 
							
							
							
						 
						
							2008-09-03 03:46:56 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								29e5ed2adb 
								
							
								 
							
						 
						
							
							
								
								Fixing deploy tool  
							
							 
							
							
							
						 
						
							2008-08-31 19:17:04 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3cef7c9992 
								
							
								 
							
						 
						
							
							
								
								Smarter usage tracking system  
							
							 
							
							
							
						 
						
							2008-08-30 02:31:27 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1fcbdf9d52 
								
							
								 
							
						 
						
							
							
								
								Fix more compiler bugs  
							
							 
							
							
							
						 
						
							2008-08-29 00:26:47 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8ce6924702 
								
							
								 
							
						 
						
							
							
								
								Fix minor inference errors  
							
							 
							
							
							
						 
						
							2008-08-23 15:05:46 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								40e926609a 
								
							
								 
							
						 
						
							
							
								
								Fixing unit tests  
							
							 
							
							
							
						 
						
							2008-08-22 22:07:59 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								56d272df9e 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into new_optimizer  
							
							 
							
							
							
						 
						
							2008-08-12 03:36:44 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f2a5a30c6f 
								
							
								 
							
						 
						
							
							
								
								New front-end and high-level optimizer lands  
							
							 
							
							
							
						 
						
							2008-08-12 03:22:45 -05:00