064c00f78d 
								
							
								 
							
						 
						
							
							
								
								New identity-hashcode primitive  
							
							
							
						 
						
							2009-11-10 21:18:54 -06:00  
				
					
						
							
							
								 
						
							
							
								bd13e018dd 
								
							
								 
							
						 
						
							
							
								
								memq? -> member-eq?, sorted-memq? -> sorted-member-eq?  
							
							
							
						 
						
							2009-10-28 15:02:00 -05:00  
				
					
						
							
							
								 
						
							
							
								1da18d06b1 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.value-numbering: add some more rewrite rules, neg/neg, not/not, and a few for SIMD  
							
							
							
						 
						
							2009-09-30 02:18:29 -05:00  
				
					
						
							
							
								 
						
							
							
								4a2823b2eb 
								
							
								 
							
						 
						
							
							
								
								compiler: tweak generated code  
							
							
							
						 
						
							2009-09-04 03:01:18 -05:00  
				
					
						
							
							
								 
						
							
							
								85a2bfab6c 
								
							
								 
							
						 
						
							
							
								
								compiler: eliminate boilerplate by centralizing info in declarative INSN: syntax  
							
							
							
						 
						
							2009-09-02 06:22:37 -05:00  
				
					
						
							
							
								 
						
							
							
								0db01f6d5f 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.linear-scan now supports partial sync-points where all registers are spilled; taking advantage of this, there are new trigonometric intrinsics which yield a 2x performance boost on benchmark.struct-arrays and a 25% boost on benchmark.partial-sums  
							
							
							
						 
						
							2009-08-30 04:52:01 -05:00  
				
					
						
							
							
								 
						
							
							
								d957ae4e44 
								
							
								 
							
						 
						
							
							
								
								Performance improvements to make struct-arrays benchmark faster  
							
							... 
							
							
							
							- improved optimization of ##unbox-any-c-ptr on ##box-displaced-alien; convert it to ##unbox-c-ptr where possible using class info stored in the ##bda instruction
- make fcos, fsin, etc inline again; everything in math.libm inline again, except for fsqrt which is an intrinsic
- convert min and max on floats to float-min and float-max
- make min and max not inline, so that the above can work
- struct-arrays: rice a bit so that more fixnums come up 
							
						 
						
							2009-08-28 05:21:16 -05:00  
				
					
						
							
							
								 
						
							
							
								21a012e3d7 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: Major restructuring -- do not compute liveness before local optimization, and instead change local optimizations to be more permissive of undefined values. Now, liveness is only computed once, after phi elimination and before register allocation. This means liveness analysis does not need to take phi nodes into account and can now use the new compiler.cfg.dataflow-analysis framework  
							
							
							
						 
						
							2009-07-22 03:08:28 -05:00  
				
					
						
							
							
								 
						
							
							
								73a2222541 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.value-numbering: branch folding  
							
							
							
						 
						
							2009-07-14 19:17:12 -05:00  
				
					
						
							
							
								 
						
							
							
								1db81da264 
								
							
								 
							
						 
						
							
							
								
								Refactoring low-level optimizer to support stack analysis pass  
							
							
							
						 
						
							2009-05-26 19:31:19 -05:00  
				
					
						
							
							
								 
						
							
							
								44bfff7c7b 
								
							
								 
							
						 
						
							
							
								
								Rename ##load-indirect to ##load-reference since this is more descriptive; value numbering doesn't assign expressions to ##load-reference nodes since this would end up folding literals which were eq? but not =  
							
							
							
						 
						
							2009-01-29 01:44:58 -06:00  
				
					
						
							
							
								 
						
							
							
								d723b69990 
								
							
								 
							
						 
						
							
							
								
								Value numbering  
							
							
							
						 
						
							2008-10-22 21:59:07 -05:00  
				
					
						
							
							
								 
						
							
							
								c0d89b061e 
								
							
								 
							
						 
						
							
							
								
								Fixing register allocator prspilling  
							
							
							
						 
						
							2008-10-19 01:10:21 -05:00