Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								801c70e9da 
								
							
								 
							
						 
						
							
							
								
								VM: removes the signal_handler_impl methods from factor_vm  
							
							 
							
							... 
							
							
							
							Instead the code is in the functions with the same name. That way, they
don't need to exist both as functions and methods. 
							
						 
						
							2016-06-29 18:27:26 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								f99c684cc5 
								
							
								 
							
						 
						
							
							
								
								VM: set_border_locked is the same on windows and unix  
							
							 
							
							
							
						 
						
							2016-06-27 16:27:56 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								a331ad3788 
								
							
								 
							
						 
						
							
							
								
								VM: factor_vm::set_callstack and set_retainstack is not needed  
							
							 
							
							
							
						 
						
							2016-06-27 16:08:58 +02:00  
						
					 
				
					
						
							
							
								 
								Alexander Iljin
							
						 
						
							 
							
							
							
								
							
								7a94230899 
								
							
								 
							
						 
						
							
							
								
								VM: fix the sampler_thread handle leak  
							
							 
							
							
							
						 
						
							2016-06-22 11:27:26 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								3eef76c686 
								
							
								 
							
						 
						
							
							
								
								VM: a little faster definition of contains_p()  
							
							 
							
							
							
						 
						
							2016-06-14 04:40:20 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								6984bae7ca 
								
							
								 
							
						 
						
							
							
								
								VM: rename of JIT_PUSH_IMMEDIATE to JIT_PUSH_LITERAL  
							
							 
							
							... 
							
							
							
							The code template pushes both immediates and references so the name was
wrong. 
							
						 
						
							2016-06-07 14:54:23 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								6b95813dbc 
								
							
								 
							
						 
						
							
							
								
								VM: refactor the immediate_p check out of visit_pointer()  
							
							 
							
							... 
							
							
							
							This avoids reassigning to slots that are never changed. It makes the minor-gc pass 2% faster. 
							
						 
						
							2016-06-07 14:42:06 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								33d5ecefd5 
								
							
								 
							
						 
						
							
							
								
								VM: refactor a struct into a c++11 lambda  
							
							 
							
							
							
						 
						
							2016-06-07 14:04:28 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								a58f8c76f4 
								
							
								 
							
						 
						
							
							
								
								VM: rename compile_inline_cache and refactor the loop body into emit_check_and_jump  
							
							 
							
							
							
						 
						
							2016-05-31 03:37:24 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								dae2229957 
								
							
								 
							
						 
						
							
							
								
								VM: omit the type check if checking for fixnum and it's the first check  
							
							 
							
							... 
							
							
							
							Previously: and ecx, 0xf ; cmp ecx, 0 ; jz <address> was generated. Now
instead: and ecx, 0xf ; jz <address> because the cmp, ecx, 0 instruction
is redundant. 
							
						 
						
							2016-05-31 03:37:24 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								59443dca01 
								
							
								 
							
						 
						
							
							
								
								VM: new method quotation_jit:nth  
							
							 
							
							... 
							
							
							
							It's less tedious than writing array_nth(elements.untagged(), i + N) everywhere 
							
						 
						
							2016-05-31 03:37:24 +02:00  
						
					 
				
					
						
							
							
								 
								Alexander Iljin
							
						 
						
							 
							
							
							
								
							
								e302928510 
								
							
								 
							
						 
						
							
							
								
								vm: fix a typo in a comment  
							
							 
							
							
							
						 
						
							2016-05-30 12:11:56 -07:00  
						
					 
				
					
						
							
							
								 
								Alexander Iljin
							
						 
						
							 
							
							
							
								
							
								3ea7fe616e 
								
							
								 
							
						 
						
							
							
								
								vm: fix warning C4800: forcing value to bool  
							
							 
							
							... 
							
							
							
							The warning is issued by the Visual Studio 2015, treated as error. 
							
						 
						
							2016-05-30 12:11:56 -07:00  
						
					 
				
					
						
							
							
								 
								Alexander Iljin
							
						 
						
							 
							
							
							
								
							
								db9007a713 
								
							
								 
							
						 
						
							
							
								
								vm: give windows_stat fewer reasons to fail  
							
							 
							
							... 
							
							
							
							More sharing flags mean that the file opening attempts will succeed even
if the file is already open by another process for writing or deleting. 
							
						 
						
							2016-05-30 12:11:56 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								4a471ba07c 
								
							
								 
							
						 
						
							
							
								
								VM: make it so compiling mega cache lookups doesn't generate stack frames ( #651 )  
							
							 
							
							
							
						 
						
							2016-05-30 08:23:18 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								3b016bc254 
								
							
								 
							
						 
						
							
							
								
								VM: a bunch of more methods on the factor_vm class that can be made into funtions  
							
							 
							
							
							
						 
						
							2016-05-30 07:44:26 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								00a64c9271 
								
							
								 
							
						 
						
							
							
								
								VM: name change no_non_safepoint_words_p -> stack_frame_p  
							
							 
							
							... 
							
							
							
							It returns true if the quotation should be wrapped in a stack frame. 
							
						 
						
							2016-05-30 07:44:20 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								1fddf79724 
								
							
								 
							
						 
						
							
							
								
								VM: moving a few methods arounds  
							
							 
							
							... 
							
							
							
							word_call, word_jump and emit_mega_cache_lookup are only used in quotations.cpp so they should be defined there too. 
							
						 
						
							2016-05-30 03:03:10 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								4509371f7c 
								
							
								 
							
						 
						
							
							
								
								VM: shorter definition of emit_check  
							
							 
							
							
							
						 
						
							2016-05-29 04:55:11 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								b027285b48 
								
							
								 
							
						 
						
							
							
								
								VM: makes some factor_vm methods to free functions  
							
							 
							
							
							
						 
						
							2016-05-29 03:03:07 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								08c2e3a32d 
								
							
								 
							
						 
						
							
							
								
								VM: better logic in factor_vm::set_sampling_profiler  
							
							 
							
							... 
							
							
							
							It avoids the double-negation. 
							
						 
						
							2016-05-19 01:25:53 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								8ae6e8e23d 
								
							
								 
							
						 
						
							
							
								
								VM: safe_strdup needs to be called in vm_executable_path  
							
							 
							
							
							
						 
						
							2016-05-14 19:00:20 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								335615a025 
								
							
								 
							
						 
						
							
							
								
								VM: more destruction needed in the destructor  
							
							 
							
							... 
							
							
							
							Console needs to be closed, special objects free'd and code heap
deleted. 
							
						 
						
							2016-05-14 18:21:50 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								7342d97e6d 
								
							
								 
							
						 
						
							
							
								
								VM: add destructor to vm_parameters so that executable and image_path is  
							
							 
							
							... 
							
							
							
							free'd
Valgrind complained that those were leaking 
							
						 
						
							2016-05-14 18:21:49 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								9555915e7b 
								
							
								 
							
						 
						
							
							
								
								VM: more stuff to deallocate in the destructor  
							
							 
							
							
							
						 
						
							2016-05-14 18:21:49 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								e2b133e291 
								
							
								 
							
						 
						
							
							
								
								VM: return value of vm_executable_path() should be free'd  
							
							 
							
							
							
						 
						
							2016-05-14 18:21:49 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								63791bf90e 
								
							
								 
							
						 
						
							
							
								
								VM: move some logic from factor_vm to the vm_parameters class  
							
							 
							
							... 
							
							
							
							It's good because the factor_vm class is to fat. 
							
						 
						
							2016-05-14 18:21:49 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								83ce08487e 
								
							
								 
							
						 
						
							
							
								
								VM: initialize the ctx member in the construction  
							
							 
							
							... 
							
							
							
							To make valgrind happy because it complains that it is uninitialized. 
							
						 
						
							2016-05-14 18:21:49 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								340ad8b8d9 
								
							
								 
							
						 
						
							
							
								
								VM: removes the delete_contexts method  
							
							 
							
							
							
						 
						
							2016-05-14 18:21:49 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								7f8d5cbef4 
								
							
								 
							
						 
						
							
							
								
								VM: when starting the sampling profiler, the data needs to be cleared  
							
							 
							
							
							
						 
						
							2016-05-06 19:56:13 +02:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								10164b6af8 
								
							
								 
							
						 
						
							
							
								
								GNUMakefile: Explicitly ask for stdlib=libc++ because clang downgrades the version silently if you use backward compatibility mode with OSX 10.5 and then shrink_to_fit() doesn't work.  
							
							 
							
							... 
							
							
							
							Config.macosx: Support for shrink_to_fit() is claimed to be in 10.7 and later, but 10.7 and 10.8 both throw this huge error:
https://paste.factorcode.org/paste?id=3872 
Fixes  #1624 . 
							
						 
						
							2016-05-05 16:48:40 -07:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								9824be8714 
								
							
								 
							
						 
						
							
							
								
								VM: The C++11 method shrink_to_fit() can be used to release memory  
							
							 
							
							
							
						 
						
							2016-05-05 14:22:57 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								5826394573 
								
							
								 
							
						 
						
							
							
								
								VM: the (clear-samples) primitive is unused  
							
							 
							
							
							
						 
						
							2016-05-05 02:33:35 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								bc9f62efde 
								
							
								 
							
						 
						
							
							
								
								VM: using a c++ lambda over a struct  
							
							 
							
							
							
						 
						
							2016-05-05 01:57:52 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								8911ad2a16 
								
							
								 
							
						 
						
							
							
								
								VM: don't end the gc event in start_gc_again,  fixes   #659  
							
							 
							
							
							
						 
						
							2016-05-04 22:47:50 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								583fb5825b 
								
							
								 
							
						 
						
							
							
								
								VM: removes the collector class  
							
							 
							
							... 
							
							
							
							The cheneys_algorithm() method can be moved to slot_visitor (because it
kind of visists objects), and then there is no need for the collector
class. 
							
						 
						
							2016-05-04 17:52:04 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								f629a95b03 
								
							
								 
							
						 
						
							
							
								
								VM: moving collector methods to slot_visitor methods  
							
							 
							
							... 
							
							
							
							collector::trace_cards moved to slot_visitor::visit_cards and
collector::trace_code_heap_roots moved to
slot_visitor::visit_code_heap_roots. Both those methods are pointer visitors 
							
						 
						
							2016-05-04 00:32:17 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								4cc5e90605 
								
							
								 
							
						 
						
							
							
								
								VM: SNPRINTF macro is not used  
							
							 
							
							
							
						 
						
							2016-05-02 15:01:49 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								2035eb91fe 
								
							
								 
							
						 
						
							
							
								
								VM: method compute_identity_hashcode is not needed  
							
							 
							
							
							
						 
						
							2016-05-02 14:05:01 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								eb8b7f02bf 
								
							
								 
							
						 
						
							
							
								
								VM: the start_factor method isn't needed  
							
							 
							
							
							
						 
						
							2016-05-01 23:36:41 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								58ad5fb4ce 
								
							
								 
							
						 
						
							
							
								
								VM: all the started_<blah>() replaced with reset_timer()  
							
							 
							
							
							
						 
						
							2016-04-24 15:21:17 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								82e2de5e12 
								
							
								 
							
						 
						
							
							
								
								VM: oops, fix compilation error i caused  
							
							 
							
							
							
						 
						
							2016-04-24 15:18:45 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								c55af9b957 
								
							
								 
							
						 
						
							
							
								
								VM: object_size, compute_entry_point_address, code_block_owner made into  
							
							 
							
							... 
							
							
							
							functions
It is to make the vm class less heavy 
							
						 
						
							2016-04-24 14:45:03 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								82658e184f 
								
							
								 
							
						 
						
							
							
								
								VM: make return_takes_param() a function  
							
							 
							
							
							
						 
						
							2016-04-24 14:19:35 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								28b5378196 
								
							
								 
							
						 
						
							
							
								
								VM: merge of fixup_data & fixup_code into a new method fixup_heaps  
							
							 
							
							
							
						 
						
							2016-04-24 12:42:22 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								c8d648f3f2 
								
							
								 
							
						 
						
							
							
								
								VM: the factor_vm::code_blocks() method isn't needed  
							
							 
							
							
							
						 
						
							2016-04-22 12:01:26 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								bcc32291e8 
								
							
								 
							
						 
						
							
							
								
								VM: merge of free_list_allocator.hpp into free_list.hpp  
							
							 
							
							... 
							
							
							
							It's better if all the free list stuff is in a single header. 
							
						 
						
							2016-04-22 12:01:26 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								a23bb8cf16 
								
							
								 
							
						 
						
							
							
								
								VM: nr of code blocks scanned always = points_to_<gen>.size()  
							
							 
							
							
							
						 
						
							2016-04-22 12:01:26 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								70e7bad921 
								
							
								 
							
						 
						
							
							
								
								VM: parent and code attrs in collector struct is not used  
							
							 
							
							
							
						 
						
							2016-04-22 12:01:26 +02:00  
						
					 
				
					
						
							
							
								 
								Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								da4812ba21 
								
							
								 
							
						 
						
							
							
								
								VM: refactoring which removes two not useful short methods  
							
							 
							
							
							
						 
						
							2016-04-04 23:32:23 +02:00