diff options
author | Andrew John Hughes <gnu_andrew@member.fsf.org> | 2006-12-25 23:58:51 +0000 |
---|---|---|
committer | Andrew John Hughes <gnu_andrew@member.fsf.org> | 2006-12-25 23:58:51 +0000 |
commit | a850dd23822bd7a67e1f660f2cd056ea29852a81 (patch) | |
tree | c83b223da9ae04b27d8a9ea9ff6c108fc471d3ef /doc | |
parent | 767e9897197de5459970fe871cf4c2444fd63fff (diff) | |
download | classpath-a850dd23822bd7a67e1f660f2cd056ea29852a81.tar.gz |
2006-12-25 Andrew John Hughes <gnu_andrew@member.fsf.org>
* doc/vmintegration.texinfo:
Updated to match new threading bean API.
* gnu/java/lang/management/ThreadMXBeanImpl.java:
(MONITOR_SUPPORT): New constant for object monitor
lock support property.
(SYNCHRONIZER_SUPPORT): New constant for ownable
synchronizer lock support property.
(dumpAllThreads(boolean,boolean)): Implemented.
(findDeadlockedThreads()): Likewise.
(getThreadInfo(long[],boolean,boolean)): Likewise.
(isObjectMonitorUsageSupported()): Likewise.
(isSynchronizerUsageSupported()): Likewise.
* java/lang/management/ThreadInfo.java:
(ThreadInfo(Thread,long,long,Object,Thread,long,
long,boolean,boolean,StackTraceElement[],
MonitorInfo[], LockInfo[])): New constructor.
(ThreadInfo(long,String,Thread.State,long,long,
String,long,String,long,long,boolean,boolean,
StackTraceElement[],MonitorInfo[], LockInfo[])):
Likewise.
(from(CompositeData)): Updated to handle new attributes.
(getLockedMonitors()): Implemented.
(getLockedSynchronizers()): Likewise.
(getLockInfo()): Likewise.
(getLockName()): Handle blocking as documented in 1.6
(getLockOwnerId()): Likewise.
(getLockOwnerName()): Likewise.
(toString()): Likewise.
(isThreadBlocked()): Thread blocked check based on
documented 1.6 semantics.
* java/lang/management/ThreadMXBean.java:
(dumpAllThreads(boolean,boolean)): Implemented.
(findDeadlockedThreads()): Likewise.
(getThreadInfo(long[],boolean,boolean)): Likewise.
(isObjectMonitorUsageSupported()): Likewise.
(isSynchronizerUsageSupported()): Likewise.
* vm/reference/gnu/java/lang/management/VMThreadMXBeanImpl.java:
(findDeadlockedThreads()): New native method.
(getLockInfo(ThreadInfo)): Likewise.
(getMonitorInfo(ThreadInfo)): Likewise.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/vmintegration.texinfo | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/doc/vmintegration.texinfo b/doc/vmintegration.texinfo index 6d59b5d8f..698560dad 100644 --- a/doc/vmintegration.texinfo +++ b/doc/vmintegration.texinfo @@ -1376,6 +1376,12 @@ time used by all threads. @item @code{gnu.java.lang.management.ThreadContentionSupport} -- This property should be present if the VM supports thread contention monitoring. +@item @code{gnu.java.lang.management.MonitorUsageMonitoringSupport} -- +This property should be present if the VM supports the monitoring +of object monitor usage. +@item @code{gnu.java.lang.management.OwnableSynchronizerUsageMonitoringSupport} -- +This property should be present if the VM supports the monitoring +of ownable synchronizer usage. @end itemize In addition, the property @@ -1386,11 +1392,18 @@ is enabled at startup. The methods are as follows: @itemize @bullet +@item @code{(findDeadlockedThreads())} -- This should return +an array of thread identifiers which match threads involved in +deadlock cycles (where each thread is waiting to obtain a lock +held by one of the others) on object monitors or ownable +synchronizers. This is specified as a native method in the +reference implementation, and is optional. It is only called +when the VM supports ownable synchronizer monitoring. @item @code{(findMonitorDeadlockedThreads())} -- This should return an array of thread identifiers which match threads involved in deadlock cycles (where each thread is waiting to obtain a lock -held by one of the others). This is specified as a native method -in the reference implementation. +held by one of the others) on object monitors. This is specified +as a native method in the reference implementation. @item @code{(getAllThreads())} -- This should return an array of all live threads and set the @code{filled} variable to the number found. A default implementation is provided. @@ -1408,6 +1421,16 @@ supporting time monitoring. @item @code{(getDaemonThreadCount())} -- This should return the number of live daemon threads. A default implementation is provided, based on @code{getAllThreads()}. +@item @code{(getLockInfo(ThreadInfo))} -- This is an optional native +method called when the VM supports ownable synchronizer usage monitoring +and the user has requested information for a particular thread. The +supplied @code{ThreadInfo} object should be filled out with an +array of @code{LockInfo} objects, providing details on each lock. +@item @code{(getMonitorInfo(ThreadInfo))} -- This is an optional native +method called when the VM supports object monitor usage monitoring +and the user has requested information for a particular thread. The +supplied @code{ThreadInfo} object should be filled out with an +array of @code{MonitorInfo} objects, providing details on each lock. @item @code{(getPeakThreadCount())} -- The VM should maintain a record of the peak number of live threads, and return it when this method is called. This is specified as a native method in the reference |