summaryrefslogtreecommitdiffstats
path: root/vm/Thread.h
diff options
context:
space:
mode:
authorCarl Shapiro <cshapiro@google.com>2010-10-26 21:07:41 -0700
committerCarl Shapiro <cshapiro@google.com>2010-10-28 18:05:28 -0700
commit07018e2d14b012ae433a0d82025a885ed8debc3b (patch)
tree101b71a3eb10034779a38f01394ae98ba61c27a1 /vm/Thread.h
parente2d2470a6282113b495f2c05a2fa47109d8a4b46 (diff)
downloadandroid_dalvik-07018e2d14b012ae433a0d82025a885ed8debc3b.tar.gz
android_dalvik-07018e2d14b012ae433a0d82025a885ed8debc3b.tar.bz2
android_dalvik-07018e2d14b012ae433a0d82025a885ed8debc3b.zip
Separate HPROF from the GC.
In the beginning, the only way to traverse the roots and heap was to piggyback off the garbage collector. As such, HPROF was implemented by instrumenting the root- and object traversal routines to check a mode flag and call into HPROF during a GC when the flag was set. This change moves the HPROF calls out of the GC and into callbacks invoked through the visitor. Notably, it allows HPROF dumps to be computed at any point in time without invoking a GC and potentially destroying evidence relating to the cause of an OOM. Change-Id: I2b74c4f10f35af3ca33b7c0bbfe470a8b586ff66
Diffstat (limited to 'vm/Thread.h')
-rw-r--r--vm/Thread.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/vm/Thread.h b/vm/Thread.h
index 5afeefe37..ce53c3391 100644
--- a/vm/Thread.h
+++ b/vm/Thread.h
@@ -289,6 +289,7 @@ typedef enum SuspendCause {
SUSPEND_FOR_STACK_DUMP,
SUSPEND_FOR_DEX_OPT,
SUSPEND_FOR_VERIFY,
+ SUSPEND_FOR_HPROF,
#if defined(WITH_JIT)
SUSPEND_FOR_TBL_RESIZE, // jit-table resize
SUSPEND_FOR_IC_PATCH, // polymorphic callsite inline-cache patch