No description
Find a file
Tom Cherry d853f77ed3 Parse property contexts via a serialized trie
Currently, whenever a new program starts, libc initializes two data
structures related to properties from the raw property_context files.
There are two problems here,
1) This takes roughly 1.2ms on a trivial program to generate contents
   that could otherwise be cached.
2) One of the data structures is a descending list of prefixes, each
   of which needs to be checked, whereas a trie would be more
   efficient.

This change introduces two libraries,
1) libpropertycontextserializer meant to be used by property_service
   to create a serialized trie containing all of the property
   contexts.
2) libpropertycontextparser meant to be used by libc's property
   functions to parse this serialized trie during property lookup.

This new trie also contains the ability to have exact matches instead
of prefix matches for properties, which was not possible before.

Bug: 36001741
Change-Id: I42324f04c4d995a0e055e9685d79f40393dfca51
2017-12-11 16:11:42 -08:00
adb Merge "Fix typos in ADB documentation" 2017-11-30 21:53:43 +00:00
adf libadf is a new member of VNDK 2017-09-06 13:31:12 +09:00
base base: allow creating tempfile in a custom temporary dir. 2017-12-06 14:20:07 -08:00
bootstat bootstat: Add more boot reasons. 2017-12-04 14:20:21 -08:00
cpio Possible null pointer miss on realloc 2017-03-23 22:41:14 +01:00
debuggerd Demand read load bias for a map. 2017-12-05 13:12:47 -08:00
demangle Add support for non-virtual thunk. 2017-11-01 16:24:55 -07:00
fastboot fastboot: fix build break 2017-12-05 21:39:40 -08:00
fs_mgr Merge commit 'a63ccea6abc7ea02e2d98e41c80793ca97237bd3' from 2017-11-14 13:19:45 -08:00
gatekeeperd resolve merge conflicts of 0dd4b6aa3 to stage-aosp-master 2017-09-15 16:50:34 +09:00
healthd resolve merge conflicts of 796987482 to stage-aosp-master am: bb5ec4a926 2017-10-17 21:57:49 +00:00
include Move android_filesystem_config.h => fs_config.h 2017-08-03 17:20:27 +00:00
init Merge "Allow firmware loading from ODM partition" 2017-12-06 04:10:02 +00:00
libappfuse libappfuse: use an explicit buffer size 2017-08-02 14:11:25 -07:00
libasyncio Use -Werror in system/core 2017-11-01 11:32:55 -07:00
libbacktrace Merge "libBacktraceOffline: fix using debug frame with load bias." 2017-12-07 00:25:20 +00:00
libbinderwrapper libbinderwrapper: Android.mk -> Android.bp 2017-04-25 15:55:26 -07:00
libcrypto_utils Mark the modules as VNDK in Android.bp 2017-09-14 08:35:16 +00:00
libcutils Stop defining local "unused" macros now this is C++. 2017-11-30 16:24:36 -08:00
libdiskconfig Rename target.linux[_x86[_64]] to target.linux_glibc[_x86[_64]] 2017-10-02 10:44:29 -07:00
libgrallocusage Use -Werror in system/core 2017-11-01 11:32:55 -07:00
libion Merge "libion: Adapt to new ION interface" 2017-09-21 01:06:32 +00:00
libkeyutils Add libkeyutils. 2017-05-10 14:53:28 -07:00
liblog Merge "make log.tag.stats_log work for stats buffer." 2017-12-04 21:17:18 +00:00
libmemtrack Mark libmemtrack as VNDK in Android.bp 2017-09-14 02:46:36 +00:00
libmemunreachable Silence static analyzer warnings about memory leaks 2017-09-24 13:36:29 -07:00
libmetricslogger libmetricslogger: Fix the out-of-sync proto IDs for boot reason. 2017-10-06 14:30:08 -07:00
libnativebridge Use -Werror in system/core/libnativebridge 2017-10-31 15:55:40 -07:00
libnativeloader Merge "Remove default libraries" am: 8b7feee38f am: a0113de2f3 2017-09-30 23:36:25 +00:00
libnetutils Mark the modules as VNDK in Android.bp 2017-09-14 08:35:16 +00:00
libpackagelistparser Use -Werror in system/core 2017-11-01 11:32:55 -07:00
libpixelflinger MIPS[64]: codeflinger: Fix build due to unused variable warnings 2017-11-06 16:38:49 +01:00
libprocessgroup Add memcg related configs to init. 2017-07-18 15:58:40 -07:00
libprocinfo Use -Werror in system/core 2017-11-01 11:32:55 -07:00
libqtaguid Redirect qtaguid native call to netd fwmark client 2017-11-09 18:02:22 -08:00
libsparse Merge "<stdbool.h> not necessary in C++." 2017-10-17 19:26:53 +00:00
libsuspend Merge "Mark the modules as VNDK in Android.bp" 2017-09-15 16:31:01 +00:00
libsync Merge "libsync: Add fence info tests" 2017-09-26 23:46:32 +00:00
libsystem Define priority for video threads 2017-09-07 16:14:07 -07:00
libsysutils Don't complain that the DNSSL RA option is "unknown". 2017-11-28 06:42:04 +00:00
libunwindstack Demand read load bias for a map. 2017-12-05 13:12:47 -08:00
libusbhost Mark the modules as VNDK in Android.bp 2017-09-14 08:35:16 +00:00
libutils Merge "Fix / suppress new unused warnings for mingw+clang" 2017-11-30 22:43:14 +00:00
libvndksupport libvndksupport: do not use functions from android/dlext.h 2017-11-10 13:19:37 -08:00
libziparchive Merge "use std::hash instead of hashing byte by byte" 2017-11-30 23:25:55 +00:00
lmkd Simplify lmkd functionality 2017-09-17 18:31:35 -07:00
logcat Register an event logtag for stats logs. 2017-11-14 16:24:13 -08:00
logd Merge "logd: enhance multiple blocking readers performance" 2017-12-05 19:54:23 +00:00
logwrapper Merge "logwrapper: add a benchmark for android_fork_execvp_ext" 2017-03-23 11:56:10 +00:00
mkbootimg mkbootimg: use int for os_version and os_patch_level 2016-03-29 16:06:37 -07:00
property_service Parse property contexts via a serialized trie 2017-12-11 16:11:42 -08:00
qemu_pipe Mark libqemu_pipe vendor_available 2017-06-08 14:16:11 -07:00
reboot reboot: only pause indefinitely for non-shutdown operations 2017-09-29 16:29:52 +00:00
rootdir Merge "add odm partition to ld.config.legacy" 2017-12-06 04:10:24 +00:00
run-as run-as: Keep supplementary groups. 2017-09-29 15:34:23 -04:00
sdcard Revert "Revert "Add derive_gid flag for mounting sdcardfs"" 2017-09-22 14:30:30 -07:00
shell_and_utilities Always build awk. 2017-12-04 09:35:43 -08:00
storaged storaged: call getNamesForUids to get uid names 2017-08-08 20:59:03 +00:00
toolbox Disable integer overflow sanitizer in grep. 2017-12-04 14:47:49 -08:00
trusty Merge "add null pointer check for msg buffer" 2017-11-28 19:58:40 +00:00
.clang-format Add a 2 width option of clang format. 2017-03-10 13:01:39 -08:00
.clang-format-2 Only allow short functions in class definitions. 2017-03-28 12:31:37 -07:00
.clang-format-4 Only allow short functions in class definitions. 2017-03-28 12:31:37 -07:00
.gitignore Ignore adb/*.pyc files 2015-08-11 12:59:58 -07:00
Android.bp Export android_filesystem_config.h as a filegroup 2017-01-17 18:20:28 -08:00
Android.mk Remove the simulator target from all makefiles. 2011-07-11 22:12:32 -07:00
CleanSpec.mk resolve merge conflicts of 73d9596bc to oc-mr1-dev-plus-aosp 2017-09-30 06:44:32 +08:00
MODULE_LICENSE_APACHE2 auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
NOTICE Fix omission in NOTICE file. 2013-07-30 13:56:55 -07:00
platform_tools_tool_version.mk Fix warning on the build servers 2017-05-25 12:35:40 -07:00
PREUPLOAD.cfg Add a PREUPLOAD.cfg file to run git-clang-format on every commit 2017-03-08 16:51:26 +08:00