Slava Pestov
							
						 
						
							 
							
							
							
								
							
								97fd662d61 
								
							
								 
							
						 
						
							
							
								
								Clean up PPC backend a bit  
							
							 
							
							
							
						 
						
							2008-12-16 02:03:21 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0021cde743 
								
							
								 
							
						 
						
							
							
								
								Fix more compile errors  
							
							 
							
							
							
						 
						
							2008-12-15 22:21:56 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5a45119252 
								
							
								 
							
						 
						
							
							
								
								Fix jit-dispatch on x86-64; was broken on windows  
							
							 
							
							
							
						 
						
							2008-12-15 20:55:24 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								09c60f7e90 
								
							
								 
							
						 
						
							
							
								
								Fix some vocabularies for new requirement that inline words have a stack effect declaration  
							
							 
							
							
							
						 
						
							2008-12-15 20:31:55 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d821cd7281 
								
							
								 
							
						 
						
							
							
								
								Fix win64 bootstrap  
							
							 
							
							
							
						 
						
							2008-12-10 01:19:22 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4b927f732f 
								
							
								 
							
						 
						
							
							
								
								Clean up JIT backend a little  
							
							 
							
							
							
						 
						
							2008-12-09 17:14:17 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								05e4626c49 
								
							
								 
							
						 
						
							
							
								
								Clean up  
							
							 
							
							
							
						 
						
							2008-12-09 03:22:09 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0359ec8eac 
								
							
								 
							
						 
						
							
							
								
								Fix PowerPC backend again  
							
							 
							
							
							
						 
						
							2008-12-06 16:57:28 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8a8f0c925c 
								
							
								 
							
						 
						
							
							
								
								Use BSR instruction to implement fixnum-log2 intrinsic  
							
							 
							
							
							
						 
						
							2008-12-06 15:31:17 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d2ce4355f8 
								
							
								 
							
						 
						
							
							
								
								Fixing PPC backend  
							
							 
							
							
							
						 
						
							2008-12-06 15:30:40 -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
							
						 
						
							 
							
							
							
								
							
								b06cfc6225 
								
							
								 
							
						 
						
							
							
								
								Update ppc backend for recent string intrinsic changes  
							
							 
							
							
							
						 
						
							2008-12-06 00:12:07 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								82cf6530c6 
								
							
								 
							
						 
						
							
							
								
								set-string-nth-fast intrinsic was busted  
							
							 
							
							
							
						 
						
							2008-12-05 23:52:09 -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
							
						 
						
							 
							
							
							
								
							
								e5ed7447ed 
								
							
								 
							
						 
						
							
							
								
								Removing more >r/r> usages  
							
							 
							
							
							
						 
						
							2008-12-03 08:46:16 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e4db2afb7e 
								
							
								 
							
						 
						
							
							
								
								Update cpu.x86.assembler to use dip instead of >r/r>  
							
							 
							
							
							
						 
						
							2008-12-02 03:10:01 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a558f91d5d 
								
							
								 
							
						 
						
							
							
								
								Better command-line processing  
							
							 
							
							
							
						 
						
							2008-12-01 16:10:48 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3e25d14e54 
								
							
								 
							
						 
						
							
							
								
								Code cleanup: refactoring usages of rot and -rot to use newer idioms instead  
							
							 
							
							
							
						 
						
							2008-11-30 17:47:29 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f55c5d1bd0 
								
							
								 
							
						 
						
							
							
								
								Fix compile error  
							
							 
							
							
							
						 
						
							2008-11-30 11:37:39 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c7c3bbc5f5 
								
							
								 
							
						 
						
							
							
								
								Fix register assignments on 64-bit x86  
							
							 
							
							
							
						 
						
							2008-11-30 08:05:36 -06:00  
						
					 
				
					
						
							
							
								 
								sheeple
							
						 
						
							 
							
							
							
								
							
								6400085bea 
								
							
								 
							
						 
						
							
							
								
								Fix bootstrap, add a unit test  
							
							 
							
							
							
						 
						
							2008-11-30 07:36:29 -06:00  
						
					 
				
					
						
							
							
								 
								sheeple
							
						 
						
							 
							
							
							
								
							
								ff000f3e82 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2008-11-30 07:25:37 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e7f4563374 
								
							
								 
							
						 
						
							
							
								
								fixnum* intrinsic for x86  
							
							 
							
							
							
						 
						
							2008-11-30 07:26:49 -06:00  
						
					 
				
					
						
							
							
								 
								sheeple
							
						 
						
							 
							
							
							
								
							
								abc486c342 
								
							
								 
							
						 
						
							
							
								
								Subtraction overflow was wrong way round on PowerPC  
							
							 
							
							
							
						 
						
							2008-11-30 06:08:16 -06:00  
						
					 
				
					
						
							
							
								 
								sheeple
							
						 
						
							 
							
							
							
								
							
								26c002d23f 
								
							
								 
							
						 
						
							
							
								
								Fix fixnum* problem; result was shifted to the right by 3 bits if both input registers were equal  
							
							 
							
							
							
						 
						
							2008-11-29 00:44:46 -06:00  
						
					 
				
					
						
							
							
								 
								U-SLAVA-DFB8FF805\Slava
							
						 
						
							 
							
							
							
								
							
								6f0ec04310 
								
							
								 
							
						 
						
							
							
								
								Fix stack effect of param-reg-[12] on x86.3C2  
							
							 
							
							
							
						 
						
							2008-11-24 19:09:55 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9081247e34 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor into faster_overflow_checks  
							
							 
							
							
							
						 
						
							2008-11-28 22:26:49 -06:00  
						
					 
				
					
						
							
							
								 
								sheeple
							
						 
						
							 
							
							
							
								
							
								2b1a90e90a 
								
							
								 
							
						 
						
							
							
								
								Fixing PowerPC arithmetic primitives  
							
							 
							
							
							
						 
						
							2008-11-28 22:22:26 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bac609d7af 
								
							
								 
							
						 
						
							
							
								
								Implement both-fixnums? sub-primitive for PowerPC  
							
							 
							
							
							
						 
						
							2008-11-28 21:18:42 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								68dd6cc35a 
								
							
								 
							
						 
						
							
							
								
								Working on PowerPC overflow checks  
							
							 
							
							
							
						 
						
							2008-11-28 20:02:50 -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
							
						 
						
							 
							
							
							
								
							
								f44506089d 
								
							
								 
							
						 
						
							
							
								
								More work on overflow instructions: don't need temp register anymore, add -tail variants which don't need stack frame  
							
							 
							
							
							
						 
						
							2008-11-28 06:36:30 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5634becda1 
								
							
								 
							
						 
						
							
							
								
								##fixnum-add, ##fixnum-sub instructions open-code overflow check  
							
							 
							
							
							
						 
						
							2008-11-28 05:33:58 -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
							
						 
						
							 
							
							
							
								
							
								12d4f684ec 
								
							
								 
							
						 
						
							
							
								
								Fix <long>, <ulong>, *long, *ulong on win64  
							
							 
							
							
							
						 
						
							2008-11-24 16:28:56 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e62a558cf4 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2008-11-24 12:01:55 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d849287779 
								
							
								 
							
						 
						
							
							
								
								Fix fixnum/i-fast and fixnum/md-fast on PowerPC  
							
							 
							
							
							
						 
						
							2008-11-24 12:01:08 -06:00  
						
					 
				
					
						
							
							
								 
								sheeple
							
						 
						
							 
							
							
							
								
							
								6c568d5c3d 
								
							
								 
							
						 
						
							
							
								
								Fix PowerPC bootstrap  
							
							 
							
							
							
						 
						
							2008-11-24 11:34:18 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ab689c098b 
								
							
								 
							
						 
						
							
							
								
								Clean up direct literal code and make a first attempt at PowerPC support  
							
							 
							
							
							
						 
						
							2008-11-24 08:16:14 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2aaf860f47 
								
							
								 
							
						 
						
							
							
								
								Experimental optimizations  
							
							 
							
							
							
						 
						
							2008-11-24 06:40:51 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								dbf52c6176 
								
							
								 
							
						 
						
							
							
								
								Fix PowerPC bootstrap  
							
							 
							
							
							
						 
						
							2008-11-24 01:45:36 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								87bc7d8c8b 
								
							
								 
							
						 
						
							
							
								
								Update PPC non-optimizing compiler backend  
							
							 
							
							
							
						 
						
							2008-11-24 00:29:34 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d86524f4bc 
								
							
								 
							
						 
						
							
							
								
								Non-optimizing compiler now compiles dip, 2dip, 3dip, if, with direct branches instead of indirect branches. 8% bootstrap time improvement on Core Duo 2  
							
							 
							
							
							
						 
						
							2008-11-24 00:23:17 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								60964487e0 
								
							
								 
							
						 
						
							
							
								
								Fix PowerPC dip/2dip/3dip  
							
							 
							
							
							
						 
						
							2008-11-23 04:14:17 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								616df5da22 
								
							
								 
							
						 
						
							
							
								
								PowerPC dip/2dip/3dip JIT intrinsics (untested)  
							
							 
							
							
							
						 
						
							2008-11-23 03:04:45 -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
							
						 
						
							 
							
							
							
								
							
								303b3f2f83 
								
							
								 
							
						 
						
							
							
								
								Fix compile error in x86 bootstrap  
							
							 
							
							
							
						 
						
							2008-11-23 00:09:23 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d5559d4132 
								
							
								 
							
						 
						
							
							
								
								Add fixnum/mod and fixnum/i subprimitives on PowerPC  
							
							 
							
							
							
						 
						
							2008-11-21 02:24:37 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ae4f9a2809 
								
							
								 
							
						 
						
							
							
								
								Add fixnum/mod-fast and fixnum/i-fast subprimitives  
							
							 
							
							
							
						 
						
							2008-11-21 02:11:36 -06:00  
						
					 
				
					
						
							
							
								 
								unknown
							
						 
						
							 
							
							
							
								
							
								ccd13ce975 
								
							
								 
							
						 
						
							
							
								
								Define intptr_t type  
							
							 
							
							
							
						 
						
							2008-11-17 18:42:10 -06:00