| 
								
								
									 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 |  | 
				
					
						| 
								
								
									 Daniel Micay | 173dd6e7a5 | randomize slot selection for empty slabs too | 2018-08-25 18:02:13 -04:00 |  | 
				
					
						| 
								
								
									 Daniel Micay | c335c43dd7 | simplify slab out-of-memory error handling | 2018-08-25 16:41:07 -04:00 |  | 
				
					
						| 
								
								
									 Daniel Micay | 7bcfa3f08b | tune slab metadata allocation | 2018-08-25 15:46:22 -04:00 |  | 
				
					
						| 
								
								
									 Daniel Micay | 4777ee0c85 | special case division for page size slabs | 2018-08-25 15:21:50 -04:00 |  | 
				
					
						| 
								
								
									 Daniel Micay | ec78add6ab | define ffzl utility function | 2018-08-25 03:14:07 -04:00 |  | 
				
					
						| 
								
								
									 Daniel Micay | f08d4d31db | randomize slab slot choice | 2018-08-25 03:02:39 -04:00 |  | 
				
					
						| 
								
								
									 Daniel Micay | 965c3202b4 | finish implementation of zero byte size class | 2018-08-25 02:48:47 -04:00 |  | 
				
					
						| 
								
								
									 Daniel Micay | f97a0ef8b1 | use a more appropriate type for masked bitmaps | 2018-08-25 01:09:15 -04:00 |  | 
				
					
						| 
								
								
									 Daniel Micay | f3c8502509 | add CSPRNGs for regions and slabs | 2018-08-25 00:25:33 -04:00 |  | 
				
					
						| 
								
								
									 Daniel Micay | 510291646b | document minimum versions for dependencies | 2018-08-24 19:30:36 -04:00 |  | 
				
					
						| 
								
								
									 Daniel Micay | 71dde7c4f8 | provide getrandom wrapper to support glibc < 2.25 Debian stretch (currently stable) only has glibc 2.24... | 2018-08-24 18:48:55 -04:00 |  | 
				
					
						| 
								
								
									 Daniel Micay | 35c9e6f16d | add delayed double free tests | 2018-08-24 05:53:17 -04:00 |  | 
				
					
						| 
								
								
									 Daniel Micay | aaa4eeca4d | add a clean target for the memory corruption tests | 2018-08-24 05:25:52 -04:00 |  | 
				
					
						| 
								
								
									 Daniel Micay | 805bdc6087 | add an extra sanity check for unallocated metadata | 2018-08-24 05:22:38 -04:00 |  | 
				
					
						| 
								
								
									 Daniel Micay | bde8c3c29b | add another test for invalid small region frees | 2018-08-24 05:09:33 -04:00 |  | 
				
					
						| 
								
								
									 Daniel Micay | fe85116891 | add uninitialized allocator tests | 2018-08-24 05:03:12 -04:00 |  | 
				
					
						| 
								
								
									 Daniel Micay | 2d168b0516 | check for double free slightly earlier | 2018-08-24 04:51:52 -04:00 |  | 
				
					
						| 
								
								
									 Daniel Micay | 0a79e82474 | add basic invalid free tests | 2018-08-24 04:48:57 -04:00 |  | 
				
					
						| 
								
								
									 Daniel Micay | 97b693d862 | stop treating guard size as a constant | 2018-08-24 04:07:46 -04:00 |  | 
				
					
						| 
								
								
									 Daniel Micay | 83dabbd8fa | fix handling of random bases for class regions | 2018-08-24 03:52:01 -04:00 |  | 
				
					
						| 
								
								
									 Daniel Micay | 0d51459dc9 | add a special memory protected 0 byte size class | 2018-08-24 03:24:23 -04:00 |  | 
				
					
						| 
								
								
									 Daniel Micay | 27ac1e21bc | add initial simple memory corruption tests | 2018-08-24 03:13:50 -04:00 |  | 
				
					
						| 
								
								
									 Daniel Micay | 7a86b67778 | add unaligned free check for small allocations | 2018-08-24 02:55:53 -04:00 |  | 
				
					
						| 
								
								
									 Daniel Micay | 2aee424b7b | fix inconsistent whitespace | 2018-08-24 02:09:20 -04:00 |  | 
				
					
						| 
								
								
									 Daniel Micay | a874a61099 | adjust slot count for 12288 byte size class | 2018-08-23 18:00:13 -04:00 |  | 
				
					
						| 
								
								
									 Daniel Micay | 127f110126 | adjust slot count for 10240 byte size class | 2018-08-23 17:56:17 -04:00 |  | 
				
					
						| 
								
								
									 Daniel Micay | b7b353a54e | print out the calculated slab sizes too | 2018-08-23 17:53:55 -04:00 |  | 
				
					
						| 
								
								
									 Daniel Micay | c59c97c65b | adjust slot count for 48 byte size class | 2018-08-23 17:53:10 -04:00 |  | 
				
					
						| 
								
								
									 Daniel Micay | 56e4c7e042 | adjust slot count for 224 byte size class | 2018-08-23 17:42:51 -04:00 |  | 
				
					
						| 
								
								
									 Daniel Micay | 5a1a76f94e | calculate internal slab fragmentation from slots | 2018-08-23 17:39:32 -04:00 |  | 
				
					
						| 
								
								
									 Daniel Micay | 5bdf94da4a | calculate internal fragmentation for size classes | 2018-08-23 17:32:54 -04:00 |  | 
				
					
						| 
								
								
									 Daniel Micay | 4aa0fab4f4 | avoid deadlocks after forking threaded processes | 2018-08-23 17:22:12 -04:00 |  |