Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								02bfcc3b75 
								
							 
						 
						
							
							
								
								chacha: add constant for number of rounds  
							
							
							
						 
						
							2019-04-09 01:29:35 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								cef7368b3c 
								
							 
						 
						
							
							
								
								disable unusable readability-magic-numbers lint  
							
							... 
							
							
							
							This wouldn't be worth using even if it had a whole bunch of heuristics
like ignoring expressions in static_assert, ignoring repeated patterns
like assigning different things to sequential array indexes, etc. 
							
						 
						
							2019-04-09 00:58:06 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								295bfbde94 
								
							 
						 
						
							
							
								
								disable bugprone-too-small-loop-variable lint  
							
							... 
							
							
							
							This has too many false positives since it doesn't permit comparisons
against constants where the compiler can verify it doesn't overflow. 
							
						 
						
							2019-04-09 00:55:16 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								8b2b9d940a 
								
							 
						 
						
							
							
								
								chacha: use C99 variable declaration style  
							
							... 
							
							
							
							This further aligns the code style with the rest of the project and
fixes the clang-tidy readability-isolate-declaration lint triggered by
declaring all of these variables together. 
							
						 
						
							2019-04-09 00:18:17 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								9453332e57 
								
							 
						 
						
							
							
								
								remove redundant else block  
							
							
							
						 
						
							2019-04-09 00:06:17 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								922c741915 
								
							 
						 
						
							
							
								
								it already supports Bionic, musl and glibc  
							
							
							
						 
						
							2019-04-07 18:13:26 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								a4cff7a960 
								
							 
						 
						
							
							
								
								factor out slab memory_set_name into label_slab  
							
							
							
						 
						
							2019-04-07 18:02:56 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								ef90f404a6 
								
							 
						 
						
							
							
								
								add sanity check for stats option  
							
							
							
						 
						
							2019-04-07 09:06:03 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								e0891c8cfc 
								
							 
						 
						
							
							
								
								implement the option of large size classes  
							
							... 
							
							
							
							This extends the size class scheme used for slab allocations to large
allocations. This drastically improves performance for many real world
programs using incremental realloc growth instead of using proper growth
factors. There are 4 size classes for every doubling in size, resulting
in a worst case of ~20% extra virtual memory being reserved and a huge
increase in performance for pathological cases. For example, growing
from 4MiB to 8MiB by calling realloc in increments of 32 bytes will only
need to do work beyond looking up the size 4 times instead of 1024 times
with 4096 byte granularity. 
							
						 
						
							2019-04-07 08:52:17 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								7a7126e780 
								
							 
						 
						
							
							
								
								add infrastructure for a larger guard size option  
							
							
							
						 
						
							2019-04-07 06:07:09 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								c68de6141d 
								
							 
						 
						
							
							
								
								factor out duplicated code in malloc/realloc  
							
							
							
						 
						
							2019-04-07 05:48:10 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								ce36d0c826 
								
							 
						 
						
							
							
								
								split out allocate_large function  
							
							
							
						 
						
							2019-04-07 05:44:09 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								3d18fb8074 
								
							 
						 
						
							
							
								
								implement Android M_PURGE mallopt via malloc_trim  
							
							
							
						 
						
							2019-04-07 03:35:26 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								4f08e40fe5 
								
							 
						 
						
							
							
								
								move thread sealing implementation  
							
							
							
						 
						
							2019-04-07 00:50:26 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								55891357ff 
								
							 
						 
						
							
							
								
								clean up the exported API section of the code  
							
							
							
						 
						
							2019-04-07 00:36:53 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								0651c819e3 
								
							 
						 
						
							
							
								
								clarify hardened_malloc extensions section  
							
							
							
						 
						
							2019-04-07 00:34:13 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								491ce6b0b1 
								
							 
						 
						
							
							
								
								no need to provide valloc and pvalloc on Android  
							
							
							
						 
						
							2019-04-07 00:31:09 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								1eed432b9a 
								
							 
						 
						
							
							
								
								limit more glibc cruft to that environment  
							
							
							
						 
						
							2019-04-07 00:30:05 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								ec8fb347ed 
								
							 
						 
						
							
							
								
								document CONFIG_STATS  
							
							
							
						 
						
							2019-04-07 00:10:22 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								beaa39a5a3 
								
							 
						 
						
							
							
								
								move to only supporting current generation AOSP  
							
							
							
						 
						
							2019-04-06 23:46:35 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								27a4c883ce 
								
							 
						 
						
							
							
								
								extend stats with nmalloc and ndalloc  
							
							
							
						 
						
							2019-04-06 23:19:03 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								e94fe50a0d 
								
							 
						 
						
							
							
								
								include zero byte size class in stats  
							
							... 
							
							
							
							The allocations don't consume any actual memory, but it does still use
up the virtual memory assigned to the size class and requires metadata. 
							
						 
						
							2019-04-06 22:43:56 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								712748aaa8 
								
							 
						 
						
							
							
								
								add implementation of Android mallinfo extensions  
							
							... 
							
							
							
							These are used internally by Bionic to implement malloc_info. 
							
						 
						
							2019-04-06 22:39:01 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								0f107cd2a3 
								
							 
						 
						
							
							
								
								only provide malloc_info stub for glibc  
							
							... 
							
							
							
							This has a proper implementation in Bionic outside of the malloc
implementation via the extended mallinfo API. 
							
						 
						
							2019-04-06 22:01:12 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								350d0e5fd2 
								
							 
						 
						
							
							
								
								add real mallinfo implementation for Android  
							
							... 
							
							
							
							Android Q uses the mallinfo implementation in the ART GC:
c220f981801575267302 
							
						 
						
							2019-04-06 20:54:26 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								7acebaa837 
								
							 
						 
						
							
							
								
								overhaul glibc compatibility workarounds  
							
							
							
						 
						
							2019-03-26 01:45:57 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								df9650fe64 
								
							 
						 
						
							
							
								
								conditionally include threads.h  
							
							
							
						 
						
							2019-03-26 01:28:27 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								98deb9de52 
								
							 
						 
						
							
							
								
								relabel malloc read-only after init data  
							
							
							
						 
						
							2019-03-25 20:34:10 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								fc8f2c3b60 
								
							 
						 
						
							
							
								
								move pthread_atfork wrapper to util header  
							
							
							
						 
						
							2019-03-25 17:16:52 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								b5187a0aff 
								
							 
						 
						
							
							
								
								only use __register_atfork hack for old glibc  
							
							
							
						 
						
							2019-03-25 17:16:22 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								494cc5ec50 
								
							 
						 
						
							
							
								
								update README now that arenas are implemented  
							
							
							
						 
						
							2019-03-25 16:18:01 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								c5e911419d 
								
							 
						 
						
							
							
								
								add initial implementation of arenas  
							
							
							
						 
						
							2019-03-25 14:59:50 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								55769496dc 
								
							 
						 
						
							
							
								
								move hash_page to pages.h  
							
							
							
						 
						
							2019-03-25 14:54:22 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								13de480bde 
								
							 
						 
						
							
							
								
								rename quarantine bitmap field for clarity  
							
							
							
						 
						
							2019-03-24 20:24:40 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								3d142eb4c2 
								
							 
						 
						
							
							
								
								relabel large allocation guards when shrinking  
							
							
							
						 
						
							2019-03-23 23:01:12 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								64dfd23f7b 
								
							 
						 
						
							
							
								
								relabel purged slabs  
							
							
							
						 
						
							2019-03-23 22:59:59 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								178ec6e3f9 
								
							 
						 
						
							
							
								
								relabel quarantined large allocation regions  
							
							
							
						 
						
							2019-03-23 22:57:19 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								6e67106882 
								
							 
						 
						
							
							
								
								label malloc slab region gaps  
							
							
							
						 
						
							2019-03-23 22:54:56 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								1d62075291 
								
							 
						 
						
							
							
								
								label allocate_aligned_pages mappings  
							
							
							
						 
						
							2019-03-23 22:29:04 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								c8b948e202 
								
							 
						 
						
							
							
								
								enable C++17 support when available  
							
							
							
						 
						
							2019-03-23 19:46:54 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								a0ee5f445b 
								
							 
						 
						
							
							
								
								remove redundant extern "C" block  
							
							
							
						 
						
							2019-03-23 13:41:12 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								45337ebe07 
								
							 
						 
						
							
							
								
								label allocate_pages mappings  
							
							
							
						 
						
							2019-03-22 23:17:38 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								65311a5df2 
								
							 
						 
						
							
							
								
								relabel region table mapping  
							
							
							
						 
						
							2019-03-22 21:59:44 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								e4120913d6 
								
							 
						 
						
							
							
								
								only enable LABEL_MEMORY in debug builds  
							
							
							
						 
						
							2019-03-20 14:25:09 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								87acbcdf23 
								
							 
						 
						
							
							
								
								replace C++17 aligned allocation functions  
							
							
							
						 
						
							2019-03-20 13:19:13 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								ddd616aa0b 
								
							 
						 
						
							
							
								
								add documentation on system calls  
							
							
							
						 
						
							2019-03-20 11:59:58 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								4a000d96e2 
								
							 
						 
						
							
							
								
								pkey state is now preserved on fork for Linux 5.0+  
							
							... 
							
							
							
							This patch is going to be backported to stable kernels, so the check
could be expanded to allow recent enough stable kernel branches. 
							
						 
						
							2019-03-20 11:05:31 -04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								c9df70d934 
								
							 
						 
						
							
							
								
								add support for labelling memory regions  
							
							
							
						 
						
							2019-02-13 13:34:33 -05:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								ae96835b94 
								
							 
						 
						
							
							
								
								fix scalability header levels  
							
							
							
						 
						
							2019-02-04 15:59:14 -05:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Daniel Micay 
								
							 
						 
						
							
							
							
							
								
							
							
								e4061899aa 
								
							 
						 
						
							
							
								
								add documentation on scalability design choices  
							
							
							
						 
						
							2019-02-04 15:01:15 -05:00