Björn Lindqvist
							
						 
						
							 
							
							
							
								
							
								eb7a5ab1ba 
								
							
								 
							
						 
						
							
							
								
								VM: some more fixing to make the types match better, converting void* to cell  
							
							 
							
							
							
						 
						
							2015-01-15 09:29:13 +00:00  
						
					 
				
					
						
							
							
								 
								Erik Charlebois
							
						 
						
							 
							
							
							
								
							
								b2929acff6 
								
							
								 
							
						 
						
							
							
								
								VM: Refactor sampling_profiler.cpp/hpp to Factor style  
							
							 
							
							
							
						 
						
							2013-05-12 13:24:47 -04:00  
						
					 
				
					
						
							
							
								 
								Doug Coleman
							
						 
						
							 
							
							
							
								
							
								aad70160f0 
								
							
								 
							
						 
						
							
							
								
								vm: Add more comments about functions that allocate.  
							
							 
							
							
							
						 
						
							2012-08-15 22:00:08 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								604ceb957c 
								
							
								 
							
						 
						
							
							
								
								vm: replace remaining stack_frame-based logic  
							
							 
							
							
							
						 
						
							2011-12-14 09:56:49 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								0a1a252cdb 
								
							
								 
							
						 
						
							
							
								
								vm: replace assert with FACTOR_ASSERT  
							
							 
							
							... 
							
							
							
							Factor is finally a real C++ project and has a custom assert macro. Assertion failures were still getting caught as exceptions and causing failure loops. Write our own macro that calls factor::abort on failure. 
							
						 
						
							2011-11-23 11:11:26 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								6c0ecf631a 
								
							
								 
							
						 
						
							
							
								
								vm: charge samples collected in prolog to parent  
							
							 
							
							... 
							
							
							
							Fixes  #379  
							
						 
						
							2011-11-23 11:11:26 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								72d335f2b5 
								
							
								 
							
						 
						
							
							
								
								vm: write async signals to pipe for multiplexer  
							
							 
							
							... 
							
							
							
							also factor out safepoint logic into its own file 
							
						 
						
							2011-11-08 08:42:46 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								212d012cb1 
								
							
								 
							
						 
						
							
							
								
								vm: switch atomic::add to atomic::fetch_add  
							
							 
							
							... 
							
							
							
							Win32 only provides fetch-and-add, not add-and-fetch, and we don't really care. Rename the functions so the order of operations is clear. 
							
						 
						
							2011-11-07 17:58:53 -08:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								2d87b68a56 
								
							
								 
							
						 
						
							
							
								
								vm: sample pc on windows  
							
							 
							
							
							
						 
						
							2011-11-02 21:18:31 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								1833beea52 
								
							
								 
							
						 
						
							
							
								
								vm: fix MSVC warnings  
							
							 
							
							
							
						 
						
							2011-11-02 20:26:53 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								82a62181ce 
								
							
								 
							
						 
						
							
							
								
								vm: count samples during unoptimized compiler  
							
							 
							
							
							
						 
						
							2011-11-02 13:23:21 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								4d39e59054 
								
							
								 
							
						 
						
							
							
								
								vm: add atomic::load and atomic::store functions  
							
							 
							
							... 
							
							
							
							Abstract out the fence-and-load and store-and-fence patterns 
							
						 
						
							2011-11-02 13:23:19 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								be8db5aed3 
								
							
								 
							
						 
						
							
							
								
								vm: sample thread object rather than raw context  
							
							 
							
							
							
						 
						
							2011-11-02 13:23:18 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								7da8a9776f 
								
							
								 
							
						 
						
							
							
								
								vm: sample code block owners instead of blocks  
							
							 
							
							
							
						 
						
							2011-11-02 13:23:17 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								e880095da3 
								
							
								 
							
						 
						
							
							
								
								vm: fix data roots in get-samples primitive  
							
							 
							
							
							
						 
						
							2011-11-02 13:23:17 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								29fa23c40a 
								
							
								 
							
						 
						
							
							
								
								vm: quell MSVC warnings  
							
							 
							
							
							
						 
						
							2011-11-02 13:23:16 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								30ed9b535b 
								
							
								 
							
						 
						
							
							
								
								vm: parameterize sampling rate  
							
							 
							
							
							
						 
						
							2011-11-02 13:23:15 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								799053661e 
								
							
								 
							
						 
						
							
							
								
								vm: better organize atomics and sample counter  
							
							 
							
							
							
						 
						
							2011-11-02 13:23:15 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								27ac4c60f4 
								
							
								 
							
						 
						
							
							
								
								vm: factor out sample counting code  
							
							 
							
							
							
						 
						
							2011-11-02 13:23:13 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								d9afe92c97 
								
							
								 
							
						 
						
							
							
								
								get sampler working under windows  
							
							 
							
							
							
						 
						
							2011-11-02 13:23:12 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								abaa051768 
								
							
								 
							
						 
						
							
							
								
								vm: fix build on windows  
							
							 
							
							
							
						 
						
							2011-11-02 13:23:12 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								1351e30e52 
								
							
								 
							
						 
						
							
							
								
								vm: sampling profiler timer for windows  
							
							 
							
							... 
							
							
							
							Spawn a thread and have it spin on the performance counter, triggering safepoints on the main thread every sample time 
							
						 
						
							2011-11-02 13:23:11 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								f5cdfaeb2a 
								
							
								 
							
						 
						
							
							
								
								vm: count samples from foreign threads  
							
							 
							
							... 
							
							
							
							On OS X it appears the mach exception thread and libdispatch queue threads occasionally get the SIGALRM from the itimer. Count those as foreign_thread_samples instead of letting the signal kill the process. 
							
						 
						
							2011-11-02 13:23:10 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								e10c3183c8 
								
							
								 
							
						 
						
							
							
								
								vm: add primitives to lift sample data to factor  
							
							 
							
							
							
						 
						
							2011-11-02 13:23:09 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								1089816b21 
								
							
								 
							
						 
						
							
							
								
								vm: release memory used by sampler vectors  
							
							 
							
							
							
						 
						
							2011-11-02 13:23:08 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								40bc8459db 
								
							
								 
							
						 
						
							
							
								
								vm: bottom_frame method for contexts  
							
							 
							
							... 
							
							
							
							ctx->callstack_bottom - 1 -- the fuck does that mean?! 
							
						 
						
							2011-11-02 13:23:07 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								be5c7476d7 
								
							
								 
							
						 
						
							
							
								
								vm: don't allocate callstack samples on data heap  
							
							 
							
							... 
							
							
							
							Invoking a GC during a safepoint has some complications, so stuff the callstack samples in a vector instead. 
							
						 
						
							2011-11-02 13:23:07 -07:00  
						
					 
				
					
						
							
							
								 
								Joe Groff
							
						 
						
							 
							
							
							
								
							
								80fb7788d9 
								
							
								 
							
						 
						
							
							
								
								vm: groundwork for sampling profiler  
							
							 
							
							... 
							
							
							
							Set up the state necessary to collect samples. We still need to add GC support for walking the sample set, and the compiler needs to register GC roots before safepoints as well. We also need primitives to expose the data to Factor for reporting. 
							
						 
						
							2011-11-02 13:23:06 -07:00