Merge "Remove unnecessary finally blocks for tracing."

This commit is contained in:
Yasuhiro Matsuda
2015-09-04 02:23:31 +00:00
committed by Gerrit Code Review

View File

@@ -182,19 +182,15 @@ public class ZygoteInit {
static void preload() { static void preload() {
Log.d(TAG, "begin preload"); Log.d(TAG, "begin preload");
try { Trace.traceBegin(Trace.TRACE_TAG_DALVIK, "PreloadClasses");
Trace.traceBegin(Trace.TRACE_TAG_DALVIK, "PreloadClasses"); preloadClasses();
preloadClasses(); Trace.traceEnd(Trace.TRACE_TAG_DALVIK);
} finally { Trace.traceBegin(Trace.TRACE_TAG_DALVIK, "PreloadResources");
Trace.traceEnd(Trace.TRACE_TAG_DALVIK); preloadResources();
} Trace.traceEnd(Trace.TRACE_TAG_DALVIK);
try { Trace.traceBegin(Trace.TRACE_TAG_DALVIK, "PreloadOpenGL");
Trace.traceBegin(Trace.TRACE_TAG_DALVIK, "PreloadResources");
preloadResources();
} finally {
Trace.traceEnd(Trace.TRACE_TAG_DALVIK);
}
preloadOpenGL(); preloadOpenGL();
Trace.traceEnd(Trace.TRACE_TAG_DALVIK);
preloadSharedLibraries(); preloadSharedLibraries();
// Ask the WebViewFactory to do any initialization that must run in the zygote process, // Ask the WebViewFactory to do any initialization that must run in the zygote process,
// for memory sharing purposes. // for memory sharing purposes.
@@ -273,8 +269,8 @@ public class ZygoteInit {
continue; continue;
} }
Trace.traceBegin(Trace.TRACE_TAG_DALVIK, "PreloadClass " + line);
try { try {
Trace.traceBegin(Trace.TRACE_TAG_DALVIK, "PreloadClass " + line);
if (false) { if (false) {
Log.v(TAG, "Preloading " + line + "..."); Log.v(TAG, "Preloading " + line + "...");
} }
@@ -298,9 +294,8 @@ public class ZygoteInit {
throw (RuntimeException) t; throw (RuntimeException) t;
} }
throw new RuntimeException(t); throw new RuntimeException(t);
} finally {
Trace.traceEnd(Trace.TRACE_TAG_DALVIK);
} }
Trace.traceEnd(Trace.TRACE_TAG_DALVIK);
} }
Log.i(TAG, "...preloaded " + count + " classes in " Log.i(TAG, "...preloaded " + count + " classes in "
@@ -576,57 +571,49 @@ public class ZygoteInit {
public static void main(String argv[]) { public static void main(String argv[]) {
try { try {
Trace.traceBegin(Trace.TRACE_TAG_DALVIK, "ZygoteInit");
RuntimeInit.enableDdms();
// Start profiling the zygote initialization.
SamplingProfilerIntegration.start();
boolean startSystemServer = false; boolean startSystemServer = false;
String socketName = "zygote"; String socketName = "zygote";
String abiList = null; String abiList = null;
try { for (int i = 1; i < argv.length; i++) {
Trace.traceBegin(Trace.TRACE_TAG_DALVIK, "ZygoteInit"); if ("start-system-server".equals(argv[i])) {
RuntimeInit.enableDdms(); startSystemServer = true;
// Start profiling the zygote initialization. } else if (argv[i].startsWith(ABI_LIST_ARG)) {
SamplingProfilerIntegration.start(); abiList = argv[i].substring(ABI_LIST_ARG.length());
} else if (argv[i].startsWith(SOCKET_NAME_ARG)) {
for (int i = 1; i < argv.length; i++) { socketName = argv[i].substring(SOCKET_NAME_ARG.length());
if ("start-system-server".equals(argv[i])) { } else {
startSystemServer = true; throw new RuntimeException("Unknown command line argument: " + argv[i]);
} else if (argv[i].startsWith(ABI_LIST_ARG)) {
abiList = argv[i].substring(ABI_LIST_ARG.length());
} else if (argv[i].startsWith(SOCKET_NAME_ARG)) {
socketName = argv[i].substring(SOCKET_NAME_ARG.length());
} else {
throw new RuntimeException("Unknown command line argument: " + argv[i]);
}
} }
if (abiList == null) {
throw new RuntimeException("No ABI list supplied.");
}
registerZygoteSocket(socketName);
try {
Trace.traceBegin(Trace.TRACE_TAG_DALVIK, "ZygotePreload");
EventLog.writeEvent(LOG_BOOT_PROGRESS_PRELOAD_START,
SystemClock.uptimeMillis());
preload();
EventLog.writeEvent(LOG_BOOT_PROGRESS_PRELOAD_END,
SystemClock.uptimeMillis());
} finally {
Trace.traceEnd(Trace.TRACE_TAG_DALVIK);
}
// Finish profiling the zygote initialization.
SamplingProfilerIntegration.writeZygoteSnapshot();
// Do an initial gc to clean up after startup
try {
Trace.traceBegin(Trace.TRACE_TAG_DALVIK, "PostZygoteInitGC");
gcAndFinalize();
} finally {
Trace.traceEnd(Trace.TRACE_TAG_DALVIK);
}
} finally {
Trace.traceEnd(Trace.TRACE_TAG_DALVIK);
} }
if (abiList == null) {
throw new RuntimeException("No ABI list supplied.");
}
registerZygoteSocket(socketName);
Trace.traceBegin(Trace.TRACE_TAG_DALVIK, "ZygotePreload");
EventLog.writeEvent(LOG_BOOT_PROGRESS_PRELOAD_START,
SystemClock.uptimeMillis());
preload();
EventLog.writeEvent(LOG_BOOT_PROGRESS_PRELOAD_END,
SystemClock.uptimeMillis());
Trace.traceEnd(Trace.TRACE_TAG_DALVIK);
// Finish profiling the zygote initialization.
SamplingProfilerIntegration.writeZygoteSnapshot();
// Do an initial gc to clean up after startup
Trace.traceBegin(Trace.TRACE_TAG_DALVIK, "PostZygoteInitGC");
gcAndFinalize();
Trace.traceEnd(Trace.TRACE_TAG_DALVIK);
Trace.traceEnd(Trace.TRACE_TAG_DALVIK);
// Disable tracing so that forked processes do not inherit stale tracing tags from // Disable tracing so that forked processes do not inherit stale tracing tags from
// Zygote. // Zygote.
Trace.setTracingEnabled(false); Trace.setTracingEnabled(false);