Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								1c94c60541 
								
							
								 
							
						 
						
							
							
								
								cpu.*: new generic word enable-cpu-features  
							
							 
							
							... 
							
							
							
							The word is used during bootstrap to enable available cpu specific
intrinsics. 
							
						 
						
							2016-08-12 11:41:45 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								24a02a1c8f 
								
							
								 
							
						 
						
							
							
								
								compiler.*: Backend implementation of varargs  
							
							 
							
							... 
							
							
							
							It is turned off by default. Support for using it coming soon. :) 
							
						 
						
							2016-08-08 12:02:19 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								ceb0f61c2b 
								
							
								 
							
						 
						
							
							
								
								cpu.architecture: new docs  
							
							 
							
							
							
						 
						
							2016-08-08 10:37:50 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								1b6e6915ac 
								
							
								 
							
						 
						
							
							
								
								cpu.*: float-on-stack? word never used  
							
							 
							
							
							
						 
						
							2016-08-08 10:29:17 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								06319ac58d 
								
							
								 
							
						 
						
							
							
								
								cpu.*: removes the vector-regs hook  
							
							 
							
							... 
							
							
							
							It is not needed for now as float-regs are always used for vector-reps. 
							
						 
						
							2016-08-01 21:52:05 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								9bbe8a8c29 
								
							
								 
							
						 
						
							
							
								
								cpu.*: the %loop-entry word is unused  
							
							 
							
							
							
						 
						
							2016-08-01 21:52:05 +02:00  
						
					 
				
					
						
							
							
								 
								John Benediktsson
							
						 
						
							 
							
							
							
								
							
								621b50a8e5 
								
							
								 
							
						 
						
							
							
								
								cpu: enable bit-test intrinsic for fixnum-bit?.  
							
							 
							
							
							
						 
						
							2015-06-17 19:11:10 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								9ceea3c241 
								
							
								 
							
						 
						
							
							
								
								compiler.*: new cfg instruction ##clear, it makes it easier to see where  
							
							 
							
							... 
							
							
							
							the compiler.cfg.stacks.clearing pass inserts extra instructions 
							
						 
						
							2015-05-17 07:59:34 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								655faadec9 
								
							
								 
							
						 
						
							
							
								
								compiler.*: now when we're tracking uninitialized locations instead of  
							
							 
							
							... 
							
							
							
							initialized ones, the height slot isn't needed on ##call anymore 
							
						 
						
							2015-05-17 07:59:34 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								8df92abeb9 
								
							
								 
							
						 
						
							
							
								
								compiler.*,cpu.*: add a height slot to ##call nodes, then other compiler  
							
							 
							
							... 
							
							
							
							passes can much easier to accurate liveness analysis on stack locations 
							
						 
						
							2015-05-09 20:04:22 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								ded3760d46 
								
							
								 
							
						 
						
							
							
								
								compiler.*: merge of ##inc-r and ##inc-d into one instruction ##inc with a loc slot  
							
							 
							
							... 
							
							
							
							this is nice because it leads to simpler code and matches how ##peek and ##replace instructions work 
							
						 
						
							2015-04-29 09:31:53 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								52d3affeb8 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.*: the ##alien-assembly instruction does not use a gc-map  
							
							 
							
							
							
						 
						
							2014-12-08 18:13:46 -08:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								7ebd63a217 
								
							
								 
							
						 
						
							
							
								
								cpu.architecture: docs and some tests  
							
							 
							
							
							
						 
						
							2014-11-16 06:25:54 -08:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								4f9f2b862f 
								
							
								 
							
						 
						
							
							
								
								Docs: docs for compiler-related vocabs  
							
							 
							
							
							
						 
						
							2014-05-10 17:13:49 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								e2fe5ccfe8 
								
							
								 
							
						 
						
							
							
								
								Docs: stub docs for cpu.architecture  
							
							 
							
							
							
						 
						
							2014-05-10 17:13:48 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								d79b462f75 
								
							
								 
							
						 
						
							
							
								
								compiler: add intrinsic for PMOVMSKB/MOVMSKP[SD]  
							
							 
							
							... 
							
							
							
							Combined with a fast bit-count this will let us rice byte-counting. 
							
						 
						
							2011-11-13 16:10:20 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								0c022f2454 
								
							
								 
							
						 
						
							
							
								
								compiler: add ##safepoint IR insn  
							
							 
							
							
							
						 
						
							2011-10-27 21:14:46 -07:00  
						
					 
				
					
						
							
							
								 
								Erik Charlebois
							
						 
						
							 
							
							
							
								
							
								64252dbdbc 
								
							
								 
							
						 
						
							
							
								
								32 and 64 bit Linux PPC support  
							
							 
							
							
							
						 
						
							2011-05-23 23:36:14 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6b5fffc026 
								
							
								 
							
						 
						
							
							
								
								compiler: preliminary implementation of tracking derived pointers in GC maps  
							
							 
							
							
							
						 
						
							2010-09-27 20:12:44 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1985705413 
								
							
								 
							
						 
						
							
							
								
								compiler: now that FFI has been deconcatenatized, we no longer need the special ##unary-float-function and ##binary-float-function fastpaths  
							
							 
							
							
							
						 
						
							2010-08-13 23:59:19 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b5fc39c198 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: Reading the return value of a float-returning function on x86-32 had a side effect of popping the x87 stack, so it was not correct for DCE to just eliminate this if the return value was not used. Fix this by adding a new dead-outputs slot to alien-call-insns and having DCE move dead returns there  
							
							 
							
							
							
						 
						
							2010-08-13 23:19:56 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								168dd1f825 
								
							
								 
							
						 
						
							
							
								
								FFI rewrite part 7: compile callback bodies with the optimizing compiler  
							
							 
							
							
							
						 
						
							2010-07-28 00:49:26 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b23aac1beb 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: open-code parameter boxing and unboxing for certain C types  
							
							 
							
							
							
						 
						
							2010-07-19 10:25:13 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e5dd21b0b9 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: nuke ##allot-byte-array instruction  
							
							 
							
							
							
						 
						
							2010-07-16 19:57:45 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0fd636b4b9 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: ##unbox-long-long can have multiple outputs now, clean up long long parameter passing code using this  
							
							 
							
							
							
						 
						
							2010-07-15 19:49:29 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e27adb2830 
								
							
								 
							
						 
						
							
							
								
								compiler: re-architect low-level optimizer to allow more than one output value per instruction  
							
							 
							
							
							
						 
						
							2010-07-13 07:40:14 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a55c8ee671 
								
							
								 
							
						 
						
							
							
								
								FFI rewrite part 6: deconcatenatize  
							
							 
							
							
							
						 
						
							2010-07-02 15:44:12 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e86f434f26 
								
							
								 
							
						 
						
							
							
								
								Add GC maps to ##box, ##box-long-long, ##alien-invoke, ##alien-indirect and ##call-gc; remove ##gc-map instruction  
							
							 
							
							
							
						 
						
							2010-06-14 19:39:46 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								806e54630a 
								
							
								 
							
						 
						
							
							
								
								GC maps for more compact inline GC checks  
							
							 
							
							
							
						 
						
							2010-06-11 20:06:00 -04:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								7fe04fa8ee 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.intrinsics.simd: intrinsic support for double-2>float-4 conversion  
							
							 
							
							
							
						 
						
							2010-06-01 00:34:50 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ba7cb61133 
								
							
								 
							
						 
						
							
							
								
								Stack allocation improvements  
							
							 
							
							... 
							
							
							
							- New with-out-parameters combinator
- Inhibit tail call optimization in frames with local allocation, to ensure that passing a stack allocated value to the last word in the quotation works
- local allocations are now aligned properly
- spill slots are now aligned properly aligned in frames which have parameter and local allocation areas 
							
						 
						
							2010-05-22 02:37:00 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								91cd3b854d 
								
							
								 
							
						 
						
							
							
								
								Use ##local-allot to simplify longlong unboxing  
							
							 
							
							
							
						 
						
							2010-05-19 01:07:22 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								77516c6932 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: generalize ##prepare-struct-caller instruction to alloca()-like ##local-allot  
							
							 
							
							
							
						 
						
							2010-05-19 00:33:15 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6eaf2d7534 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: add x87 codegen for Model T enthusiasts  
							
							 
							
							
							
						 
						
							2010-05-17 11:35:47 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7ff309d50e 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: get rid of this extra-stack-space nonsense  
							
							 
							
							
							
						 
						
							2010-05-17 02:14:44 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3f8e13bf66 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: refactor stack frame code and fix frame pointer usage in callbacks  
							
							 
							
							
							
						 
						
							2010-05-16 21:04:40 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a7b5957f6d 
								
							
								 
							
						 
						
							
							
								
								compiler: hack to make XCreateIC() work on x86-64  
							
							 
							
							
							
						 
						
							2010-05-16 04:49:53 -04:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								645164188d 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.instructions: ##select-vector instruction mapping to SSE4 PEXTR*  
							
							 
							
							
							
						 
						
							2010-05-16 00:50:19 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5b48cd2a63 
								
							
								 
							
						 
						
							
							
								
								FFI rewrite part 5: return value boxing and callback parameter boxing now uses vregs; simplify return value unboxing  
							
							 
							
							
							
						 
						
							2010-05-16 03:43:23 -04:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								8c878ada17 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.instructions: ##gather-int-vector-2/4 instructions that map to SSE4 PINSR/PEXTR  
							
							 
							
							
							
						 
						
							2010-05-15 23:48:22 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								7fec53b509 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.instructions: ##bit-count insn  
							
							 
							
							
							
						 
						
							2010-05-15 13:57:35 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5a67711bfd 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: use x86 TEST instruction to optimize 'bitand 0 ='  
							
							 
							
							
							
						 
						
							2010-05-14 18:37:06 -04:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								3766abd65e 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.instructions: ##shuffle-vector-halves-imm insn to map to SSE's two-input SHUFPS/SHUFPD  
							
							 
							
							
							
						 
						
							2010-05-14 00:20:21 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								42b0d456cd 
								
							
								 
							
						 
						
							
							
								
								Refactor x86-32 stack cleanup logic  
							
							 
							
							
							
						 
						
							2010-05-12 02:09:11 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f89b85db7b 
								
							
								 
							
						 
						
							
							
								
								Temporary fixes for x86-32 until FFI boxing is rewritten  
							
							 
							
							
							
						 
						
							2010-05-12 01:41:49 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ee0640f176 
								
							
								 
							
						 
						
							
							
								
								Move flatten-c-type to death row so that it can be executed in part 5  
							
							 
							
							
							
						 
						
							2010-05-11 22:26:31 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								eb802208d1 
								
							
								 
							
						 
						
							
							
								
								FFI rewrite part 4: parameter and return value unboxing redesign  
							
							 
							
							
							
						 
						
							2010-05-11 19:11:44 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4478c3a51a 
								
							
								 
							
						 
						
							
							
								
								FFI rewrite part 3: eliminate ##push-context-stack and ##pop-context-stack  
							
							 
							
							
							
						 
						
							2010-05-10 00:46:29 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7316d41226 
								
							
								 
							
						 
						
							
							
								
								FFI rewrite part 2: use ##peek and ##replace instructions to access stack  
							
							 
							
							
							
						 
						
							2010-05-09 23:26:43 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c211c3e84e 
								
							
								 
							
						 
						
							
							
								
								FFI rewrite part 1: split up ##alien-invoke and friends into smaller instructions  
							
							 
							
							
							
						 
						
							2010-05-09 21:36:52 -04:00