Frameworks: Move Log holder to be preloaded

To avoid issues with late initialization, let the holder be
initialized in the zygote.

Bug: 65927416
Test: m
Change-Id: I6f454df46d4c64d295e1f2510793d5087b74fb74
This commit is contained in:
Andreas Gampe
2017-09-27 11:57:27 -07:00
parent 8f22de0e7f
commit 61a3e8c23a
3 changed files with 5 additions and 3 deletions

View File

@@ -2192,6 +2192,7 @@ android.util.IntProperty
android.util.Log
android.util.Log$1
android.util.Log$ImmediateLogWriter
android.util.Log$PreloadHolder
android.util.Log$TerribleFailureHandler
android.util.LogPrinter
android.util.LongArray

View File

@@ -8,6 +8,7 @@ android.media.MediaPlayer
android.media.SoundPool
android.text.format.Formatter
android.text.Html$HtmlParser
android.util.Log$PreloadHolder
com.android.org.conscrypt.TrustedCertificateStore
org.ccil.cowan.tagsoup.HTMLScanner
sun.security.jca.Providers

View File

@@ -392,7 +392,7 @@ public final class Log {
// and the length of the tag.
// Note: we implicitly accept possible truncation for Modified-UTF8 differences. It
// is too expensive to compute that ahead of time.
int bufferSize = NoPreloadHolder.LOGGER_ENTRY_MAX_PAYLOAD // Base.
int bufferSize = PreloadHolder.LOGGER_ENTRY_MAX_PAYLOAD // Base.
- 2 // Two terminators.
- (tag != null ? tag.length() : 0) // Tag length.
- 32; // Some slack.
@@ -429,10 +429,10 @@ public final class Log {
}
/**
* NoPreloadHelper class. Caches the LOGGER_ENTRY_MAX_PAYLOAD value to avoid
* PreloadHelper class. Caches the LOGGER_ENTRY_MAX_PAYLOAD value to avoid
* a JNI call during logging.
*/
static class NoPreloadHolder {
static class PreloadHolder {
public final static int LOGGER_ENTRY_MAX_PAYLOAD =
logger_entry_max_payload_native();
}