Top Inners Fields Constructors Methods
com.sun.tools.jdi

pack-priv Class VMState

extends Object
Class Inheritance
Imports
java.lang.ref.ReferenceQueue, .WeakReference, java.util.*, com.sun.jdi.ThreadGroupReference, .ThreadReference, .VirtualMachine

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class

Field Summary

Modifier and TypeField and Description
private VMState.Cache
private final List<WeakReference<VMListener>>
private final ReferenceQueue<VMListener>
private static final VMState.Cache
private boolean
private final Set<Integer>
private final VirtualMachineImpl

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
pack-priv synchronized void
pack-priv List<ThreadReference>
private void
private void
pack-priv synchronized void
private VMState.Cache
pack-priv synchronized boolean
pack-priv boolean
isSuspended()

Is the VM currently suspended, for the purpose of caching?

pack-priv void
private synchronized void
private void
pack-priv void
thaw()

All threads are resuming

pack-priv synchronized void
thaw(ThreadReference resumingThread)

Tell listeners to invalidate suspend-sensitive caches.

pack-priv synchronized PacketStream
pack-priv List<ThreadGroupReference>
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

cacheback to summary
private VMState.Cache cache
listenersback to summary
private final List<WeakReference<VMListener>> listeners
listenersReferenceQueueback to summary
private final ReferenceQueue<VMListener> listenersReferenceQueue
markerCacheback to summary
private static final VMState.Cache markerCache
notifyingListenersback to summary
private boolean notifyingListeners
pendingResumeCommandsback to summary
private final Set<Integer> pendingResumeCommands
vmback to summary
private final VirtualMachineImpl vm

Constructor Detail

VMStateback to summary
pack-priv VMState(VirtualMachineImpl vm)

Method Detail

addListenerback to summary
pack-priv synchronized void addListener(VMListener listener)
allThreadsback to summary
pack-priv List<ThreadReference> allThreads()
disableCacheback to summary
private void disableCache()
enableCacheback to summary
private void enableCache()
freezeback to summary
pack-priv synchronized void freeze()
getCacheback to summary
private VMState.Cache getCache()
hasListenerback to summary
pack-priv synchronized boolean hasListener(VMListener listener)
isSuspendedback to summary
pack-priv boolean isSuspended()

Is the VM currently suspended, for the purpose of caching? Must be called synchronized on vm.state()

notifyCommandCompleteback to summary
pack-priv void notifyCommandComplete(int id)
processVMActionback to summary
private synchronized void processVMAction(VMAction action)
removeUnreachableListenersback to summary
private void removeUnreachableListeners()
thawback to summary
pack-priv void thaw()

All threads are resuming

thawback to summary
pack-priv synchronized void thaw(ThreadReference resumingThread)

Tell listeners to invalidate suspend-sensitive caches. If resumingThread != null, then only that thread is being resumed.

thawCommandback to summary
pack-priv synchronized PacketStream thawCommand(CommandSender sender)
topLevelThreadGroupsback to summary
pack-priv List<ThreadGroupReference> topLevelThreadGroups()
com.sun.tools.jdi back to summary

private Class VMState.Cache

extends Object
Class Inheritance

Field Summary

Modifier and TypeField and Description
pack-priv List<ThreadGroupReference>
pack-priv List<ThreadReference>

Constructor Summary

AccessConstructor and Description
private

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

groupsback to summary
pack-priv List<ThreadGroupReference> groups
threadsback to summary
pack-priv List<ThreadReference> threads

Constructor Detail

Cacheback to summary
private Cache()