summaryrefslogtreecommitdiffstats
path: root/vm/SignalCatcher.c
diff options
context:
space:
mode:
Diffstat (limited to 'vm/SignalCatcher.c')
-rw-r--r--vm/SignalCatcher.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/vm/SignalCatcher.c b/vm/SignalCatcher.c
index 550f77796..adcff9f34 100644
--- a/vm/SignalCatcher.c
+++ b/vm/SignalCatcher.c
@@ -192,6 +192,9 @@ static void* signalCatcherThreadStart(void* arg)
sigemptyset(&mask);
sigaddset(&mask, SIGQUIT);
sigaddset(&mask, SIGUSR1);
+#if defined(WITH_JIT) && defined(WITH_JIT_TUNING)
+ sigaddset(&mask, SIGUSR2);
+#endif
while (true) {
int rcvd;
@@ -253,6 +256,11 @@ loop:
LOGI("SIGUSR1 forcing GC (no HPROF)\n");
dvmCollectGarbage(false);
#endif
+#if defined(WITH_JIT) && defined(WITH_JIT_TUNING)
+ } else if (rcvd == SIGUSR2) {
+ gDvmJit.printMe ^= true;
+ dvmCompilerDumpStats();
+#endif
} else {
LOGE("unexpected signal %d\n", rcvd);
}
@@ -260,4 +268,3 @@ loop:
return NULL;
}
-