Slava Pestov
							
						 
						
							 
							
							
							
								
							
								652c4c28c6 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.assembler: fix test on 64-bit  
							
							 
							
							
							
						 
						
							2010-05-03 20:16:13 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								95ff5ffe51 
								
							
								 
							
						 
						
							
							
								
								New GC checks work in progress  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:16 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								655497b7b4 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.assembler: small cleanups  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:15 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6d41d2277f 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.assembler: support all addressing modes  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:06 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c0af678c5b 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.assembler: add support for absolute addressing on x86-64; [RIP+] now behaves like [] did, and [] now does absolute addressing just like in 32-bit mode  
							
							 
							
							
							
						 
						
							2010-04-04 19:42:57 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7d24459bb8 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.assembler: add segment override prefixes  
							
							 
							
							
							
						 
						
							2010-03-31 20:47:13 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								95bfc8a240 
								
							
								 
							
						 
						
							
							
								
								vocabs.metadata: replace unportable tag with a platforms.txt file for more fine-grained control. Rename unportable tag to untested for remaining cases  
							
							 
							
							
							
						 
						
							2010-02-20 13:30:49 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								235f3238f5 
								
							
								 
							
						 
						
							
							
								
								Add alien-assembly form for inline assembler, works like alien-invoke except calls a user-supplied quotation instead of generating a subroutine call. Replaces FPU status control, SSE detection and read timestamp routines in vm/cpu-x86.*S  
							
							 
							
							
							
						 
						
							2010-01-07 17:39:22 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								36d2ac8921 
								
							
								 
							
						 
						
							
							
								
								vm: move c_to_factor, lazy_jit_compile_impl, throw_impl, set_callstack assembly routines into non-optimizing compiler for x86-64  
							
							 
							
							
							
						 
						
							2010-01-06 15:47:36 +13:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								bd13e018dd 
								
							
								 
							
						 
						
							
							
								
								memq? -> member-eq?, sorted-memq? -> sorted-member-eq?  
							
							 
							
							
							
						 
						
							2009-10-28 15:02:00 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4202211293 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: cleanups  
							
							 
							
							
							
						 
						
							2009-09-28 16:38:35 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								2e8bb98781 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.assembler: make SSE shuffle instructions accept an array of indexes so they're easier to use  
							
							 
							
							
							
						 
						
							2009-09-28 11:45:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								dfc9fd071e 
								
							
								 
							
						 
						
							
							
								
								Add longlong-2, ulonglong-2, longlong-4, ulonglong-4 SIMD types, fix int-4 multiplication on SSE2  
							
							 
							
							
							
						 
						
							2009-09-23 20:23:25 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								563ecbd871 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.assembler: cleanup  
							
							 
							
							
							
						 
						
							2009-09-23 19:30:36 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								102df64ec7 
								
							
								 
							
						 
						
							
							
								
								i suck at reading tech docs--those were m64 instructions, not mm instructions  
							
							 
							
							
							
						 
						
							2009-09-02 12:58:35 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								962d560c10 
								
							
								 
							
						 
						
							
							
								
								get rid of useless mm->xmm instructions in cpu.x86.assembler, add MOVHLPS and MOVLHPS  
							
							 
							
							
							
						 
						
							2009-09-02 11:06:08 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								725280d424 
								
							
								 
							
						 
						
							
							
								
								Split off the notion of a register representation from a register class  
							
							 
							
							
							
						 
						
							2009-08-07 17:44:50 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								eb3bd1edea 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.assembler: make some words private  
							
							 
							
							
							
						 
						
							2009-08-05 18:30:42 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								b6ddcafcbd 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2009-07-30 11:05:36 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								455956b16c 
								
							
								 
							
						 
						
							
							
								
								add additional SSE2 packed integer operations  
							
							 
							
							
							
						 
						
							2009-07-30 11:05:12 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1e8d13c1f1 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.assembler: fix extended 8-bit registers (DIL, SIL, SPL, BPL)  
							
							 
							
							
							
						 
						
							2009-07-29 22:32:22 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8ca17d053c 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: use full set of 8-bit, 16-bit and 32-bit registers on x86-64 to avoid clumsy save/restore logic  
							
							 
							
							
							
						 
						
							2009-07-29 21:56:37 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								73862a9a03 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.assembler: move operands to operands sub-vocabulary, clean up small-reg-* code in compiler backend  
							
							 
							
							
							
						 
						
							2009-07-29 21:44:08 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								9f3c8a9959 
								
							
								 
							
						 
						
							
							
								
								SSE4 opcodes for x86 assembler  
							
							 
							
							
							
						 
						
							2009-07-28 12:19:37 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								5372113fce 
								
							
								 
							
						 
						
							
							
								
								SSE1–SSSE3 opcodes + branch hints for x86 assembler  
							
							 
							
							
							
						 
						
							2009-07-28 00:22:27 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								45a2105449 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.assembler: IMUL2 instruction was busted for immediate operands  
							
							 
							
							... 
							
							
							
							When given a register and an immediate, it would generate imul imm,dst,dst however the 64-bit prefix was generated wrong and if dst was an extended register only the first operand would be an extended register. To fix this, change IMUL2 to not work on immediates anymore, and added a new IMUL3 that takes a destination register, source register, and immediate. Also, change compiler.cfg.two-operand to not two-operandize %mul-imm, since this isn't needed anymore.
This fixes the sporadic benchmark.tuple-arrays crash on 64-bit machines. 
							
						 
						
							2009-06-08 21:15:52 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c93d876075 
								
							
								 
							
						 
						
							
							
								
								Better separation of concerns: cpu.{x86,ppc}.assembler no longer depends on compiler.codegen.fixup and cpu.architecture. Rename rt-xt-direct to rt-xt-pic to better explain its purpose  
							
							 
							
							
							
						 
						
							2009-05-06 16:14:53 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5188f4e1f0 
								
							
								 
							
						 
						
							
							
								
								Fix TEST opcode in cpu.x86.assembler  
							
							 
							
							
							
						 
						
							2009-04-29 22:23:42 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c15a4c1c5a 
								
							
								 
							
						 
						
							
							
								
								Add new relocation type for call sites which may be replaced by ICs  
							
							 
							
							
							
						 
						
							2009-04-28 17:53:14 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4d10105802 
								
							
								 
							
						 
						
							
							
								
								Working on inline caching  
							
							 
							
							
							
						 
						
							2009-04-28 03:48:37 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ea60f8ae93 
								
							
								 
							
						 
						
							
							
								
								Changing : foo ; parsing to SYNTAX: foo ;  
							
							 
							
							
							
						 
						
							2009-03-21 01:27:50 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6b25e99470 
								
							
								 
							
						 
						
							
							
								
								Add summary for heaps more vocabs  
							
							 
							
							
							
						 
						
							2009-02-16 21:05:13 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c5160d76e9 
								
							
								 
							
						 
						
							
							
								
								Merge qualified, alias, symbols, constants into core  
							
							 
							
							
							
						 
						
							2008-12-17 18:10:01 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								05e4626c49 
								
							
								 
							
						 
						
							
							
								
								Clean up  
							
							 
							
							
							
						 
						
							2008-12-09 03:22:09 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8a8f0c925c 
								
							
								 
							
						 
						
							
							
								
								Use BSR instruction to implement fixnum-log2 intrinsic  
							
							 
							
							
							
						 
						
							2008-12-06 15:31:17 -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
							
						 
						
							 
							
							
							
								
							
								3e25d14e54 
								
							
								 
							
						 
						
							
							
								
								Code cleanup: refactoring usages of rot and -rot to use newer idioms instead  
							
							 
							
							
							
						 
						
							2008-11-30 17:47:29 -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
							
						 
						
							 
							
							
							
								
							
								59f4f25b91 
								
							
								 
							
						 
						
							
							
								
								Loop alignment: appears to be a small win for reverse-complement  
							
							 
							
							
							
						 
						
							2008-11-03 06:20:51 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								abb02f1784 
								
							
								 
							
						 
						
							
							
								
								Flesh out shift instructions  
							
							 
							
							
							
						 
						
							2008-11-03 00:03:00 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								84820244dd 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into new_codegen  
							
							 
							
							
							
						 
						
							2008-10-21 23:19:20 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								52020c2fe3 
								
							
								 
							
						 
						
							
							
								
								Fixing x86 instruction encoding for addressing with base = ESP or R12  
							
							 
							
							
							
						 
						
							2008-10-21 23:18:27 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								fe2c20882a 
								
							
								 
							
						 
						
							
							
								
								Fix alien accessor intrinsics; a bit more complex now that we don't reserve a tempreg  
							
							 
							
							
							
						 
						
							2008-10-13 22:43:32 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f2c6f8de5b 
								
							
								 
							
						 
						
							
							
								
								Using fry in cpu.x86, working on alien intrinsics  
							
							 
							
							
							
						 
						
							2008-10-13 16:43:58 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7b6d9c4c4f 
								
							
								 
							
						 
						
							
							
								
								Debugging new codegen  
							
							 
							
							
							
						 
						
							2008-10-07 20:00:38 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c19f2257f4 
								
							
								 
							
						 
						
							
							
								
								Fix permission bits  
							
							 
							
							
							
						 
						
							2008-10-02 08:34:49 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0c8e2584b4 
								
							
								 
							
						 
						
							
							
								
								Fixing unit tests for make, fry changes  
							
							 
							
							
							
						 
						
							2008-09-11 00:20:06 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								44f53de164 
								
							
								 
							
						 
						
							
							
								
								Move make to its own vocabulary, remove fry _ feature  
							
							 
							
							
							
						 
						
							2008-09-10 20:07:00 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								48fa2e2d0e 
								
							
								 
							
						 
						
							
							
								
								Updating some code  
							
							 
							
							
							
						 
						
							2008-08-12 03:31:48 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6408b01e9d 
								
							
								 
							
						 
						
							
							
								
								Add 'unportable' tag in place of hard-coded list of 'dangerous' vocabs in load-everything  
							
							 
							
							
							
						 
						
							2008-07-29 16:47:52 -05:00