diff options
Diffstat (limited to 'dalvik/src/main/java/org/apache/harmony/dalvik/ddmc/DdmVmInternal.java')
-rw-r--r-- | dalvik/src/main/java/org/apache/harmony/dalvik/ddmc/DdmVmInternal.java | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/dalvik/src/main/java/org/apache/harmony/dalvik/ddmc/DdmVmInternal.java b/dalvik/src/main/java/org/apache/harmony/dalvik/ddmc/DdmVmInternal.java new file mode 100644 index 0000000..01293b0 --- /dev/null +++ b/dalvik/src/main/java/org/apache/harmony/dalvik/ddmc/DdmVmInternal.java @@ -0,0 +1,84 @@ +/* + * Copyright (C) 2007 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.harmony.dalvik.ddmc; + +/** + * Declarations for some VM-internal DDM stuff. + */ +public class DdmVmInternal { + + /* do not instantiate */ + private DdmVmInternal() {} + + /** + * Enable thread notification. + * + * This is built into the VM, since that's where threads get managed. + */ + native public static void threadNotify(boolean enable); + + /** + * Enable heap info updates. + * + * This is built into the VM, since that's where the heap is managed. + * + * @param when when to send the next HPIF chunk + * @return true on success. false if 'when' is bad or if there was + * an internal error. + */ + native public static boolean heapInfoNotify(int when); + + /** + * Enable heap segment updates for the java (isNative == false) or + * native (isNative == true) heap. + * + * This is built into the VM, since that's where the heap is managed. + */ + native public static boolean heapSegmentNotify(int when, int what, + boolean isNative); + + /** + * Get status info for all threads. This is for the THST chunk. + * + * Returns a byte array with the THST data, or null if something + * went wrong. + */ + native public static byte[] getThreadStats(); + + /** + * Get a stack trace for the specified thread ID. The ID can be found + * in the data from getThreadStats. + */ + native public static StackTraceElement[] getStackTraceById(int threadId); + + /** + * Enable or disable "recent allocation" tracking. + */ + native public static void enableRecentAllocations(boolean enable); + + /* + * Return a boolean indicating whether or not the "recent allocation" + * feature is currently enabled. + */ + native public static boolean getRecentAllocationStatus(); + + /** + * Fill a buffer with data on recent heap allocations. + */ + native public static byte[] getRecentAllocations(); +} + |