1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- /* GCInfo.java -- Support for creating heap dumps.
- Copyright (C) 2007 Free Software Foundation
- This file is part of libgcj.
- This software is copyrighted work licensed under the terms of the
- Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
- details. */
- package gnu.gcj.util;
- public class GCInfo
- {
- private GCInfo()
- {
- }
- /**
- * @throws SecurityException if there is a SecurityManager installed
- * and UtilPermission("dumpHeap") is not granted.
- */
- private static void checkPermission()
- {
- SecurityManager sm = System.getSecurityManager();
- if (sm != null)
- sm.checkPermission(new UtilPermission("dumpHeap"));
- }
-
- /**
- * Dump a description of the heap state.
- *
- * @param namePrefix The filename prefix for the dump files.
- *
- * @throws SecurityException if there is a SecurityManager installed
- * and UtilPermission("dumpHeap") is not granted.
- */
- public static synchronized void dump(String name)
- {
- checkPermission();
- dump0(name);
- }
-
- private static native void dump0(String name);
- /**
- * Create a heap dump.
- *
- * @param namePrefix The filename prefix for the dump files.
- *
- * @throws SecurityException if there is a SecurityManager installed
- * and UtilPermission("dumpHeap") is not granted.
- */
- public static synchronized void enumerate(String namePrefix)
- {
- checkPermission();
- enumerate0(namePrefix);
- }
-
- private static native void enumerate0(String namePrefix);
- /**
- * Cause a heap dump if out-of-memory condition occurs.
- *
- * @param namePrefix The filename prefix for the dump files. If
- * null no dumps are created.
- *
- * @throws SecurityException if there is a SecurityManager installed
- * and UtilPermission("dumpHeap") is not granted.
- */
- public static synchronized void setOOMDump(String namePrefix)
- {
- checkPermission();
- setOOMDump0(namePrefix);
- }
-
- private static native void setOOMDump0(String namePrefix);
- }
|