Skip to content
This repository has been archived by the owner on Nov 8, 2023. It is now read-only.

Commit

Permalink
Remove unnecessary finally blocks for tracing.
Browse files Browse the repository at this point in the history
BUG: 22207144
Change-Id: I2b15bb7c4055a1ad589b433d4f253868813ab311
  • Loading branch information
Yasuhiro Matsuda committed Sep 3, 2015
1 parent b1db04f commit 25878b2
Showing 1 changed file with 44 additions and 57 deletions.
101 changes: 44 additions & 57 deletions core/java/com/android/internal/os/ZygoteInit.java
Expand Up @@ -182,19 +182,15 @@ static FileDescriptor getServerSocketFileDescriptor() {

static void preload() {
Log.d(TAG, "begin preload");
try {
Trace.traceBegin(Trace.TRACE_TAG_DALVIK, "PreloadClasses");
preloadClasses();
} finally {
Trace.traceEnd(Trace.TRACE_TAG_DALVIK);
}
try {
Trace.traceBegin(Trace.TRACE_TAG_DALVIK, "PreloadResources");
preloadResources();
} finally {
Trace.traceEnd(Trace.TRACE_TAG_DALVIK);
}
Trace.traceBegin(Trace.TRACE_TAG_DALVIK, "PreloadClasses");
preloadClasses();
Trace.traceEnd(Trace.TRACE_TAG_DALVIK);
Trace.traceBegin(Trace.TRACE_TAG_DALVIK, "PreloadResources");
preloadResources();
Trace.traceEnd(Trace.TRACE_TAG_DALVIK);
Trace.traceBegin(Trace.TRACE_TAG_DALVIK, "PreloadOpenGL");
preloadOpenGL();
Trace.traceEnd(Trace.TRACE_TAG_DALVIK);
preloadSharedLibraries();
// Ask the WebViewFactory to do any initialization that must run in the zygote process,
// for memory sharing purposes.
Expand Down Expand Up @@ -273,8 +269,8 @@ private static void preloadClasses() {
continue;
}

Trace.traceBegin(Trace.TRACE_TAG_DALVIK, "PreloadClass " + line);
try {
Trace.traceBegin(Trace.TRACE_TAG_DALVIK, "PreloadClass " + line);
if (false) {
Log.v(TAG, "Preloading " + line + "...");
}
Expand All @@ -298,9 +294,8 @@ private static void preloadClasses() {
throw (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 "
Expand Down Expand Up @@ -576,56 +571,48 @@ private static long posixCapabilitiesAsBits(int... capabilities) {

public static void main(String argv[]) {
try {
Trace.traceBegin(Trace.TRACE_TAG_DALVIK, "ZygoteInit");
RuntimeInit.enableDdms();
// Start profiling the zygote initialization.
SamplingProfilerIntegration.start();

boolean startSystemServer = false;
String socketName = "zygote";
String abiList = null;
try {
Trace.traceBegin(Trace.TRACE_TAG_DALVIK, "ZygoteInit");
RuntimeInit.enableDdms();
// Start profiling the zygote initialization.
SamplingProfilerIntegration.start();

for (int i = 1; i < argv.length; i++) {
if ("start-system-server".equals(argv[i])) {
startSystemServer = true;
} 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]);
}
for (int i = 1; i < argv.length; i++) {
if ("start-system-server".equals(argv[i])) {
startSystemServer = true;
} 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.");
}
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);
}
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();
// 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);
}
// 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
// Zygote.
Expand Down

0 comments on commit 25878b2

Please sign in to comment.