Slava Pestov
							
						 
						
							 
							
							
							
								
							
								95ff5ffe51 
								
							
								 
							
						 
						
							
							
								
								New GC checks work in progress  
							
							 
							
							
							
						 
						
							2010-05-03 17:34:16 -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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								ed40eb4239 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.32: cleanups and fixes to make fastcall and thiscall callbacks work  
							
							 
							
							
							
						 
						
							2010-04-10 16:54:17 -07:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f828f9fdaa 
								
							
								 
							
						 
						
							
							
								
								Fiddle with register assignments in non-optimizing x86-32 backend  
							
							 
							
							
							
						 
						
							2010-04-10 00:10:05 -07: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  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e859a32096 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.bootstrap: fix jit-profiling regression  
							
							 
							
							
							
						 
						
							2010-03-28 08:29:55 -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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								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
							
						 
						
							 
							
							
							
								
							
								8d34a0f3c1 
								
							
								 
							
						 
						
							
							
								
								Store VM object in a register on x86-64  
							
							 
							
							
							
						 
						
							2010-01-11 01:20:32 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								36d2ac8921 
								
							
								 
							
						 
						
							
							
								
								vm: move c_to_factor, lazy_jit_compile_impl, throw_impl, set_callstack assembly routines into non-optimizing compiler for x86-64  
							
							 
							
							
							
						 
						
							2010-01-06 15:47:36 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								ba5b90e063 
								
							
								 
							
						 
						
							
							
								
								Change how non-volatile register preservation is done in alien callbacks, with the aim of fixing callbacks on PowerPC, and to eventually eliminate assembly code from VM  
							
							 
							
							... 
							
							
							
							- Simplify calculation of offset in relocation table
- Open-code %alien-callback
- Remove magic_frame hack from context objects
- Move magical return instruction from optimizing compiler backend into callback entry stub 
							
						 
						
							2010-01-03 01:11:51 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								15eb8d1a0a 
								
							
								 
							
						 
						
							
							
								
								vm: remove VM_ASM_API  
							
							 
							
							
							
						 
						
							2009-12-24 01:37:24 +13:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c4719b7f5f 
								
							
								 
							
						 
						
							
							
								
								Fix PowerPC compiler backend for recent changes  
							
							 
							
							
							
						 
						
							2009-12-15 09:51:20 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								0068bce934 
								
							
								 
							
						 
						
							
							
								
								vm: big overhaul of non-optimizing compiler  
							
							 
							
							... 
							
							
							
							- change some primitives into sub-primitives: fixnum+ fixnum- fixnum* inline-cache-miss inline-cache-miss-tail
- rename some relocation types for clarity
- some other minor re-organizations and cleanups 
							
						 
						
							2009-12-15 07:20:09 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								68c09f0e93 
								
							
								 
							
						 
						
							
							
								
								Split literal table into literal and parameter tables, literal table is discarded after code block initialization  
							
							 
							
							
							
						 
						
							2009-12-02 04:28:15 -06:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								00ce8b6a33 
								
							
								 
							
						 
						
							
							
								
								deprimitivize tuck and put it to pasture  
							
							 
							
							
							
						 
						
							2009-11-05 22:47:05 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								e4ad642134 
								
							
								 
							
						 
						
							
							
								
								vm: 4 bit tags, new representation of alien objects makes unbox-any-c-ptr more efficient (work in progress)  
							
							 
							
							
							
						 
						
							2009-11-02 04:25:54 -06:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								7e17c3077c 
								
							
								 
							
						 
						
							
							
								
								vm: new megamorphic hashcode algorithm improves bootstrap speed  
							
							 
							
							
							
						 
						
							2009-11-02 01:37:58 -06:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								7ce4b746e5 
								
							
								 
							
						 
						
							
							
								
								parsed -> suffix!, add append!  
							
							 
							
							
							
						 
						
							2009-10-28 13:38:27 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								107c96f642 
								
							
								 
							
						 
						
							
							
								
								vm: code heap compaction at runtime using compact-gc primitive  
							
							 
							
							
							
						 
						
							2009-10-16 11:39:35 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								38d120f92e 
								
							
								 
							
						 
						
							
							
								
								vm: rt-vm relocation now supports accessing a field directly  
							
							 
							
							
							
						 
						
							2009-10-14 19:24:23 -05:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								a3c84ea278 
								
							
								 
							
						 
						
							
							
								
								x86 bootstrap cleanup: renamed arg to arg1  
							
							 
							
							
							
						 
						
							2009-09-24 08:16:57 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								465f06ebc2 
								
							
								 
							
						 
						
							
							
								
								throw_impl now forwards the vm ptr  
							
							 
							
							
							
						 
						
							2009-09-16 08:16:30 +01:00  
						
					 
				
					
						
							
							
								 
								Phil Dawes
							
						 
						
							 
							
							
							
								
							
								4afc16e95b 
								
							
								 
							
						 
						
							
							
								
								passing vm ptr to lazy_jit_compile mostly working  
							
							 
							
							
							
						 
						
							2009-09-16 08:16:30 +01:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								3f3d57032b 
								
							
								 
							
						 
						
							
							
								
								Delete empty unit tests files, remove 1- and 1+, reorder IN: lines in a lot of places, minor refactoring  
							
							 
							
							
							
						 
						
							2009-08-13 19:21:44 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								a9977d7c79 
								
							
								 
							
						 
						
							
							
								
								cpu.x86: update non-optimizing compiler backends for assembler vocab split  
							
							 
							
							
							
						 
						
							2009-07-30 02:22:37 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								63b963e12a 
								
							
								 
							
						 
						
							
							
								
								Fix x86-64 backend  
							
							 
							
							
							
						 
						
							2009-05-07 16:58:18 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								3591f6c684 
								
							
								 
							
						 
						
							
							
								
								Count megamorphic cache hits  
							
							 
							
							
							
						 
						
							2009-05-07 14:26:08 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4915e1ced7 
								
							
								 
							
						 
						
							
							
								
								Clean up bootstrap.image, and implement new calling convention for tail calls; tail call sites now have PICs  
							
							 
							
							
							
						 
						
							2009-05-06 22:04:01 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								12a34d81f7 
								
							
								 
							
						 
						
							
							
								
								JIT now supports multiple relocations per code template. This simplifies non-optimizing compiler backends  
							
							 
							
							
							
						 
						
							2009-05-06 20:04:49 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								581d017b46 
								
							
								 
							
						 
						
							
							
								
								Working on inline caching for tail call sites  
							
							 
							
							
							
						 
						
							2009-05-06 19:22:22 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c93d876075 
								
							
								 
							
						 
						
							
							
								
								Better separation of concerns: cpu.{x86,ppc}.assembler no longer depends on compiler.codegen.fixup and cpu.architecture. Rename rt-xt-direct to rt-xt-pic to better explain its purpose  
							
							 
							
							
							
						 
						
							2009-05-06 16:14:53 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								867ff51b83 
								
							
								 
							
						 
						
							
							
								
								Remove some unused constants and update an obsolete comment  
							
							 
							
							
							
						 
						
							2009-05-06 14:57:17 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								50826084f0 
								
							
								 
							
						 
						
							
							
								
								cpu.x86.bootstrap: remove obsolete comment  
							
							 
							
							
							
						 
						
							2009-05-05 20:56:44 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								742d574162 
								
							
								 
							
						 
						
							
							
								
								Non-optimizing compiler doesn't need to optimize 'dispatch' primitive anymore since its rarely used  
							
							 
							
							
							
						 
						
							2009-04-30 19:42:08 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								f9ec0a07c5 
								
							
								 
							
						 
						
							
							
								
								Fix PICs for x86-64  
							
							 
							
							
							
						 
						
							2009-04-30 18:00:49 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5c9dc6d753 
								
							
								 
							
						 
						
							
							
								
								Tag-only PIC checks would always miss  
							
							 
							
							
							
						 
						
							2009-04-30 06:41:37 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								5fb5c19d61 
								
							
								 
							
						 
						
							
							
								
								Machine code is now stored in a byte array instead of an array for add_code_block()  
							
							 
							
							
							
						 
						
							2009-04-30 04:34:35 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								59d6131c7c 
								
							
								 
							
						 
						
							
							
								
								Bum 3 instructions out of megamorphic fast path by switching to fixed-size caches  
							
							 
							
							
							
						 
						
							2009-04-30 04:14:14 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								515c619202 
								
							
								 
							
						 
						
							
							
								
								Non-optimizing compiler now open-codes megamorphic dispatch fast path  
							
							 
							
							
							
						 
						
							2009-04-30 03:37:07 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								62db617927 
								
							
								 
							
						 
						
							
							
								
								Get rid of two instructions from tag pics and one instruction from all others  
							
							 
							
							
							
						 
						
							2009-04-29 22:24:28 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								bd186b6320 
								
							
								 
							
						 
						
							
							
								
								Eliminate 3 instructions from PIC fast path  
							
							 
							
							
							
						 
						
							2009-04-29 21:32:05 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								38a38a57a9 
								
							
								 
							
						 
						
							
							
								
								Fix hi-tag-or-tuple PICs  
							
							 
							
							
							
						 
						
							2009-04-29 03:00:09 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								9243316489 
								
							
								 
							
						 
						
							
							
								
								Debugging inline caching  
							
							 
							
							
							
						 
						
							2009-04-28 23:05:18 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								c15a4c1c5a 
								
							
								 
							
						 
						
							
							
								
								Add new relocation type for call sites which may be replaced by ICs  
							
							 
							
							
							
						 
						
							2009-04-28 17:53:14 -05:00  
						
					 
				
					
						
							
							
								 
								Slava Pestov
							
						 
						
							 
							
							
							
								
							
								4d10105802 
								
							
								 
							
						 
						
							
							
								
								Working on inline caching  
							
							 
							
							
							
						 
						
							2009-04-28 03:48:37 -05:00