History log of /dalvik/vm/native/dalvik_system_VMDebug.c
Revision Date Author Comments
6159ef4520073ae8e7ce7b7d1f7648b161a33302 04-Nov-2010 Carl Shapiro <cshapiro@google.com> Parameterize instance counting to include subclasses.
0d615c3ce5bf97ae65b9347ee77968f38620d5e8 18-Aug-2010 Andy McFadden <fadden@android.com> Always support debugging and profiling.

This eliminates the use of the WITH_DEBUGGER and WITH_PROFILER
conditional compilation flags. We've never shipped a device without
these features, and it's unlikely we ever will. They're not worth
the code clutter they cause.

As usual, since I can't test the x86-atom code I left that alone and
added an item to the TODO list.

Bug 2923442.

Change-Id: I335ebd5193bc86f7641513b1b41c0378839be1fe
41eb6e988193a1c6b331c7c208bf8dd74f96d773 17-Aug-2010 Carl Shapiro <cshapiro@google.com> Fix build breakage caused by the countInstancesOfClass change.

There is an apparent visibility skew between passion-eng and sim-eng
builds. On sim-eng, the contents of Heap.h are globally visible but
on passion-eng this is not the case. To resolve this issue, I have
moved the offending declarations to alloc/Alloc.h which is directly
exported from Dalvik.h.

Change-Id: Iaf6f167964f81f24fa0817aa4a84b9fb4ff9a9a0
e0376ec0eaeb77686945080c89c300cff7506962 17-Aug-2010 Carl Shapiro <cshapiro@google.com> Add a method for counting the extant instances of a class.

This facility should supersede the use of finalizers in computing
instance counts for the "adb shell dumpsys meminfo" reports.

Change-Id: I026e7083e39aa296bbbcf665231ec20d6b37cdf6
4b851a75f7712086a9fc4427f68c99b83725f37d 10-Jul-2010 Andy McFadden <fadden@android.com> Allow heap dump requests with a FileDescriptor arg.

Part of a larger change to allow "am" to initiate hprof heap dumps.

The original implementation wrote data to a temp file, because we
compute the second part first while doing GC work. Now all paths
work like DDMS, writing all data to a memstream and then copying it
out to a file at the very end.

Also, fix a potential fd leak on failure in the profiling code.

Bug 2759474.

Change-Id: I0f838cbd9948a23088f08463c3008be7198d76e7
364f9d924cbd9d392744a66f80cc084c3d80caf0 12-Jun-2010 Barry Hayes <bhayes@google.com> Put wrappers on all stores of Object pointers into heap Objects.

Also:
Changed ++ loops to [i] loops where I'm touching.
Added some asserts.
Added dvmHeapSourceContainsAddress
Added dvmIsValidObjectAddress

Change-Id: I6586688246064aecabb1e22e1dca276fecee7795
81f3ebe03cd33c9003641084bece0604ee68bf88 16-Jun-2010 Barry Hayes <bhayes@google.com> Remove the "allocFlags" parameter from dvmCreateStringFromCstr and
dvmCreateStringFromCstrAndLength.

The only valid argument would be ALLOC_DEFAULT, so drop the parameter.

Change-Id: Idf469ef0ec12b0743792fc525e0c53fc7486eab6
de75089fb7216d19e9c22cce4dc62a49513477d3 09-Jun-2010 Carl Shapiro <cshapiro@google.com> Remove trailing whitespace.

Change-Id: I95534bb2b88eaf48f2329282041118cd034c812b
31513e18a4be66463de110ce041a61b81c3f1367 31-Mar-2010 Andy McFadden <fadden@android.com> Fix misuse of ALLOC_DONT_TRACK.

The internal String creation function doesn't allow ALLOC_DONT_TRACK.
This changes the call to use ALLOC_DEFAULT and then explicitly release
the tracked allocation.

For bug 2558142.

Change-Id: I57dfa4824578c3a3a33f6836b75f51391cc73746
7d656ddd1ac67833e0331bb7cf92b7298b494762 13-Mar-2010 Ben Cheng <bccheng@android.com> Add a native method dalvik.system.VMDebug.infopoint(int id).

With gdb, the JIT can use it to inspect the VM state when an instrumented line
is reached.

Change-Id: Id39ac4cd564bc1a61208cb7527c30f62b5de3e4e
e15a8eb2653da80c1c3816ddce8186746b57b4a3 23-Feb-2010 Andy McFadden <fadden@android.com> Add class init stats to alloc counters (API change).

Add calls to retrieve class initialization stats via the allocation
count mechanism.

Also: deprecate a method that is never used, and a redundantly declared
default filename that begins with "/sdcard".

For bug 2461549.
6bf992c9d51f1e12aa37fe4c791c156402a9b79b 29-Jan-2010 Andy McFadden <fadden@android.com> Add support for streaming hprof dumps.

This adds the dumpHprofDataDdms method, which generates the hprof dump
in RAM and then spits the whole thing at DDMS. The idea is to avoid
touching /sdcard, since not all apps have permission to do that.

This rearranges hprofShutdown() a fair bit. It used to re-use a context
struct, saving interesting bits to local variables before zapping it;
now we just create a second context struct and free both at the end.

For bug 2092855.
0171812e59e2520a4345b9bbadd4f7afa0a1de16 23-Jan-2010 Andy McFadden <fadden@android.com> Add streaming method profiling support.

The goal is to allow DDMS to start/stop method profiling in apps that
don't have permission to write to /sdcard. Instead of writing the
profiling data to disk and then pulling it off, we just blast the whole
thing straight from memory.

This includes:

- New method tracing start call (startMethodTracingDdms).
- Rearrangement of existing VMDebug method tracing calls for sanity.
- Addition of "vector" chunk send function, with corresponding
update to the JDWP transport function.
- Reshuffled the method trace start interlock, which seemed racy.
- Post new method-trace-profiling-streaming feature to DDMS.

Also:

- Added an internal exception-throw function that allows a printf
format string, so we can put useful detail into exception messages.

For bug 2160407.
fd52c6526bf84c24ee6dec5ca6822c3a78bbd4a3 22-Jan-2010 Andy McFadden <fadden@android.com> Move VM feature strings (used by DDMS) into VM.

Until now, we used a place-holder in frameworks/base.

Removed cruft.
72e93344b4d1ffc71e9c832ec23de0657e5b04a5 13-Nov-2009 Jean-Baptiste Queru <jbq@google.com> eclair snapshot
92fa476a8802023b443af893817eb14fef18aaea 23-Oct-2009 Andy McFadden <fadden@android.com> Add a reference table dump call.

This adds a hidden method to android.os.Debug that causes the contents
of various reference tables to be dumped. Currently it's the local,
global, and pinned array tables from JNI.

Bug 2075355
e9efb8a44202c814b0ebdc16fbab1f754451cd38 31-Jul-2009 Andy McFadden <fadden@android.com> Added VMDebug.crash() (hidden).

This call prints the stack trace for the current thread, and then
crashes the VM so you can see the native stack trace too. Useful for
figuring out "how did I get here?" situations.
0f0ae023a3a53f7c9e254283b50a0099781acb79 24-Jun-2009 Dianne Hackborn <hackbod@google.com> Add FileDescriptor variation of startMethodTracing().

This is for bug #1829561 ("am profile" with bad filename kills process), which
will allow the am command to take care of opening the file and handing the
resulting fd over to the process to be profiled.
9faa9e6a7df9a5b9ef7c8e9d5c07d2a050c319d3 08-Apr-2009 Andy McFadden <> AI 144931: Added a (hidden) way to "pre-cache" register maps.
The 50 methods that appeared on the GC stacks of the most applications
require 13KB of native heap for their uncompressed register maps, and
the full set took 5ms to uncompress. Pre-computation doesn't represent
a significant improvement in space or time, at the cost of a big pile
of strings in ZygoteInit.
I'm leaving the method in ZygoteInit, but it's not called, and the
static final String[] of method descriptors is empty. We may want to
revisit this later.
BUG=1729570

Automated import of CL 144931
8c880b9e903504fa9c61d9964ba2379f0e060af5 25-Mar-2009 Andy McFadden <> Automated import from //branches/donutburger/...@140700,140700
99409883d9c4c0ffb49b070ce307bb33a9dfe9f1 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import //branches/master/...@140412
f6c387128427e121477c1b32ad35cdcaa5101ba3 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
f72d5de56a522ac3be03873bdde26f23a5eeeb3c 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
5d709784bbf5001012d7f25172927d46f6c1abe1 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
89c1feb0a69a7707b271086e749975b3f7acacf7 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589