Joe Groff
							
						 
						
							 
							
							
							
								
							
								d9293337bb 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.64.bootstrap: save all the regs on signal  
							
							 
							
							... 
							
							
							
							Appears to fix another sporadic crash from mason on x86-64. There's no reason to cut corners here, really. 
							
						 
						
							2011-11-04 10:01:56 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								1bc623167f 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.bootstrap: don't safepoint in a safepoint  
							
							 
							
							... 
							
							
							
							Safepointing in the signal-handler primitive causes a crash if the safepoint is guarded and the signal being handled was raised by a safepoint. Put our own RET in the subprimitive to bail out before the standard epilog gets written out. This tentatively appears to fix  #349 . 
							
						 
						
							2011-11-03 20:19:38 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								e201f3562f 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.32.bootstrap: typo  
							
							 
							
							
							
						 
						
							2011-11-03 13:07:13 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								6bb46a3f1e 
								
							
								 
							
						 
						
							
							
								
								vm: always generate safepoints in jit  
							
							 
							
							... 
							
							
							
							Even if there's no stack frame we still need to safepoint before leaving the function. Fixes  #332 . 
							
						 
						
							2011-11-03 11:57:43 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								8cf18d1a82 
								
							
								 
							
						 
						
							
							
								
								remove BSD,solaris,etc. misc platform support code  
							
							 
							
							
							
						 
						
							2011-11-02 17:13:51 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								252915a37c 
								
							
								 
							
						 
						
							
							
								
								fix platform dependency in leaf-signal-handler  
							
							 
							
							
							
						 
						
							2011-11-02 13:23:12 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								9f6f36fdec 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.bootstrap: simplify leaf-signal-handler  
							
							 
							
							... 
							
							
							
							We can use RET (stack-frame-size - cell) instead of doing stack gymnastics. 
							
						 
						
							2011-11-02 13:23:08 -07:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								94db86a6db 
								
							
								 
							
						 
						
							
							
								
								Make "foo.private" require load foo instead.  
							
							 
							
							... 
							
							
							
							Move require from vocabs.loader to vocabs. Update everything.
Fixes  #201 . 
							
						 
						
							2011-11-02 11:50:03 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								2d5360778f 
								
							
								 
							
						 
						
							
							
								
								cleanups from code review  
							
							 
							
							
							
						 
						
							2011-10-27 21:18:23 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								c70a1004f8 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.64: also must save ctx-reg  
							
							 
							
							
							
						 
						
							2011-10-27 21:18:21 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								ff2d480d98 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.32: update for resumable signal handlers  
							
							 
							
							
							
						 
						
							2011-10-27 21:18:19 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								d6eae2f42d 
								
							
								 
							
						 
						
							
							
								
								vm: suppress signal-handler stack frame generation  
							
							 
							
							... 
							
							
							
							This is a hack; see #295  
							
						 
						
							2011-10-27 21:18:19 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								402e1155a5 
								
							
								 
							
						 
						
							
							
								
								vm: resumably handle signals from leaf procedures  
							
							 
							
							
							
						 
						
							2011-10-27 21:18:18 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								1386212d23 
								
							
								 
							
						 
						
							
							
								
								vm: dispatch signal handlers through subprimitive  
							
							 
							
							... 
							
							
							
							We also need to save C ABI volatile registers before calling the signal handler in order to be able to reliably resume. Add signal-handler and leaf-signal-handler subprimitives to preserve volatile registers before invoking the signal handler C function. 
							
						 
						
							2011-10-27 21:18:18 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								68518e741e 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.(32,64).bootstrap: get rid of PUSH malarky  
							
							 
							
							... 
							
							
							
							In the function prologue, move the stack pointer once after the stack frame is set up instead of PUSHing the stack frame piece by piece. 
							
						 
						
							2011-10-27 21:14:50 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								0c022f2454 
								
							
								 
							
						 
						
							
							
								
								compiler: add ##safepoint IR insn  
							
							 
							
							
							
						 
						
							2011-10-27 21:14:46 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								ae1a903c4e 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.assembler: add MOVABS instruction  
							
							 
							
							... 
							
							
							
							MOVABS generates the one-byte opcode version of MOV eAX, [absolute] or MOV [absolute], eAX, which saves a byte per safepoint on x86-32. 
							
						 
						
							2011-10-27 21:14:45 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								4be5eadb34 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.bootstrap: add safepoint to jit-epilog  
							
							 
							
							
							
						 
						
							2011-10-27 21:14:45 -07:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								d5dc5cfa2c 
								
							
								 
							
						 
						
							
							
								
								Fix 32bit platform bootstrap  
							
							 
							
							
							
						 
						
							2011-10-24 16:24:01 -07:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								0d059e0f19 
								
							
								 
							
						 
						
							
							
								
								Found a few more places to use lookup-c-type  
							
							 
							
							
							
						 
						
							2011-10-24 15:58:40 -07:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								ff69e2f240 
								
							
								 
							
						 
						
							
							
								
								Rename c-type to lookup-c-type.  Fixes   #230 .  
							
							 
							
							
							
						 
						
							2011-10-24 14:37:24 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f8e475485a 
								
							
								 
							
						 
						
							
							
								
								Add RT_INLINE_CACHE_MISS relocation type to avoid frequent dlsym lookups when compiling PICs.  Fixes   #123  
							
							 
							
							
							
						 
						
							2011-10-03 00:26:21 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								05f7419f2f 
								
							
								 
							
						 
						
							
							
								
								Rework non-optimizing compiler backend to use compiler.codegen.relocation  
							
							 
							
							
							
						 
						
							2011-10-03 00:26:21 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b89e9a549b 
								
							
								 
							
						 
						
							
							
								
								Split up compiler.codegen.fixup into compiler.codegen.{gc-maps,labels,relocation}  
							
							 
							
							
							
						 
						
							2011-10-03 00:25:47 -07:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								671f19d70f 
								
							
								 
							
						 
						
							
							
								
								Remove all non-core uses of (scan-token)  
							
							 
							
							... 
							
							
							
							Add scan-datum
Add scan-number
Document more words
Fixes  #225 . 
							
						 
						
							2011-10-02 12:00:08 -07:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								bf2a96e9e0 
								
							
								 
							
						 
						
							
							
								
								Remove Windows CE from core/ basis/ and build-support/  
							
							 
							
							... 
							
							
							
							Rename the winnt singleton to windows in core/ basis/ extra/
Rename boot images winnt -> windows
Fixes  #84 . 
							
						 
						
							2011-09-18 23:19:06 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								69419dba26 
								
							
								 
							
						 
						
							
							
								
								cpu.ppc: add 'not loaded' tags so that load-all doesn't break an x86 image  
							
							 
							
							
							
						 
						
							2011-08-24 23:52:02 -07:00  
						
					 
				
					
						
							
							
								 
								Erik Charlebois
							
						 
						
							 
							
							
							
								
							
								64252dbdbc 
								
							
								 
							
						 
						
							
							
								
								32 and 64 bit Linux PPC support  
							
							 
							
							
							
						 
						
							2011-05-23 23:36:14 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								75560699ea 
								
							
								 
							
						 
						
							
							
								
								Move <ref>, deref and little-endian? from alien.c-types to alien.data, remove <c-object>  
							
							 
							
							
							
						 
						
							2010-12-25 16:55:36 -08:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								67c37591ca 
								
							
								 
							
						 
						
							
							
								
								Remove <uint> *uint and friends.  Hopefully remove the last usages of these words  
							
							 
							
							
							
						 
						
							2010-10-25 15:54:42 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6b5fffc026 
								
							
								 
							
						 
						
							
							
								
								compiler: preliminary implementation of tracking derived pointers in GC maps  
							
							 
							
							
							
						 
						
							2010-09-27 20:12:44 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d2cf2d8f92 
								
							
								 
							
						 
						
							
							
								
								Rename get-fpu-state entry point to fpu-state, and fix stack-checker unit tests  
							
							 
							
							
							
						 
						
							2010-09-04 12:58:59 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								cdc9538540 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.64: fix bootstrap  
							
							 
							
							
							
						 
						
							2010-09-02 21:17:14 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1818bcb780 
								
							
								 
							
						 
						
							
							
								
								Fix three problems discovered by running math.floats.env tests in a loop:  
							
							 
							
							... 
							
							
							
							- Crash if allocating error triggers a GC from a signal/SEH handler
- Crash if GC runs with floating point traps enabled on Windows
- Floating point traps didn't prettyprint properly 
							
						 
						
							2010-09-02 22:57:14 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2abda04743 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.32: commit  05ba77262a only fixed the start-context-and-delete callframe leak on x86-64. Fix it on x86-32 and add a regression test  
							
							 
							
							
							
						 
						
							2010-08-22 19:30:54 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d2dd184d58 
								
							
								 
							
						 
						
							
							
								
								Officially drop PowerPC port  
							
							 
							
							
							
						 
						
							2010-08-15 20:10:11 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								9472c866da 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.64: rescue from the perils of cut and paste code (fix bug reported by x6j8x)  
							
							 
							
							
							
						 
						
							2010-08-14 09:14:22 -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
							
						 
						
							 
							
							
							
								
							
								42b858b3f0 
								
							
								 
							
						 
						
							
							
								
								math.libm: fix regression: fsqrt intrinsic was not working ever since change was made to inline FUNCTION: bodies  
							
							 
							
							
							
						 
						
							2010-08-12 21:41:57 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b346cbd6b0 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.32: fix 32-bit bootstrap  
							
							 
							
							
							
						 
						
							2010-08-02 20:51:29 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								451237a028 
								
							
								 
							
						 
						
							
							
								
								Fix start-context-and-delete sub-primitive (reported by Sascha Matzke)  
							
							 
							
							
							
						 
						
							2010-08-02 20:28:23 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f2646fc92c 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: save context before calling new_context() since it can trigger GC (bug reported by Sascha Matzke)  
							
							 
							
							
							
						 
						
							2010-07-30 01:07:53 -04: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
							
						 
						
							 
							
							
							
								
							
								0fbe78be00 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.64: fix calling varargs functions  
							
							 
							
							
							
						 
						
							2010-07-19 16:03:39 -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
							
						 
						
							 
							
							
							
								
							
								5e13318988 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.32: fix %binary-float-function  
							
							 
							
							
							
						 
						
							2010-07-15 03:09:06 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e7191998f8 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.64: fix typos  
							
							 
							
							
							
						 
						
							2010-07-14 17:59:51 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								867530223c 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: fix %load/store-stack-param for 32-bit  
							
							 
							
							
							
						 
						
							2010-07-14 17:50:40 -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  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								732befe272 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.assembler: add MOVQ xmm, xmm/m64 and MOVQ xmm/m64, xmm instructions  
							
							 
							
							
							
						 
						
							2010-07-08 10:19:11 -07: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
							
						 
						
							 
							
							
							
								
							
								70b8a74208 
								
							
								 
							
						 
						
							
							
								
								vm: have to be extra careful when messing with return addresses  
							
							 
							
							
							
						 
						
							2010-06-13 18:12:57 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3f28c0e7f5 
								
							
								 
							
						 
						
							
							
								
								vm: context switching needs to scrub the return address  
							
							 
							
							
							
						 
						
							2010-06-12 19:54:31 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8ed4760b51 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: combine 32-bit and 64-bit %dispatch template  
							
							 
							
							
							
						 
						
							2010-06-11 21:52:38 -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
							
						 
						
							 
							
							
							
								
							
								48f87e03e3 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: fix callbacks receiving stack parameters on Win64  
							
							 
							
							
							
						 
						
							2010-05-23 23:08:07 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c9ad0856d5 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.64: callback prologue was clobbering 5th parameter register on x86-64  
							
							 
							
							
							
						 
						
							2010-05-23 03:00:53 -04: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
							
						 
						
							 
							
							
							
								
							
								9730ec1707 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.32: fix load error  
							
							 
							
							
							
						 
						
							2010-05-19 01:29:52 -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
							
						 
						
							 
							
							
							
								
							
								b67080b69d 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.assembler: drop useless ST0 operand from some x87 instructions  
							
							 
							
							
							
						 
						
							2010-05-18 19:37:59 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								11511167e2 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.x87: compares were clobbering ST0  
							
							 
							
							
							
						 
						
							2010-05-18 19:18:53 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2dde83767c 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.assembler: fix typo  
							
							 
							
							
							
						 
						
							2010-05-18 17:59:34 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0aa6ae0feb 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.x87: use FISTPD to convert floats to integers, instead of the SSE3 instruction FISTTPD  
							
							 
							
							
							
						 
						
							2010-05-18 17:10:58 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f5a951801e 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.assembler: AH CH DH BH register operands now work properly  
							
							 
							
							
							
						 
						
							2010-05-18 17:10:32 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3104ad779a 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.64: call check-sse to ensure that cpu.x86.sse is loaded  
							
							 
							
							
							
						 
						
							2010-05-17 11:43:42 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								6eaf2d7534 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: add x87 codegen for Model T enthusiasts  
							
							 
							
							
							
						 
						
							2010-05-17 11:35:47 -04:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								93abc7d169 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.assembler: a choice selection of x87 instructions  
							
							 
							
							
							
						 
						
							2010-05-17 02:02:40 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								db5b33977b 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.32: clean up %unary/binary-float-function  
							
							 
							
							
							
						 
						
							2010-05-17 04:03:13 -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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8ebecac4d2 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							 
							
							
							
						 
						
							2010-05-16 04:10:03 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e6abc0be15 
								
							
								 
							
						 
						
							
							
								
								Fixes for FFI changes  
							
							 
							
							
							
						 
						
							2010-05-16 04:09:47 -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
							
						 
						
							 
							
							
							
								
							
								7c0cd6dc37 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: fix bootstrap load error  
							
							 
							
							
							
						 
						
							2010-05-15 15:28:22 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								3de020c18a 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: don't enable bit-count intrinsic by default  
							
							 
							
							
							
						 
						
							2010-05-15 14:52:00 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								3956dd1516 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.features: ( int alien-assembly ) c-bool> ==> ( bool alien-assembly )  
							
							 
							
							
							
						 
						
							2010-05-15 14:33:19 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								009408dd11 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: enable bit-count intrinsic if POPCNT available  
							
							 
							
							
							
						 
						
							2010-05-15 14:00:12 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								7fec53b509 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.instructions: ##bit-count insn  
							
							 
							
							
							
						 
						
							2010-05-15 13:57:35 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								c00272d80a 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.features: add popcnt? test  
							
							 
							
							
							
						 
						
							2010-05-15 13:26:14 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								d5b7ec3348 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.assembler: SETcc instructions  
							
							 
							
							
							
						 
						
							2010-05-15 13:14:27 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								986ed057d8 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.assembler: BT family instructions  
							
							 
							
							
							
						 
						
							2010-05-15 13:08:22 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								62eadda2aa 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.bootstrap: use TEST instruction  
							
							 
							
							
							
						 
						
							2010-05-14 18:37:10 -04: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
							
						 
						
							 
							
							
							
								
							
								4a98278720 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.32: check for SSE2 on bootstrap since Factor now requires it  
							
							 
							
							
							
						 
						
							2010-05-13 18:25:46 -04: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
							
						 
						
							 
							
							
							
								
							
								1c76c87c5c 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.64: fix typo  
							
							 
							
							
							
						 
						
							2010-05-11 22:29:46 -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
							
						 
						
							 
							
							
							
								
							
								423f9c607a 
								
							
								 
							
						 
						
							
							
								
								cpu.ppc: fixes  
							
							 
							
							
							
						 
						
							2010-05-10 17:50:10 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9321f9378a 
								
							
								 
							
						 
						
							
							
								
								cpu.ppc: update for recent changes -- untested  
							
							 
							
							
							
						 
						
							2010-05-10 02:21:23 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								45689dbfe6 
								
							
								 
							
						 
						
							
							
								
								compiler: simplify ##unbox-small/large-struct by emitting an ##unbox-any-c-ptr first  
							
							 
							
							
							
						 
						
							2010-05-10 01:38:34 -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
							
						 
						
							 
							
							
							
								
							
								7450dcf9ff 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.32: fix load error  
							
							 
							
							
							
						 
						
							2010-05-09 23:36:57 -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
							
						 
						
							 
							
							
							
								
							
								2912f21acc 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.64.unix: fix load error  
							
							 
							
							
							
						 
						
							2010-05-09 22:15:14 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								839e26de3a 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.32: fix load error  
							
							 
							
							
							
						 
						
							2010-05-09 21:55:21 -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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f988dad79c 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: add ##load-float instruction for single precision floating point constants  
							
							 
							
							
							
						 
						
							2010-05-07 18:26:00 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								627295f094 
								
							
								 
							
						 
						
							
							
								
								Language change: tuple slot setter words with stack effect ( value object -- ) are now named FOO<< instead of (>>FOO)  
							
							 
							
							
							
						 
						
							2010-05-06 17:21:02 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								020c011d00 
								
							
								 
							
						 
						
							
							
								
								cpu.ppc: add missing cases to ##load/store-memory instructions  
							
							 
							
							
							
						 
						
							2010-05-05 13:37:25 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								aaa706dd29 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.32: fix load error  
							
							 
							
							
							
						 
						
							2010-05-05 02:54:48 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e763c74096 
								
							
								 
							
						 
						
							
							
								
								More FFI cleanups  
							
							 
							
							
							
						 
						
							2010-05-05 01:13:45 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f3ea9288df 
								
							
								 
							
						 
						
							
							
								
								cpu.ppc: updating optimizing compiler backend for recent changes  
							
							 
							
							
							
						 
						
							2010-05-04 05:51:54 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								92a4b5ec7b 
								
							
								 
							
						 
						
							
							
								
								cpu.ppc.assembler: new opcodes: LFDUX LFDX LFSUX LFSX STFDUX STFDX STFSUX STFSX  
							
							 
							
							
							
						 
						
							2010-05-04 05:47:21 -05:00  
						
					 
				
					
						
							
							
								 
								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
							
						 
						
							 
							
							
							
								
							
								86d89f3ff7 
								
							
								 
							
						 
						
							
							
								
								cpu.ppc: fixing typos in non-optimizing backend  
							
							 
							
							
							
						 
						
							2010-05-03 22:43:51 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								652c4c28c6 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.assembler: fix test on 64-bit  
							
							 
							
							
							
						 
						
							2010-05-03 20:16:13 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bb3cea31ea 
								
							
								 
							
						 
						
							
							
								
								cpu.ppc: updates for recent compiler changes, untested  
							
							 
							
							
							
						 
						
							2010-05-03 18:28:31 -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
							
						 
						
							 
							
							
							
								
							
								f5c5d8b44c 
								
							
								 
							
						 
						
							
							
								
								compiler: remove flat machine representation and generate code directly from the CFG  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:32 -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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								43f269e4eb 
								
							
								 
							
						 
						
							
							
								
								Register allocation now uses SSA properties to coalesce values with different representations  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:20 -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
							
						 
						
							 
							
							
							
								
							
								a9ccfa8f05 
								
							
								 
							
						 
						
							
							
								
								strings: move string-nth primitive out of the VM and into the library  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:12 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0f5d9974a0 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.representations: fix various bugs  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:11 -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
							
						 
						
							 
							
							
							
								
							
								2ce926594d 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.value-numbering: new optimizations; reassociation for shifts and redistribution for shifts/multiplies over additions/subtractions  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:02 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								82fb1879af 
								
							
								 
							
						 
						
							
							
								
								Debugging untagged fixnums  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:02 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5d3a7a7362 
								
							
								 
							
						 
						
							
							
								
								Untagged fixnums work in progress  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:02 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								503c0fcfde 
								
							
								 
							
						 
						
							
							
								
								compiler: Start using tagged-rep for stuff, and split up compiler.cfg.representations into several sub-vocabularies  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:01 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d88aeb80d9 
								
							
								 
							
						 
						
							
							
								
								cpu.ppc: fix breakage caused by ##compare-imm change  
							
							 
							
							
							
						 
						
							2010-04-19 01:40:16 -05: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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								da6bcbedfc 
								
							
								 
							
						 
						
							
							
								
								Replace 'untested' tag with 'not loaded' and 'not tested' tags  
							
							 
							
							
							
						 
						
							2010-04-13 18:43:01 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								67e24b1d2a 
								
							
								 
							
						 
						
							
							
								
								compiler.codegen: need to do name decoration with fastcall as well  
							
							 
							
							
							
						 
						
							2010-04-12 18:10:25 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2712496880 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.32: fastcall struct returns are different on Linux than everywhere else for some unknown reason  
							
							 
							
							
							
						 
						
							2010-04-12 18:44:02 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1434a305c8 
								
							
								 
							
						 
						
							
							
								
								vm: add a new rc-absolute-1 relocation class to allow storing values in 8-bit operands, and optimized code sequences for inline caches using this  
							
							 
							
							
							
						 
						
							2010-04-12 14:22:41 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0202c35d2a 
								
							
								 
							
						 
						
							
							
								
								alien: now that fastcall works better it doesn't need to be private  
							
							 
							
							
							
						 
						
							2010-04-10 16:57:07 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ed40eb4239 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.32: cleanups and fixes to make fastcall and thiscall callbacks work  
							
							 
							
							
							
						 
						
							2010-04-10 16:54:17 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								46a1fb2646 
								
							
								 
							
						 
						
							
							
								
								Merge remote branch 'origin/abi-symbols' into fastcall-madness  
							
							 
							
							
							
						 
						
							2010-04-10 00:10:33 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f828f9fdaa 
								
							
								 
							
						 
						
							
							
								
								Fiddle with register assignments in non-optimizing x86-32 backend  
							
							 
							
							
							
						 
						
							2010-04-10 00:10:05 -07: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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								430a05dcea 
								
							
								 
							
						 
						
							
							
								
								Store stack bounds in TIB on win64 to make C++ exceptions work  
							
							 
							
							
							
						 
						
							2010-04-05 19:07:10 -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
							
						 
						
							 
							
							
							
								
							
								b16d91576c 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.64: fix typo that caused bootstrap crash  
							
							 
							
							
							
						 
						
							2010-04-03 21:11:04 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								74640b7f71 
								
							
								 
							
						 
						
							
							
								
								Get green threads working on Windows  
							
							 
							
							... 
							
							
							
							- store stack base and limit in TIB
- set up a frame-based structured exception handler in each context's callstack
- boot.x86.32.image has now been replaced by boot.winnt-x86.32.image and boot.unix-x86.32.image 
							
						 
						
							2010-04-03 20:24:33 -04:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								2c3fde412a 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.32: add load-return-regs methods for stack-params so callbacks can box the struct return pointer  
							
							 
							
							
							
						 
						
							2010-04-01 22:01:10 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0faa3bcf4a 
								
							
								 
							
						 
						
							
							
								
								vm: pre-allocate context alien  
							
							 
							
							
							
						 
						
							2010-04-02 00:02:21 -04:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								88fbcba067 
								
							
								 
							
						 
						
							
							
								
								flatten non-integral types to (stack-value) on x86.32  
							
							 
							
							
							
						 
						
							2010-04-01 20:56:43 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								044171e6b9 
								
							
								 
							
						 
						
							
							
								
								cpu.ppc: fix optimizing compiler backend  
							
							 
							
							
							
						 
						
							2010-04-01 21:41:13 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								2cab0bb86c 
								
							
								 
							
						 
						
							
							
								
								cpu.ppc: stick old stack pointer in a register for use by callbacks  
							
							 
							
							
							
						 
						
							2010-04-01 22:39:46 -04:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								553b9fcd93 
								
							
								 
							
						 
						
							
							
								
								make "fastcall" symbol private since it doesn't really work in all cases  
							
							 
							
							
							
						 
						
							2010-04-01 18:34: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  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								ef884ef7f2 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' into abi-symbols  
							
							 
							
							
							
						 
						
							2010-04-01 15:28:36 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								615c64443b 
								
							
								 
							
						 
						
							
							
								
								update M\ int-regs param-regs for x86-32 to give input regs for thiscall/fastcall  
							
							 
							
							
							
						 
						
							2010-04-01 03:35:37 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								4fd61f0b5c 
								
							
								 
							
						 
						
							
							
								
								cpu.architecture: alter param-regs to take abi as an (ignored for now) argument  
							
							 
							
							
							
						 
						
							2010-04-01 02:53:40 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1f9fbd22eb 
								
							
								 
							
						 
						
							
							
								
								cpu.ppc: updating optimizing compiler backend for recent changes (untested)  
							
							 
							
							
							
						 
						
							2010-04-01 00:22:10 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1e1425a6e1 
								
							
								 
							
						 
						
							
							
								
								cpu.ppc: non-optimizing compiler backend fixes  
							
							 
							
							
							
						 
						
							2010-04-01 00:21:41 -04:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								6805dc6401 
								
							
								 
							
						 
						
							
							
								
								remove redundant «stdcall?» word from cpu.x86.32  
							
							 
							
							
							
						 
						
							2010-03-31 19:57:29 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								f3dd625de6 
								
							
								 
							
						 
						
							
							
								
								"stdcall" -> stdcall  
							
							 
							
							
							
						 
						
							2010-03-31 19:29:04 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								a6ee4232bb 
								
							
								 
							
						 
						
							
							
								
								"mingw" -> mingw  
							
							 
							
							
							
						 
						
							2010-03-31 19:28:11 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								65c3259761 
								
							
								 
							
						 
						
							
							
								
								"cdecl" -> cdecl  
							
							 
							
							
							
						 
						
							2010-03-31 19:20:35 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7d24459bb8 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.assembler: add segment override prefixes  
							
							 
							
							
							
						 
						
							2010-03-31 20:47:13 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ef53e6ecd5 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.64: eliminate useless instruction from primitive call sequence for a marginal to non-existent gain  
							
							 
							
							
							
						 
						
							2010-03-31 19:32:36 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4b1361833e 
								
							
								 
							
						 
						
							
							
								
								cpu.ppc: updating non-optimizing compiler backend for green threads (untested)  
							
							 
							
							
							
						 
						
							2010-03-31 15:19:14 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								8f0487f1c3 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: remove useless crap from c-to-factor sub-primitive  
							
							 
							
							
							
						 
						
							2010-03-31 15:19:00 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								fb2ecab614 
								
							
								 
							
						 
						
							
							
								
								threads: delete old contexts immediately instead of handing them off to a 'context recycler' thread  
							
							 
							
							
							
						 
						
							2010-03-30 21:47:48 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e859a32096 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.bootstrap: fix jit-profiling regression  
							
							 
							
							
							
						 
						
							2010-03-28 08:29:55 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								b6dfdcb909 
								
							
								 
							
						 
						
							
							
								
								set-context and start-context primitives can now pass parameters around  
							
							 
							
							
							
						 
						
							2010-03-27 08:13:57 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								1717b8d0f7 
								
							
								 
							
						 
						
							
							
								
								Implement start-context and set-context primitives  
							
							 
							
							
							
						 
						
							2010-03-27 02:56:11 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								560c119cd2 
								
							
								 
							
						 
						
							
							
								
								vm: actually use context callstacks when running code  
							
							 
							
							
							
						 
						
							2010-03-26 22:44:43 -04:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f9d6191c4b 
								
							
								 
							
						 
						
							
							
								
								cpu.ppc: fix string c-type usage  
							
							 
							
							
							
						 
						
							2010-02-22 13:18:45 +13: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
							
						 
						
							 
							
							
							
								
							
								a3b74d88c9 
								
							
								 
							
						 
						
							
							
								
								cpu.architecture: rep-length now works in deployed images  
							
							 
							
							
							
						 
						
							2010-02-11 18:11:47 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								d5a25f99bf 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.64: inline cache miss blocks have a prolog generated in the middle of a procedure; undo a recent change to non-optimizing backend to fix random crashes  
							
							 
							
							
							
						 
						
							2010-02-06 18:45:27 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								daefa86b6d 
								
							
								 
							
						 
						
							
							
								
								cpu.ppc: needs same fix for jit-profiling as on x86-64  
							
							 
							
							
							
						 
						
							2010-02-06 18:45:26 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								aa3d65272a 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: fix crashes when using certain features (threads, errors, etc) with profiling enabled on x86-64. The profiling stub was clobbering an argument for the unwind_native_frames() entry point  
							
							 
							
							
							
						 
						
							2010-02-05 20:52:19 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								034cf391b1 
								
							
								 
							
						 
						
							
							
								
								cpu.ppc: final fix  
							
							 
							
							
							
						 
						
							2010-02-03 13:37:12 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5fbb8c8bc7 
								
							
								 
							
						 
						
							
							
								
								cpu.ppc: another fix  
							
							 
							
							
							
						 
						
							2010-02-04 08:19:59 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								50c2a5ae84 
								
							
								 
							
						 
						
							
							
								
								cpu.ppc: load fixes  
							
							 
							
							
							
						 
						
							2010-02-04 08:08:31 +13: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
							
						 
						
							 
							
							
							
								
							
								bf05a901c4 
								
							
								 
							
						 
						
							
							
								
								Fix ffi-test library to work with Windows SDK. Turns out MINGW has a different ABI for struct returns than MS's compiler; make the MS ABI the default for cdecl on Windows, and add mingw ABI for libraries that use the MINGW ABI  
							
							 
							
							
							
						 
						
							2010-02-02 04:01:12 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								942f6e0943 
								
							
								 
							
						 
						
							
							
								
								Update Win64 support  
							
							 
							
							
							
						 
						
							2010-01-25 15:39:34 +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
							
						 
						
							 
							
							
							
								
							
								5606825e8b 
								
							
								 
							
						 
						
							
							
								
								vm: remove primitive table, non-optimizing compiler now looks up primitives with dlsym()  
							
							 
							
							
							
						 
						
							2010-01-19 20:00:33 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								637a77c018 
								
							
								 
							
						 
						
							
							
								
								Stop wearing monocle and use the term "entry point" instead of "XT" throughout VM and compiler; also remove two unused relocation types  
							
							 
							
							
							
						 
						
							2010-01-18 20:54:00 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7bf76b9f13 
								
							
								 
							
						 
						
							
							
								
								PowerPC optimizing compiler backend fixes  
							
							 
							
							
							
						 
						
							2010-01-12 08:02:10 -06:00