Slava Pestov
							
						 
						
							 
							
							
							
								
							
								fec408260e 
								
							
								 
							
						 
						
							
							
								
								vm: tweak inline_gc() for PowerPC  
							
							 
							
							
							
						 
						
							2010-05-04 06:52:30 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								dd2a4c2c77 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: GC root offsets were computed wrong in words containing alien calls  
							
							 
							
							
							
						 
						
							2010-05-04 02:53:53 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6c35652666 
								
							
								 
							
						 
						
							
							
								
								cpu: cleanups  
							
							 
							
							
							
						 
						
							2010-05-03 23:08:24 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								58e4381eb1 
								
							
								 
							
						 
						
							
							
								
								compiler: new "binary literal area" at the end of a word's machine code stores constant floats and SIMD vectors; this allows ##load-reference/##load-memory fusion to be performed on x86-64, with a RIP-relative address reaching the data; also simplifies VM since custom relocation types used by the previous 32-bit-only optimization are no longer needed  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:35 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								428ba9fd0f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: fuse ##load-integer/##load-reference into ##replace to form ##replace-imm  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:28 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1b4b66e341 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: use available type info to generate more efficient %box-displaced-alien where possible  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:27 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								95ff5ffe51 
								
							
								 
							
						 
						
							
							
								
								New GC checks work in progress  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:16 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a9ccfa8f05 
								
							
								 
							
						 
						
							
							
								
								strings: move string-nth primitive out of the VM and into the library  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:12 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								378c2b2a46 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: add ##load-memory and ##store-memory instructions implementing complex addressing modes, and associated value numbering optimizations  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:07 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2475699736 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: more flexible addressing for ##slot and ##set-slot  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:06 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6d41d2277f 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.assembler: support all addressing modes  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:06 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								913b95192e 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: merge all alien accessors into ##load-memory-imm and ##store-memory-imm  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:06 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								279eb461b1 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: remove ##set-string-nth-fast instruction since it can be expressed just as efficiently using other instructions  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:04 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5d3a7a7362 
								
							
								 
							
						 
						
							
							
								
								Untagged fixnums work in progress  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:02 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2517b2fc2b 
								
							
								 
							
						 
						
							
							
								
								compiler: combine ##load-constant followed by ##alien-double into a ##load-double on x86-32, saving an integer register  
							
							 
							
							
							
						 
						
							2010-04-18 21:42:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8f0739197e 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: fix some bugs introduced by the ##compare-imm fusion patch  
							
							 
							
							
							
						 
						
							2010-04-18 21:42:45 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2aaf24412a 
								
							
								 
							
						 
						
							
							
								
								compiler: change how 'f' is represented in low level IR to simplify some code, and fuse a ##load-constant of a word with a ##compare into a ##compare-imm on x86-32. This eliminates a spill from binary-search  
							
							 
							
							
							
						 
						
							2010-04-18 21:42:45 -05:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								3e0d86f355 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor into abi-symbols  
							
							 
							
							... 
							
							
							
							Conflicts:
	basis/compiler/tests/alien.factor 
							
						 
						
							2010-04-06 12:30:15 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								666081f155 
								
							
								 
							
						 
						
							
							
								
								update %load-param-reg, %save-param-reg, and %cleanup to take register args into account  
							
							 
							
							
							
						 
						
							2010-04-01 17:36:09 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								eceabbc57e 
								
							
								 
							
						 
						
							
							
								
								compiler: new set-special-object intrinsic; more efficient special-object intrinsic  
							
							 
							
							
							
						 
						
							2010-04-01 20:09:14 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								560c119cd2 
								
							
								 
							
						 
						
							
							
								
								vm: actually use context callstacks when running code  
							
							 
							
							
							
						 
						
							2010-03-26 22:44:43 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								22fbe01c17 
								
							
								 
							
						 
						
							
							
								
								Compiled code size optimizations for x86-64 resulting in development image size reduction of about 350kb  
							
							 
							
							... 
							
							
							
							- RIP-relative LEA is now used to load program counter in prolog and tail calls; saves 3 bytes of code and 4 bytes of relocation information over an immediate MOV
- VM field accesses no longer involve a redundant addition 
							
						 
						
							2010-02-03 23:11:35 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								892522f8bd 
								
							
								 
							
						 
						
							
							
								
								alien.c-types: ensure that long and ulong types are defined with define-primitive-type and not typedef  
							
							 
							
							
							
						 
						
							2010-01-23 00:15:08 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8d34a0f3c1 
								
							
								 
							
						 
						
							
							
								
								Store VM object in a register on x86-64  
							
							 
							
							
							
						 
						
							2010-01-11 01:20:32 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a04b85a45e 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: sse_version was renamed to (sse-version)  
							
							 
							
							
							
						 
						
							2010-01-07 18:30:01 +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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ba5b90e063 
								
							
								 
							
						 
						
							
							
								
								Change how non-volatile register preservation is done in alien callbacks, with the aim of fixing callbacks on PowerPC, and to eventually eliminate assembly code from VM  
							
							 
							
							... 
							
							
							
							- Simplify calculation of offset in relocation table
- Open-code %alien-callback
- Remove magic_frame hack from context objects
- Move magical return instruction from optimizing compiler backend into callback entry stub 
							
						 
						
							2010-01-03 01:11:51 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e96404327e 
								
							
								 
							
						 
						
							
							
								
								Get optimizing compiler working without global register variables in VM  
							
							 
							
							
							
						 
						
							2009-12-22 15:42:49 +13:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								3e40a36c50 
								
							
								 
							
						 
						
							
							
								
								fix simd tests  
							
							 
							
							
							
						 
						
							2009-12-05 17:17:16 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								1c40e4faa4 
								
							
								 
							
						 
						
							
							
								
								implement %scalar>integer for longlong reps on x86.64  
							
							 
							
							
							
						 
						
							2009-12-05 15:38:43 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								104c29aabc 
								
							
								 
							
						 
						
							
							
								
								simd intrinsic implementation for v*high, v*hs+, vavg, and vsad  
							
							 
							
							
							
						 
						
							2009-12-05 14:52:18 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								63b89c65f9 
								
							
								 
							
						 
						
							
							
								
								don't use intrinsics for simd vector element operations when the component size doesn't fit in a fixnum  
							
							 
							
							
							
						 
						
							2009-12-03 12:46:56 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								67cc1c01be 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into simd-cleanup  
							
							 
							
							
							
						 
						
							2009-11-26 16:14:46 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								50f7dff422 
								
							
								 
							
						 
						
							
							
								
								change name of 'unsign-rep' to more sensible 'signed-rep'  
							
							 
							
							
							
						 
						
							2009-11-24 22:44:12 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								7f546daead 
								
							
								 
							
						 
						
							
							
								
								fill in longlong cases for %scalar>integer (won't work on 32bit yet!)  
							
							 
							
							
							
						 
						
							2009-11-19 12:15:24 -08:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								cc194416f9 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into startup  
							
							 
							
							... 
							
							
							
							Conflicts:
	core/bootstrap/primitives.factor
	vm/run.hpp 
							
						 
						
							2009-11-15 02:52:50 -06:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								f544982fda 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor into simd-cleanup  
							
							 
							
							... 
							
							
							
							Conflicts:
	basis/math/vectors/simd/functor/functor.factor 
							
						 
						
							2009-11-14 21:02:39 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								064c00f78d 
								
							
								 
							
						 
						
							
							
								
								New identity-hashcode primitive  
							
							 
							
							
							
						 
						
							2009-11-10 21:18:54 -06:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								75d04922b9 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into simd-cleanup  
							
							 
							
							... 
							
							
							
							Conflicts:
	basis/math/vectors/simd/functor/functor.factor 
							
						 
						
							2009-11-05 11:27:08 -06:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								4d54f27cd1 
								
							
								 
							
						 
						
							
							
								
								more intrinsic madness  
							
							 
							
							
							
						 
						
							2009-11-05 09:52:57 -06:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								f6643a1c72 
								
							
								 
							
						 
						
							
							
								
								change ##horizontal-add-vector insn to better match what the HADD SSE instructions do (add adjacent pairs, pack results)  
							
							 
							
							
							
						 
						
							2009-11-04 12:18:01 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2b1a26228b 
								
							
								 
							
						 
						
							
							
								
								Align stack pointer on non-Mac OS X x86-32 platforms, and use aligned loads/stores for SIMD values  
							
							 
							
							
							
						 
						
							2009-11-03 23:51:44 -06:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								d655c3c9cc 
								
							
								 
							
						 
						
							
							
								
								make horizontal shift available to float vectors (it'd still be faster than the software fallback despite pipeline penalty)  
							
							 
							
							
							
						 
						
							2009-11-03 21:38:29 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								51e9a891a8 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: update %box-displaced-alien for introduction of address field  
							
							 
							
							
							
						 
						
							2009-11-03 03:17:43 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a3b5c07e80 
								
							
								 
							
						 
						
							
							
								
								Minor bug fixes for 4-bit tags  
							
							 
							
							
							
						 
						
							2009-11-02 17:41:36 -06:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								e36eb438fa 
								
							
								 
							
						 
						
							
							
								
								move all simd intrinsics to compiler.cfg.intrinsics.simd, and only load it when math.vectors.simd is loaded  
							
							 
							
							
							
						 
						
							2009-11-02 15:17:34 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e4ad642134 
								
							
								 
							
						 
						
							
							
								
								vm: 4 bit tags, new representation of alien objects makes unbox-any-c-ptr more efficient (work in progress)  
							
							 
							
							
							
						 
						
							2009-11-02 04:25:54 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f21199005d 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into new_gc  
							
							 
							
							
							
						 
						
							2009-11-01 22:17:27 -06:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								aaba25527c 
								
							
								 
							
						 
						
							
							
								
								typo in cpu.x86  
							
							 
							
							
							
						 
						
							2009-11-01 19:39:57 -06:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								36e4a141c4 
								
							
								 
							
						 
						
							
							
								
								clear destination register before doing CVTS* to break dependency chains  
							
							 
							
							
							
						 
						
							2009-11-01 18:29:12 -06:00