d2cf2d8f92 
								
							
								 
							
						 
						
							
							
								
								Rename get-fpu-state entry point to fpu-state, and fix stack-checker unit tests  
							
							
							
						 
						
							2010-09-04 12:58:59 -07:00  
				
					
						
							
							
								 
						
							
							
								cdc9538540 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.64: fix bootstrap  
							
							
							
						 
						
							2010-09-02 21:17:14 -07:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								d2dd184d58 
								
							
								 
							
						 
						
							
							
								
								Officially drop PowerPC port  
							
							
							
						 
						
							2010-08-15 20:10:11 -07:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								b346cbd6b0 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.32: fix 32-bit bootstrap  
							
							
							
						 
						
							2010-08-02 20:51:29 -04:00  
				
					
						
							
							
								 
						
							
							
								451237a028 
								
							
								 
							
						 
						
							
							
								
								Fix start-context-and-delete sub-primitive (reported by Sascha Matzke)  
							
							
							
						 
						
							2010-08-02 20:28:23 -04:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								168dd1f825 
								
							
								 
							
						 
						
							
							
								
								FFI rewrite part 7: compile callback bodies with the optimizing compiler  
							
							
							
						 
						
							2010-07-28 00:49:26 -04:00  
				
					
						
							
							
								 
						
							
							
								0fbe78be00 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.64: fix calling varargs functions  
							
							
							
						 
						
							2010-07-19 16:03:39 -04:00  
				
					
						
							
							
								 
						
							
							
								b23aac1beb 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: open-code parameter boxing and unboxing for certain C types  
							
							
							
						 
						
							2010-07-19 10:25:13 -04:00  
				
					
						
							
							
								 
						
							
							
								e5dd21b0b9 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: nuke ##allot-byte-array instruction  
							
							
							
						 
						
							2010-07-16 19:57:45 -04:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								5e13318988 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.32: fix %binary-float-function  
							
							
							
						 
						
							2010-07-15 03:09:06 -04:00  
				
					
						
							
							
								 
						
							
							
								e7191998f8 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.64: fix typos  
							
							
							
						 
						
							2010-07-14 17:59:51 -04:00  
				
					
						
							
							
								 
						
							
							
								867530223c 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: fix %load/store-stack-param for 32-bit  
							
							
							
						 
						
							2010-07-14 17:50:40 -04:00  
				
					
						
							
							
								 
						
							
							
								e27adb2830 
								
							
								 
							
						 
						
							
							
								
								compiler: re-architect low-level optimizer to allow more than one output value per instruction  
							
							
							
						 
						
							2010-07-13 07:40:14 -04:00  
				
					
						
							
							
								 
						
							
							
								732befe272 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.assembler: add MOVQ xmm, xmm/m64 and MOVQ xmm/m64, xmm instructions  
							
							
							
						 
						
							2010-07-08 10:19:11 -07:00  
				
					
						
							
							
								 
						
							
							
								a55c8ee671 
								
							
								 
							
						 
						
							
							
								
								FFI rewrite part 6: deconcatenatize  
							
							
							
						 
						
							2010-07-02 15:44:12 -04:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								70b8a74208 
								
							
								 
							
						 
						
							
							
								
								vm: have to be extra careful when messing with return addresses  
							
							
							
						 
						
							2010-06-13 18:12:57 -04:00  
				
					
						
							
							
								 
						
							
							
								3f28c0e7f5 
								
							
								 
							
						 
						
							
							
								
								vm: context switching needs to scrub the return address  
							
							
							
						 
						
							2010-06-12 19:54:31 -04:00  
				
					
						
							
							
								 
						
							
							
								8ed4760b51 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: combine 32-bit and 64-bit %dispatch template  
							
							
							
						 
						
							2010-06-11 21:52:38 -04:00  
				
					
						
							
							
								 
						
							
							
								806e54630a 
								
							
								 
							
						 
						
							
							
								
								GC maps for more compact inline GC checks  
							
							
							
						 
						
							2010-06-11 20:06:00 -04:00  
				
					
						
							
							
								 
						
							
							
								7fe04fa8ee 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.intrinsics.simd: intrinsic support for double-2>float-4 conversion  
							
							
							
						 
						
							2010-06-01 00:34:50 -07:00  
				
					
						
							
							
								 
						
							
							
								48f87e03e3 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: fix callbacks receiving stack parameters on Win64  
							
							
							
						 
						
							2010-05-23 23:08:07 -04:00  
				
					
						
							
							
								 
						
							
							
								c9ad0856d5 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.64: callback prologue was clobbering 5th parameter register on x86-64  
							
							
							
						 
						
							2010-05-23 03:00:53 -04:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								9730ec1707 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.32: fix load error  
							
							
							
						 
						
							2010-05-19 01:29:52 -04:00  
				
					
						
							
							
								 
						
							
							
								91cd3b854d 
								
							
								 
							
						 
						
							
							
								
								Use ##local-allot to simplify longlong unboxing  
							
							
							
						 
						
							2010-05-19 01:07:22 -04:00  
				
					
						
							
							
								 
						
							
							
								77516c6932 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: generalize ##prepare-struct-caller instruction to alloca()-like ##local-allot  
							
							
							
						 
						
							2010-05-19 00:33:15 -04:00  
				
					
						
							
							
								 
						
							
							
								b67080b69d 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.assembler: drop useless ST0 operand from some x87 instructions  
							
							
							
						 
						
							2010-05-18 19:37:59 -04:00  
				
					
						
							
							
								 
						
							
							
								11511167e2 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.x87: compares were clobbering ST0  
							
							
							
						 
						
							2010-05-18 19:18:53 -04:00  
				
					
						
							
							
								 
						
							
							
								2dde83767c 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.assembler: fix typo  
							
							
							
						 
						
							2010-05-18 17:59:34 -04:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								f5a951801e 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.assembler: AH CH DH BH register operands now work properly  
							
							
							
						 
						
							2010-05-18 17:10:32 -04:00  
				
					
						
							
							
								 
						
							
							
								3104ad779a 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.64: call check-sse to ensure that cpu.x86.sse is loaded  
							
							
							
						 
						
							2010-05-17 11:43:42 -04:00  
				
					
						
							
							
								 
						
							
							
								6eaf2d7534 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: add x87 codegen for Model T enthusiasts  
							
							
							
						 
						
							2010-05-17 11:35:47 -04:00  
				
					
						
							
							
								 
						
							
							
								93abc7d169 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.assembler: a choice selection of x87 instructions  
							
							
							
						 
						
							2010-05-17 02:02:40 -07:00  
				
					
						
							
							
								 
						
							
							
								db5b33977b 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.32: clean up %unary/binary-float-function  
							
							
							
						 
						
							2010-05-17 04:03:13 -04:00  
				
					
						
							
							
								 
						
							
							
								7ff309d50e 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: get rid of this extra-stack-space nonsense  
							
							
							
						 
						
							2010-05-17 02:14:44 -04:00  
				
					
						
							
							
								 
						
							
							
								3f8e13bf66 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg: refactor stack frame code and fix frame pointer usage in callbacks  
							
							
							
						 
						
							2010-05-16 21:04:40 -04:00  
				
					
						
							
							
								 
						
							
							
								a7b5957f6d 
								
							
								 
							
						 
						
							
							
								
								compiler: hack to make XCreateIC() work on x86-64  
							
							
							
						 
						
							2010-05-16 04:49:53 -04:00  
				
					
						
							
							
								 
						
							
							
								8ebecac4d2 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of git://factorcode.org/git/factor  
							
							
							
						 
						
							2010-05-16 04:10:03 -04:00  
				
					
						
							
							
								 
						
							
							
								e6abc0be15 
								
							
								 
							
						 
						
							
							
								
								Fixes for FFI changes  
							
							
							
						 
						
							2010-05-16 04:09:47 -04:00  
				
					
						
							
							
								 
						
							
							
								645164188d 
								
							
								 
							
						 
						
							
							
								
								compiler.cfg.instructions: ##select-vector instruction mapping to SSE4 PEXTR*  
							
							
							
						 
						
							2010-05-16 00:50:19 -07:00