Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								dba330fde7 
								
							 
						 
						
							
							
								
								expand documentation in the README  
							
							
							
						 
						
							2018-08-30 11:12:43 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								3f80895822 
								
							 
						 
						
							
							
								
								ignore pad argument to malloc_trim per glibc  
							
							... 
							
							
							
							The pad argument is only used by the main arena for sbrk in glibc, with
every other page size gap purged with MADV_DONTNEED. It makes more sense
to simply treat it as an ignored legacy parameter rather than trying to
come up with a sensible way to use it for keeping cached free slabs. 
							
						 
						
							2018-08-30 09:36:46 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								af393afc09 
								
							 
						 
						
							
							
								
								make preload script for testing a bit more robust  
							
							
							
						 
						
							2018-08-30 09:08:33 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								1ea997b887 
								
							 
						 
						
							
							
								
								add missing headers to malloc.h  
							
							
							
						 
						
							2018-08-30 08:48:43 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								2b0f7aa985 
								
							 
						 
						
							
							
								
								use a consistent name for size class integer index  
							
							
							
						 
						
							2018-08-30 07:13:28 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								0f5f2bf6c9 
								
							 
						 
						
							
							
								
								add basic initial heuristic for freeing slabs  
							
							
							
						 
						
							2018-08-30 06:56:00 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								456dfe4154 
								
							 
						 
						
							
							
								
								add support for purging and protecting empty slabs  
							
							
							
						 
						
							2018-08-30 05:59:44 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								bb176e09bc 
								
							 
						 
						
							
							
								
								remove useless code in the empty_slabs path  
							
							
							
						 
						
							2018-08-30 05:45:03 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								29df2429c2 
								
							 
						 
						
							
							
								
								empty_slabs will remain a singly-linked list  
							
							
							
						 
						
							2018-08-30 05:27:51 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								f94068ea63 
								
							 
						 
						
							
							
								
								rename free_slabs to empty_slabs  
							
							
							
						 
						
							2018-08-30 04:55:39 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								b6d4af872f 
								
							 
						 
						
							
							
								
								move libdivide.h to third_party/libdivide.h  
							
							
							
						 
						
							2018-08-30 03:03:19 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								99fcddc223 
								
							 
						 
						
							
							
								
								use much faster get_random_{type}_uniform approach  
							
							
							
						 
						
							2018-08-30 02:08:05 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								1c181557c7 
								
							 
						 
						
							
							
								
								add -fno-plt as an optimization  
							
							
							
						 
						
							2018-08-29 15:20:56 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								6f9de3e667 
								
							 
						 
						
							
							
								
								add inline hint to get_size_info  
							
							
							
						 
						
							2018-08-29 15:13:53 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								e85c69a0a4 
								
							 
						 
						
							
							
								
								fix builds with prefix  
							
							
							
						 
						
							2018-08-29 15:07:36 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								becadc57a5 
								
							 
						 
						
							
							
								
								get rid of unused MIN_ALIGN definition  
							
							
							
						 
						
							2018-08-29 14:18:45 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								2684a98eab 
								
							 
						 
						
							
							
								
								add initial malloc_object_size extensions  
							
							
							
						 
						
							2018-08-29 14:18:42 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								00b2613e16 
								
							 
						 
						
							
							
								
								add mmap MAP_FIXED wrapper for dropping slabs  
							
							
							
						 
						
							2018-08-29 13:04:52 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								0e2f3d1015 
								
							 
						 
						
							
							
								
								sanity check page size at runtime  
							
							
							
						 
						
							2018-08-29 11:00:18 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								d779d41721 
								
							 
						 
						
							
							
								
								wrap more memory mapping implementation details  
							
							
							
						 
						
							2018-08-29 10:57:42 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								1cb28531a8 
								
							 
						 
						
							
							
								
								add wrapper for mremap with sanity check  
							
							
							
						 
						
							2018-08-29 10:43:54 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								5bc6820c24 
								
							 
						 
						
							
							
								
								rely on mmap rounding to page size when possible  
							
							
							
						 
						
							2018-08-29 03:25:00 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								58d929c0f0 
								
							 
						 
						
							
							
								
								split out low-level memory mapping wrappers  
							
							
							
						 
						
							2018-08-29 00:53:38 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								8b42e8c3d6 
								
							 
						 
						
							
							
								
								make sure errno is always set on failure  
							
							
							
						 
						
							2018-08-28 22:49:11 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								66aa98dbd9 
								
							 
						 
						
							
							
								
								sanity-check mmap errno on failure too  
							
							
							
						 
						
							2018-08-28 22:41:18 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								705b6a4f8d 
								
							 
						 
						
							
							
								
								make non-out-of-memory mprotect errors fatal  
							
							
							
						 
						
							2018-08-28 22:22:57 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								19c46d16f1 
								
							 
						 
						
							
							
								
								check pthread_atfork return value  
							
							
							
						 
						
							2018-08-28 21:31:20 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								0e2bc8a1cf 
								
							 
						 
						
							
							
								
								make sure RELRO is enabled on every toolchain  
							
							
							
						 
						
							2018-08-28 11:44:23 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								e72674e358 
								
							 
						 
						
							
							
								
								detect missing symbols when linking  
							
							
							
						 
						
							2018-08-28 11:13:17 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								803811a6ac 
								
							 
						 
						
							
							
								
								add support for using mremap  
							
							
							
						 
						
							2018-08-28 10:44:04 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								718bf82f96 
								
							 
						 
						
							
							
								
								add inline hints for slab_allocate and slab_free  
							
							
							
						 
						
							2018-08-27 09:29:30 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								33f862ec19 
								
							 
						 
						
							
							
								
								add inline hints for init and enforce_init  
							
							
							
						 
						
							2018-08-27 09:29:27 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								67b9608ccf 
								
							 
						 
						
							
							
								
								avoid duplicated init code calculating slab size  
							
							
							
						 
						
							2018-08-27 09:22:04 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								eec85b0c8c 
								
							 
						 
						
							
							
								
								add chosen libdivide license (Boost) to CREDITS  
							
							
							
						 
						
							2018-08-27 07:52:49 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								c7b24f63f1 
								
							 
						 
						
							
							
								
								use libdivide for substantially faster division  
							
							
							
						 
						
							2018-08-27 07:07:48 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								63b0c39343 
								
							 
						 
						
							
							
								
								reorder size_class struct for better performance  
							
							
							
						 
						
							2018-08-27 05:21:58 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								b424c95737 
								
							 
						 
						
							
							
								
								clarify memory is zero on init without more writes  
							
							
							
						 
						
							2018-08-27 01:14:36 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								02db36c4bb 
								
							 
						 
						
							
							
								
								update CREDITS with ChaCha8 implementation  
							
							
							
						 
						
							2018-08-26 07:27:19 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								1b3d485e87 
								
							 
						 
						
							
							
								
								clarify that the slab design isn't like jemalloc  
							
							
							
						 
						
							2018-08-26 07:19:58 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								c97bbc141c 
								
							 
						 
						
							
							
								
								add missing word  
							
							
							
						 
						
							2018-08-26 07:11:22 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								f793a2719f 
								
							 
						 
						
							
							
								
								add some basic initial documentation to the README  
							
							
							
						 
						
							2018-08-26 06:39:33 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								c60fbfb029 
								
							 
						 
						
							
							
								
								output markdown table from calculate_waste  
							
							
							
						 
						
							2018-08-26 06:21:09 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								497f71ac65 
								
							 
						 
						
							
							
								
								reorder offset test output  
							
							
							
						 
						
							2018-08-26 04:51:47 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								14ca7d7c3f 
								
							 
						 
						
							
							
								
								randomize large allocation guard size  
							
							
							
						 
						
							2018-08-26 04:46:12 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								a13a45a17d 
								
							 
						 
						
							
							
								
								hold regions_lock in alloc_aligned  
							
							
							
						 
						
							2018-08-26 04:37:43 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								bec20a39cf 
								
							 
						 
						
							
							
								
								add offset test  
							
							
							
						 
						
							2018-08-26 03:19:59 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								700e06c2db 
								
							 
						 
						
							
							
								
								manually specialize the CSPRNG cache  
							
							
							
						 
						
							2018-08-26 00:43:46 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								c41e659383 
								
							 
						 
						
							
							
								
								use ChaCha8-based CSPRNG  
							
							
							
						 
						
							2018-08-25 23:24:00 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								2b7c9362bb 
								
							 
						 
						
							
							
								
								consume fewer random bytes for slab randomization  
							
							
							
						 
						
							2018-08-25 18:32:44 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								c5d76179a5 
								
							 
						 
						
							
							
								
								improve interaction of slot rand with slot mask  
							
							
							
						 
						
							2018-08-25 18:04:55 -04:00