|  Daniel Ehrenberg | 02bd3d7142 | splitting generic word callsites when only one method is applicable | 2010-05-04 16:46:07 -05:00 | 
				
					
						|  Daniel Ehrenberg | 750a96935f | instance? optimizes null checks | 2010-05-04 16:46:07 -05:00 | 
				
					
						|  Daniel Ehrenberg | 24ad579631 | Merge branch 'master' of git://factorcode.org/git/factor | 2010-05-04 09:52:34 -05:00 | 
				
					
						|  Daniel Ehrenberg | 4f66732c36 | Fixing scheduling for compiler changes | 2010-05-04 09:48:16 -05:00 | 
				
					
						|  Slava Pestov | 035a2e9b63 | compiler: more tests | 2010-05-04 05:46:45 -05:00 | 
				
					
						|  Slava Pestov | 572d7f77f8 | compiler.cfg.value-numbering: don't use complex addressing modes unless architecture supports it | 2010-05-04 05:46:21 -05: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 | ea4ee4ff60 | compiler.tests: remove useless test from float tests; min and max are generic now, with methods on floats, so any potential inconsistency is gone | 2010-05-04 00:07:53 -04:00 | 
				
					
						|  Slava Pestov | ad69052a1a | compiler.cfg.value-numbering: fix typo in unit test | 2010-05-03 22:11:29 -04:00 | 
				
					
						|  Daniel Ehrenberg | b02208ceb2 | Some fixes to merge scheduling | 2010-05-03 17:54:46 -05:00 | 
				
					
						|  Daniel Ehrenberg | 277705345f | Merge branch 'master' of git://factorcode.org/git/factor into s3 Conflicts:
	basis/compiler/cfg/finalization/finalization.factor | 2010-05-03 17:29:03 -05:00 | 
				
					
						|  Slava Pestov | 4352902bb6 | compiler.cfg.empty-blocks: remove unused pass | 2010-05-03 18:23:54 -04:00 | 
				
					
						|  Slava Pestov | ca4f442eaa | compiler.cfg.alias-analysis: storing a reference into an object now merges the reference's alias class with the heap alias class | 2010-05-03 18:20:28 -04:00 | 
				
					
						|  Daniel Ehrenberg | 5509604ffe | Merge branch 'master' into s3 Conflicts:
	basis/compiler/cfg/optimizer/optimizer.factor | 2010-05-03 17:19:28 -05: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 | 9b4135713e | compiler.cfg.representations: make sure that immediate operands fit | 2010-05-03 17:34:34 -04:00 | 
				
					
						|  Slava Pestov | 86548320eb | compiler.cfg.value-numbering: fix unit test for 64-bit | 2010-05-03 17:34:33 -04:00 | 
				
					
						|  Slava Pestov | f5c5d8b44c | compiler: remove flat machine representation and generate code directly from the CFG | 2010-05-03 17:34:32 -04:00 | 
				
					
						|  Slava Pestov | 5236f327ba | compiler.cfg.debugger: add ssa. word to print IR before representation selection runs | 2010-05-03 17:34:31 -04:00 | 
				
					
						|  Slava Pestov | 0fbf454b18 | compiler.tree.propagation: fix both-fixnums? trick | 2010-05-03 17:34:30 -04:00 | 
				
					
						|  Slava Pestov | 7f6ae34d72 | Updating tests for recent compiler changes | 2010-05-03 17:34:30 -04:00 | 
				
					
						|  Slava Pestov | 38bafd2be8 | compiler.cfg.linear-scan.assignment: spill slot representation logic was backwards, just like Factor | 2010-05-03 17:34:29 -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 | 9788323d25 | compiler: add ##load-vector instruction to avoid wasting a temporary register on x86-32 | 2010-05-03 17:34:28 -04:00 | 
				
					
						|  Slava Pestov | 5979fe7f41 | compiler.cfg.copy-prop: optimistic copy propagation | 2010-05-03 17:34:26 -04:00 | 
				
					
						|  Slava Pestov | e90712b1ed | compiler.cfg: cleanup | 2010-05-03 17:34:26 -04:00 | 
				
					
						|  Slava Pestov | df86d1341f | compiler.cfg: clean up ##phi literals in tests | 2010-05-03 17:34:24 -04:00 | 
				
					
						|  Slava Pestov | ffd1844d52 | compiler.cfg.linear-scan: clean up spill slot assignment | 2010-05-03 17:34:24 -04:00 | 
				
					
						|  Slava Pestov | 65f86bfce7 | compiler.cfg.ssa.detruction: coalesce different representations in more cases | 2010-05-03 17:34:22 -04:00 | 
				
					
						|  Slava Pestov | ce73031ec3 | compiler.cfg.alias-analysis: write unit tests and fix redundant store elimination | 2010-05-03 17:34:22 -04:00 | 
				
					
						|  Slava Pestov | 33eb15bf44 | compiler.cfg.debugger: clean up and make it more flexible | 2010-05-03 17:34:22 -04:00 | 
				
					
						|  Slava Pestov | 43f269e4eb | Register allocation now uses SSA properties to coalesce values with different representations | 2010-05-03 17:34:20 -04:00 | 
				
					
						|  Slava Pestov | 9b34a4a054 | compiler.cfg: remove unused 'reps' slot from compiler.cfg, and re-organize things in preparation for SSA register allocation | 2010-05-03 17:34:18 -04:00 | 
				
					
						|  Slava Pestov | 43fc230c69 | compiler.cfg.linear-scan: cleanups | 2010-05-03 17:34:18 -04:00 | 
				
					
						|  Slava Pestov | d23bb19b55 | Code cleanups | 2010-05-03 17:34:17 -04:00 | 
				
					
						|  Slava Pestov | c55a6bb385 | compiler.cfg.gc-checks: move phi instructions into GC check block, to ensure correct behavior | 2010-05-03 17:34:17 -04:00 | 
				
					
						|  Slava Pestov | 95ff5ffe51 | New GC checks work in progress | 2010-05-03 17:34:16 -04:00 | 
				
					
						|  Slava Pestov | 4d749c9dfe | compiler.tree.propagation: fix tests | 2010-05-03 17:34:14 -04:00 | 
				
					
						|  Slava Pestov | 9c44dddf97 | compiler.codegen: cleanup | 2010-05-03 17:34:14 -04:00 | 
				
					
						|  Slava Pestov | db7403d697 | compiler.cfg.linear-scan.resolve: fix incorrect behavior when one physical register is used with several representations in the same register class | 2010-05-03 17:34:14 -04:00 | 
				
					
						|  Slava Pestov | 51b13ce373 | compiler.cfg.linear-scan: don't insert a _reload if the register is going to be overwritten anyway | 2010-05-03 17:34:14 -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 | 458fd007be | compiler.cfg.representations: simplify a little | 2010-05-03 17:34:11 -04:00 | 
				
					
						|  Slava Pestov | ed8c32989f | compiler.cfg.representations: add peephole optimizations for integer comparisons | 2010-05-03 17:34:11 -04:00 | 
				
					
						|  Slava Pestov | 0f5d9974a0 | compiler.cfg.representations: fix various bugs | 2010-05-03 17:34:11 -04:00 | 
				
					
						|  Slava Pestov | 456743a6ce | compiler.cfg.representations: add more peephole optimizations to reduce fixnum tagging and untagging overhead | 2010-05-03 17:34:11 -04:00 | 
				
					
						|  Slava Pestov | a141df595b | compiler.cfg.value-numbering: more cleanups | 2010-05-03 17:34:10 -04:00 | 
				
					
						|  Slava Pestov | ef8094e3b3 | compiler.cfg.value-numbering: identify VNs with their representative vregs, eliminating the vn>vreg hash | 2010-05-03 17:34:10 -04:00 | 
				
					
						|  Slava Pestov | edaf59bf46 | compiler.cfg.value-numbering: maintain a VN to instruction mapping. This eliminates all instances of expression inspection, allowing the auto-generated expression classes to be removed | 2010-05-03 17:34:09 -04:00 | 
				
					
						|  Slava Pestov | f548a08637 | compiler.cfg.value-numbering: remove constant -vs- literal distinction | 2010-05-03 17:34:09 -04:00 |