aboutsummaryrefslogtreecommitdiff
path: root/vm/Profile.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Change IsMethodTracingActive to GetMethodTracingMode.Jeff Hao2013-08-301-3/+9
| | | | | | | | | | This allows traceview to tell whether tracing is active, and whether it is sampling or method tracing. Bug: 9968521 Change-Id: I72100d1536ea3168998110ec1cfa5a183b55a67c (cherry picked from commit 9d3a0a2e253aecd07c4a053c19cf9b0ccaa2db49)
* Add dalvik support for sample profiling from traceview gui.Jeff Hao2013-08-281-11/+12
| | | | | | (cherry picked from commit 86bb14a3e4d7ef3b8b4240bbc2a8b989a1b8c7c0) Change-Id: Ifece45f6a6644c20b6681a58dd3eae3534ad47e4
* Add support for sample profiling in traceview.Jeff Hao2013-08-281-28/+215
| | | | | | | | | | Instead of method instrumentation, allow traceview to periodically sample stack traces of threads. Disabled by default until we add gui support for this new mode. (cherry picked from commit 676f8a527fb62abd39663d55c7d9208f5ca03093) Change-Id: Ia5d0d57012305a5830d042bcb903a429432b035b
* Replace malloc() followed by memset() to zero with calloc()Iliyan Malchev2012-02-161-2/+1
| | | | | | | | | | | Bionic's calloc() is smart enough to not zero out memory if it gets that memory from an anonyous mmap. Thus, if we use malloc for large allocations, we cause unnecessary memory duplication by following the malloc() with a memset(). An even better approach would be to replace the known large calloc() calls with dvmAllocRegion() allocation. Change-Id: Id308f541c9a040d5929bf991b6c2bfdefb823c3c
* Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGESteve Block2012-01-081-8/+8
| | | | | | | | | See https://android-git.corp.google.com/g/#/c/157220 Also fix an occurrence of LOGW missed in an earlier change. Bug: 5449033 Change-Id: I2e3b23839e6dcd09015d6402280e9300c75e3406
* Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGESteve Block2012-01-061-2/+2
| | | | | | | See https://android-git.corp.google.com/g/157065 Bug: 5449033 Change-Id: Ia5d301248024df26c2a29dabdfe738e39ec87c82
* Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGESteve Block2012-01-051-4/+4
| | | | | | | See https://android-git.corp.google.com/g/156801 Bug: 5449033 Change-Id: Ic558031c75b3702d90eb78bd730501ae5d3c077b
* Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGESteve Block2012-01-031-4/+4
| | | | | | | See https://android-git.corp.google.com/g/156016 Bug: 5449033 Change-Id: Ic663376d1ad6a6cb14bf81405ad9afd247cf2f60
* am ccf4c9d9: Don\'t decr profiling count without incrAndy McFadden2011-11-051-1/+0
|\ | | | | | | | | * commit 'ccf4c9d99fcffbc9bf65066004896745b9dcc340': Don't decr profiling count without incr
| * Don't decr profiling count without incrAndy McFadden2011-11-041-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | The failure cleanup code in dvmMethodTraceStart() was assuming that profiling had already been started, which was true until my previous change. The code in the interpreter isn't too picky, but updateActiveProfilers() is trying to keep an accurate acount, and gets upset. If you pass in a bad filename, we disable something that was never enabled, and the VM gets confused and aborts out of spite. Related to bug 5564440 Change-Id: I17fd8bf4654c29f49efb10142d222a91c190b6ed
* | am ab97cd16: Start profiling after state prepAndy McFadden2011-11-031-6/+8
|\| | | | | | | | | * commit 'ab97cd1634ed4e2c9e5c558a9f88ed9ca8623c8c': Start profiling after state prep
| * Start profiling after state prepAndy McFadden2011-11-031-6/+8
| | | | | | | | | | | | | | | | | | | | The updateActiveProfilers() call was happening before the profiler state setup was completed, creating a race that could lead to a native crash. Bug 5564440 Change-Id: I8c030fc87f106aa8b2a67876d604a5bd79e05175
* | Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGESteve Block2011-10-261-1/+1
|/ | | | | | | See https://android-git.corp.google.com/g/#/c/143865 Bug: 5449033 Change-Id: I8bd96961e369a08e86ff78b82d90f20f42787eb1
* Add a dual clock profiler tracing mode.Jeff Brown2011-06-271-67/+146
| | | | | | | | | | | | | | | | | | | Dalvik previously supported using either the thread-cpu clock or the real time clock as the timebase for profiler traces. This change adds a dual clock mode where both thread-cpu time and real time timestamps are collected. Using dual clock mode significantly improves TraceView ability to accurately reconstruct the global timeline of events, particularly on SMP systems. For now, thread-cpu mode remains the default. Dual clock mode can be enabled by running the following command and restarting the system server. adb shell setprop dalvik.vm.extra-opts -Xprofile:dualclock Change-Id: I8c0d91a99aa6829dadea328e54dc1225d9827391
* Improve "waiting on"/"waiting to lock" SIGQUIT dump info.Elliott Hughes2011-06-071-9/+4
| | | | | | | | | | | | | In particular, when we're waiting on a Class, say which class: I(16573) - waiting on <0xf5ed54f8> (java.lang.Class<java.lang.ref.ReferenceQueue>) versus: I(16573) - waiting on <0xf5feda38> (a java.util.LinkedList) Bug: http://code.google.com/p/android/issues/detail?id=17349 Change-Id: I844d02c008b1499adb02995ff3da25ba8cad0e0a
* More LOG newline cleanup.Dan Bornstein2011-05-261-1/+1
| | | | | | | This changes all the places I could find where the log string was on the line after its LOG call. Change-Id: Iac6a9fcc64f46631fb093824ab60237dce1a5241
* Further conservation of newlines.Dan Bornstein2011-05-261-19/+19
| | | | | | Friends don't let friends end LOG() strings with newlines. Change-Id: I5a18c766c90c4ab5f03caa6acd601d34d91beb00
* Refine & simplify the interBreak mechanismbuzbee2011-04-251-11/+13
| | | | | | | | | | | | Replace dvmUpdateInterpBreak() and friends with more direct enable/disable subMode calls. Hide breakFlags manipulation from higher-level callers and infer what is needed from the active subMode. Add documentation to the interpreter control section of mterp/README.txt Change-Id: If7ebee5d8e4db8154c4caed72cf89ec088045998
* Remove unneeded void argument list declarations.Carl Shapiro2011-04-201-16/+16
| | | | Change-Id: Ica749f6defa890363ec531b29e25bc415dc2cbb9
* Move the remaining non-compiler VM code into C++.Carl Shapiro2011-04-151-0/+931
Change-Id: Id8693208d2741c55a7b0474d1264f2112019d11f