Jit: Startup/Shutdown cleanup
A legacy of early parallel Jit development was separate Startup & Shutdown
code for the interpreter half of the jit (dvmJitStartup/dvmJitShutdown)
and the compiler half (dvmCompilerStartup/dvmCompilerShutdown). This cl
eliminates the dvmJit pair. Additionally, guard coded added to the
framework callback to return immediately if the Jit isn't active.
diff --git a/vm/compiler/Compiler.c b/vm/compiler/Compiler.c
index 1d52198..705333b 100644
--- a/vm/compiler/Compiler.c
+++ b/vm/compiler/Compiler.c
@@ -503,8 +503,25 @@
else if (gDvm.verboseShutdown)
LOGD("Compiler thread has shut down\n");
}
-}
+ if (gDvm.verboseShutdown)
+ dvmCompilerDumpStats();
+
+ dvmDestroyMutex(&gDvmJit.tableLock);
+ dvmDestroyMutex(&gDvmJit.compilerLock);
+ dvmDestroyMutex(&gDvmJit.compilerICPatchLock);
+
+ if (gDvmJit.pJitEntryTable) {
+ free(gDvmJit.pJitEntryTable);
+ gDvmJit.pJitEntryTable = NULL;
+ }
+
+ if (gDvmJit.pProfTable) {
+ free(gDvmJit.pProfTable);
+ gDvmJit.pProfTable = NULL;
+ }
+
+}
void dvmCompilerStateRefresh()
{