6244b925c7 
								
							
								 
							
						 
						
							
							
								
								vm: Simplify strerror code.  
							
							
							
						 
						
							2014-07-05 18:58:24 -07:00  
				
					
						
							
							
								 
						
							
							
								69262be4d8 
								
							
								 
							
						 
						
							
							
								
								vm: Add threadsafe_sterror to the vm.  
							
							
							
						 
						
							2014-07-04 03:00:08 -07:00  
				
					
						
							
							
								 
						
							
							
								bc54927859 
								
							
								 
							
						 
						
							
							
								
								vm/image.cpp: Better error for opening a file for writing.  
							
							
							
						 
						
							2014-07-03 22:32:45 -07:00  
				
					
						
							
							
								 
						
							
							
								ffe41b3d7f 
								
							
								 
							
						 
						
							
							
								
								VM: Fixup cast formatting after clang-format  
							
							... 
							
							
							
							clang-format doesn't recognize casts to non-pointer/non-template types
so it winds up adding a space between the right paren and the expression
and then failing to recognize prefix operators in the process
(e.g. foo = (cell) & bar; should be foo = (cell)&bar;). This commit
manually fixes up the major cases (fixnum, cell, all types ending in _t). 
							
						 
						
							2013-05-13 14:59:24 -04:00  
				
					
						
							
							
								 
						
							
							
								7b1b1eef23 
								
							
								 
							
						 
						
							
							
								
								VM: Remove unnecessary _ suffix in constructors  
							
							
							
						 
						
							2013-05-12 23:20:43 -04:00  
				
					
						
							
							
								 
						
							
							
								26ff071205 
								
							
								 
							
						 
						
							
							
								
								VM: Remove unnecessary explicit keywords  
							
							
							
						 
						
							2013-05-12 21:48:38 -04:00  
				
					
						
							
							
								 
						
							
							
								cae6a5e855 
								
							
								 
							
						 
						
							
							
								
								VM: Refactor image.cpp/hpp to Factor style  
							
							
							
						 
						
							2013-05-12 13:24:44 -04:00  
				
					
						
							
							
								 
						
							
							
								ca2ea548be 
								
							
								 
							
						 
						
							
							
								
								VM: Remove exec bit from VM source files  
							
							
							
						 
						
							2013-05-11 17:04:23 -04:00  
				
					
						
							
							
								 
						
							
							
								9236c05e60 
								
							
								 
							
						 
						
							
							
								
								vm: stage code block map fixup properly for GC  
							
							... 
							
							
							
							Don't update the map until the very last thing, and pass untranslated addresses to the iterator functors. Somewhat complicated by the fact that, for startup_fixup, the map is initialized with fixed-up values, so the fixup functor needs a flag indicating whether it operates with a fixed or unfixed code heap map. 
							
						 
						
							2011-12-14 09:56:48 -08:00  
				
					
						
							
							
								 
						
							
							
								d12b6e375b 
								
							
								 
							
						 
						
							
							
								
								vm: iterate_callstack_reversed in slot_visitor  
							
							
							
						 
						
							2011-12-14 09:56:47 -08:00  
				
					
						
							
							
								 
						
							
							
								0b94018d9f 
								
							
								 
							
						 
						
							
							
								
								vm: initialize all_blocks set after initial fixup  
							
							
							
						 
						
							2011-12-14 09:56:46 -08:00  
				
					
						
							
							
								 
						
							
							
								dea0bedb99 
								
							
								 
							
						 
						
							
							
								
								vm: fix msvc warning  
							
							
							
						 
						
							2011-11-29 12:19:17 -08:00  
				
					
						
							
							
								 
						
							
							
								26226d460e 
								
							
								 
							
						 
						
							
							
								
								vm: factor out embedded image detection code  
							
							
							
						 
						
							2011-11-27 14:39:21 -08:00  
				
					
						
							
							
								 
						
							
							
								cca526df73 
								
							
								 
							
						 
						
							
							
								
								vm: support self-executing image file  
							
							
							
						 
						
							2011-11-27 12:37:54 -08:00  
				
					
						
							
							
								 
						
							
							
								81911b9f87 
								
							
								 
							
						 
						
							
							
								
								vm: initialize all_blocks map from image  
							
							... 
							
							
							
							um, code blocks from the image need to go in the set too 
							
						 
						
							2011-11-23 11:11:26 -08:00  
				
					
						
							
							
								 
						
							
							
								7c3827190b 
								
							
								 
							
						 
						
							
							
								
								Tease out symbol name and library in undefined_symbol() handler, for friendlier errors when calling an unresolved C function name.  Fixes   #93  
							
							
							
						 
						
							2011-09-12 00:56:24 -07:00  
				
					
						
							
							
								 
						
							
							
								4405a66f99 
								
							
								 
							
						 
						
							
							
								
								vm: fix RT_HERE fixup on image load  
							
							
							
						 
						
							2010-06-11 21:54:47 -04:00  
				
					
						
							
							
								 
						
							
							
								806e54630a 
								
							
								 
							
						 
						
							
							
								
								GC maps for more compact inline GC checks  
							
							
							
						 
						
							2010-06-11 20:06:00 -04:00  
				
					
						
							
							
								 
						
							
							
								e5e51c40a1 
								
							
								 
							
						 
						
							
							
								
								vm: implement frame-based SEH for 64-bit Windows  
							
							
							
						 
						
							2010-04-08 10:32:14 -07:00  
				
					
						
							
							
								 
						
							
							
								06f02d1314 
								
							
								 
							
						 
						
							
							
								
								Refactor error handling in io.cpp.  Update image.cpp and header files for changes.  
							
							
							
						 
						
							2010-02-04 23:53:54 -06:00  
				
					
						
							
							
								 
						
							
							
								950eaed73a 
								
							
								 
							
						 
						
							
							
								
								Change the MOVE_FILE macro to a function named move_file  
							
							
							
						 
						
							2010-02-03 15:12:13 -06:00  
				
					
						
							
							
								 
						
							
							
								40cf302d2d 
								
							
								 
							
						 
						
							
							
								
								Fix image save on Windows  
							
							
							
						 
						
							2010-01-22 12:59:36 -06:00  
				
					
						
							
							
								 
						
							
							
								bb2f455747 
								
							
								 
							
						 
						
							
							
								
								Save images to a temporary file first, then call MOVE_FILE to avoid writing incomplete and truncated images.  
							
							
							
						 
						
							2010-01-22 12:59:20 -06:00  
				
					
						
							
							
								 
						
							
							
								bbd4e27275 
								
							
								 
							
						 
						
							
							
								
								Tighten up libc file io code to avoid EINTR problems  
							
							
							
						 
						
							2010-01-22 12:59:14 -06:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								63edd20a55 
								
							
								 
							
						 
						
							
							
								
								vm: eliminating register variables work in progress. Works on x86-32 with non-optimizing compiler  
							
							
							
						 
						
							2009-12-19 10:59:56 +13:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								eb840dcf41 
								
							
								 
							
						 
						
							
							
								
								RT_HERE now takes its argument from the literal table rather than the parameter table, reducing image size further  
							
							
							
						 
						
							2009-12-02 04:55:48 -06:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								d49c86ba11 
								
							
								 
							
						 
						
							
							
								
								vm: Clean up more code duplication and rename a few methods  
							
							
							
						 
						
							2009-12-02 01:17:30 -06:00  
				
					
						
							
							
								 
						
							
							
								d664507b36 
								
							
								 
							
						 
						
							
							
								
								vm: factor out common code between image loading and initial code block relocation  
							
							
							
						 
						
							2009-12-02 00:54:16 -06:00  
				
					
						
							
							
								 
						
							
							
								c6602bda27 
								
							
								 
							
						 
						
							
							
								
								Big cleanup of literal table and relocation-related code  
							
							... 
							
							
							
							- new way to iterate over instruction_operands cleans up relocation code
- move some methods out of the VM class to clean up code
- if debugging is on, die earlier if attempting to allocate inside GC
- callback heap entries are now code_blocks
- replace block_granularity with data_alignment 
							
						 
						
							2009-12-02 00:48:41 -06:00  
				
					
						
							
							
								 
						
							
							
								260cc9e2ff 
								
							
								 
							
						 
						
							
							
								
								vm: growing heap no longer uses relocate_code_block()  
							
							
							
						 
						
							2009-11-28 19:48:26 -06:00  
				
					
						
							
							
								 
						
							
							
								9a79a6253c 
								
							
								 
							
						 
						
							
							
								
								vm: fix some typos  
							
							
							
						 
						
							2009-11-27 22:54:24 -06:00  
				
					
						
							
							
								 
						
							
							
								58c21a1a11 
								
							
								 
							
						 
						
							
							
								
								vm: new image relocation that doesn't use literal table  
							
							
							
						 
						
							2009-11-27 17:05:08 -06:00  
				
					
						
							
							
								 
						
							
							
								24c3ddbbde 
								
							
								 
							
						 
						
							
							
								
								Clean up startup/shutdown hook code  
							
							
							
						 
						
							2009-11-20 00:57:49 -06:00  
				
					
						
							
							
								 
						
							
							
								c2b3d6b894 
								
							
								 
							
						 
						
							
							
								
								vm: fix fencepost error in write barrier on large object allocation; fixes benchmark.sort crash  
							
							
							
						 
						
							2009-11-11 19:31:18 -06:00  
				
					
						
							
							
								 
						
							
							
								064c00f78d 
								
							
								 
							
						 
						
							
							
								
								New identity-hashcode primitive  
							
							
							
						 
						
							2009-11-10 21:18:54 -06:00  
				
					
						
							
							
								 
						
							
							
								4061951d1c 
								
							
								 
							
						 
						
							
							
								
								vm: simpler object space implementation. begin-scan/next-object/end-scan primitives replaced by a single all-instances primitive  
							
							
							
						 
						
							2009-11-05 21:49:03 -06:00  
				
					
						
							
							
								 
						
							
							
								6c2c87758a 
								
							
								 
							
						 
						
							
							
								
								vm: rename gc_root to data_root, add code_root to fix a problem where code blocks would move underneath the PIC compiler if PIC compiler allocated enough  
							
							
							
						 
						
							2009-11-02 18:10:34 -06:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								5ae40e26ee 
								
							
								 
							
						 
						
							
							
								
								vm: remove promotion strategy, clean up compaction code  
							
							
							
						 
						
							2009-11-01 03:47:09 -06:00  
				
					
						
							
							
								 
						
							
							
								5536003cf8 
								
							
								 
							
						 
						
							
							
								
								vm: new GC policy: mark sweep after N megabytes promoted, mark compact if tenured space cannot fit nursery+aging in one contiguous block. N = 32 on 32-bit and 64 on 64-bit  
							
							
							
						 
						
							2009-10-30 02:26:57 -05:00  
				
					
						
							
							
								 
						
							
							
								e793a72060 
								
							
								 
							
						 
						
							
							
								
								vm: remove crummy old GC stats, split off free list code, clean up various other things  
							
							
							
						 
						
							2009-10-26 22:08:35 -05:00  
				
					
						
							
							
								 
						
							
							
								c30df42e48 
								
							
								 
							
						 
						
							
							
								
								vm: make compaction its own gc_op  
							
							
							
						 
						
							2009-10-25 14:02:14 -05:00  
				
					
						
							
							
								 
						
							
							
								7d8c85443e 
								
							
								 
							
						 
						
							
							
								
								vm: vm: fix large object allocation logic and change default heap image size for 2009  
							
							
							
						 
						
							2009-10-25 13:27:40 -05:00  
				
					
						
							
							
								 
						
							
							
								fae27fb361 
								
							
								 
							
						 
						
							
							
								
								vm: make some more ctors explicit just for kicks  
							
							
							
						 
						
							2009-10-24 23:02:58 -05:00  
				
					
						
							
							
								 
						
							
							
								810e309e0c 
								
							
								 
							
						 
						
							
							
								
								vm: rename userenv to special_objects  
							
							
							
						 
						
							2009-10-23 00:33:53 -05:00  
				
					
						
							
							
								 
						
							
							
								606a805d7d 
								
							
								 
							
						 
						
							
							
								
								vm: debugging mark and sweep  
							
							
							
						 
						
							2009-10-21 23:24:35 -05:00  
				
					
						
							
							
								 
						
							
							
								40351d40be 
								
							
								 
							
						 
						
							
							
								
								vm: use iostreams instead of printf for debug messages, clean up a few things  
							
							
							
						 
						
							2009-10-21 20:12:57 -05:00