org.jikesrvm.adaptive.measurements.organizers
Class DecayOrganizer

java.lang.Object
  extended by org.mmtk.plan.MutatorContext
      extended by org.mmtk.plan.SimpleMutator
          extended by org.mmtk.plan.StopTheWorldMutator
              extended by org.mmtk.plan.generational.GenMutator
                  extended by org.mmtk.plan.generational.immix.GenImmixMutator
                      extended by org.jikesrvm.mm.mminterface.Selected.Mutator
                          extended by org.jikesrvm.mm.mminterface.ThreadContext
                              extended by org.jikesrvm.scheduler.RVMThread
                                  extended by org.jikesrvm.adaptive.measurements.organizers.Organizer
                                      extended by org.jikesrvm.adaptive.measurements.organizers.DecayOrganizer
All Implemented Interfaces:
Constants

public final class DecayOrganizer
extends Organizer

An organizer that periodically decays runtime counters


Nested Class Summary
 
Nested classes/interfaces inherited from class org.jikesrvm.scheduler.RVMThread
RVMThread.BlockAdapter, RVMThread.GCBlockAdapter, RVMThread.HandshakeBlockAdapter, RVMThread.HardHandshakeVisitor, RVMThread.SoftHandshakeVisitor, RVMThread.SuspendBlockAdapter, RVMThread.Waiting
 
Field Summary
 
Fields inherited from class org.jikesrvm.adaptive.measurements.organizers.Organizer
listener
 
Fields inherited from class org.jikesrvm.scheduler.RVMThread
acctLock, activeMutatorContext, allButGC, ALWAYS_LOCK_ON_STATE_TRANSITION, asyncDebugRequestedForThisThread, BACKEDGE, barriersEntered, barriersExited, BLOCKED_IN_JNI, BLOCKED_IN_NATIVE, bootThread, bridgeInstructions, cachedFreeLock, codePatchSyncRequested, contextRegisters, contextRegistersSave, countdownCBSCall, countdownCBSMethod, daemon, debugLock, debugRequested, debugThreads, doProfileReport, dumpLock, dumpStackOnBlock, EPILOGUE, exitInProgress, feedlet, firstCBSCallSample, firstCBSMethodSample, flushRequested, fooFPOffset, gcBlockAdapter, handshakeBlockAdapter, handshakeLock, handshakeThreads, IN_JAVA, IN_JAVA_TO_BLOCK, IN_JNI, IN_NATIVE, inDumpStack, isWaitingForOsr, jniEnv, LAST_EXEC_STATUS, lockingId, LOG_MAX_THREADS, MAX_THREADS, NATIVE_EPILOGUE, NATIVE_PROLOGUE, NEW, nextSlot, numCBSCallSamples, numCBSMethodSamples, numProcessors, numThreads, onStackReplacementEvent, osr_done, OSROPT, PRIMORDIAL_THREAD_INDEX, PROLOGUE, pthread_id, requesting_osr, softHandshakeDataLock, softHandshakeLeft, softHandshakeRequested, stackLimit, suspendBlockAdapter, takeYieldpoint, TERMINATED, thread_cbs_counter, threadBySlot, threadingInitialized, threads, threadSlot, timerTicks, timeSliceExpired, trace, traceAboutToTerminate, traceAcct, traceBind, traceBlock, traceDetails, traceReallyBlock, tsFPOffset, waitCount, waiting, waitObject, yieldForCBSCall, yieldForCBSMethod, yieldToOSRRequested
 
Fields inherited from class org.jikesrvm.mm.mminterface.ThreadContext
collectorContext
 
Fields inherited from class org.mmtk.plan.generational.GenMutator
arrayRemset, nursery, remset
 
Fields inherited from class org.mmtk.plan.MutatorContext
immortal, lgcode, log, los, nonmove, smcode
 
Fields inherited from interface org.mmtk.utility.Constants
ALIGNMENT_VALUE, ARRAY_ELEMENT, BITS_IN_ADDRESS, BITS_IN_BYTE, BITS_IN_CHAR, BITS_IN_INT, BITS_IN_PAGE, BITS_IN_SHORT, BITS_IN_WORD, BYTES_IN_ADDRESS, BYTES_IN_BYTE, BYTES_IN_CHAR, BYTES_IN_INT, BYTES_IN_KBYTE, BYTES_IN_MBYTE, BYTES_IN_PAGE, BYTES_IN_SHORT, BYTES_IN_WORD, CARD_MASK, CARD_META_PAGES_PER_REGION, INSTANCE_FIELD, LOG_BITS_IN_ADDRESS, LOG_BITS_IN_BYTE, LOG_BITS_IN_CHAR, LOG_BITS_IN_INT, LOG_BITS_IN_PAGE, LOG_BITS_IN_SHORT, LOG_BITS_IN_WORD, LOG_BYTES_IN_ADDRESS, LOG_BYTES_IN_ADDRESS_SPACE, LOG_BYTES_IN_BYTE, LOG_BYTES_IN_CHAR, LOG_BYTES_IN_INT, LOG_BYTES_IN_KBYTE, LOG_BYTES_IN_MBYTE, LOG_BYTES_IN_PAGE, LOG_BYTES_IN_SHORT, LOG_BYTES_IN_WORD, LOG_CARD_BYTES, LOG_CARD_GRAIN, LOG_CARD_META_BYTES, LOG_CARD_META_PAGES, LOG_CARD_META_SIZE, LOG_CARD_UNITS, LOG_MIN_ALIGNMENT, MAX_ALIGNMENT, MAX_BYTES_PADDING, MAX_INT, MIN_ALIGNMENT, MIN_INT, SUPPORT_CARD_SCANNING
 
Constructor Summary
DecayOrganizer(YieldCounterListener listener)
           
 
Method Summary
 void initialize()
          Initialization: install and activate our listener.
(package private)  void thresholdReached()
          Method that is called when the sampling threshold is reached We decay the decayable objects and activate the listener again.
 
Methods inherited from class org.jikesrvm.adaptive.measurements.organizers.Organizer
activate, report, run
 
Methods inherited from class org.jikesrvm.scheduler.RVMThread
assertAcceptableStates, assertAcceptableStates, assertUnacceptableStates, assertUnacceptableStates, asyncBlock, attemptLeaveNativeNoBlock, beginPairHandshake, beginPairWith, beginPairWithCurrent, block, blockedFor, boot, checkDebugRequest, clearDisallowAllocationsByThisThread, clearEmergencyAllocation, clearInterrupted, clearOutOfMemoryError, clearPhysicalAllocationFailed, communicationLock, communicationLockForSlot, countStackFrames, disableYieldpoints, dump, dump, dump, dump, dumpAcct, dumpAll, dumpStack, dumpStack, dumpStack, dumpStackAndDie, dumpVirtualMachine, dumpWithPadding, emergencyAllocation, enableYieldpoints, endPairHandshake, endPairWith, endPairWithCurrent, enterJNIBlockedFromCallIntoNative, enterJNIBlockedFromJNIFunctionCall, enterJNIFromCallIntoNative, enterJNIFromJNIFunctionCall, enterNative, extDump, failIfYieldpointsDisabled, fixupMovedStack, gcEnabled, getCollectionAttempt, getContextRegisters, getCurrentFeedlet, getCurrentThread, getCurrentThreadSlot, getDisableGCDepth, getDisallowAllocationsByThisThread, getExceptionRegisters, getExecStatus, getIsAboutToTerminate, getJavaLangThread, getJNIEnv, getLockingId, getName, getOutOfMemoryError, getPriority, getStack, getStackLength, getState, getThreadForStackTrace, getThreadSlot, handleUncaughtException, hardHandshakeResume, hardHandshakeResume, hardHandshakeSuspend, hardHandshakeSuspend, hasNativeStackFrame, holdsLock, ignoreHandshakesAndGC, init, initializeJNIEnv, interrupt, isAlive, isBlocked, isBootThread, isDaemonThread, isGCThread, isInJava, isInterrupted, isSystemThread, join, leaveJNIBlockedFromCallIntoNative, leaveJNIFromCallIntoNative, leaveJNIFromJNIFunctionCall, leaveNative, makeDaemon, monitor, notify, notifyAll, notRunning, observeExecStatusAtSTW, park, physicalAllocationFailed, processAboutToTerminate, raiseIllegalMonitorStateException, reportCollectionAttempt, reportThreadTransitionCounts, resetCollectionAttempts, resizeCurrentStack, resume, safeAsyncBlock, safeBlock, safeToForceGCs, saveThreadState, setDisableGCDepth, setDisallowAllocationsByThisThread, setEmergencyAllocation, setName, setOutOfMemoryError, setPhysicalAllocationFailed, setPriority, setupBootJavaThread, setupBootThread, shouldBeSampled, sleep, sleep, snapshotHandshakeThreads, softHandshake, softRendezvous, softRendezvousCheckAndClear, softRendezvousCommit, start, stop, suspend, terminate, toString, trace, trace, trace, traceback, traceback, traceHex, unblock, unpark, wait, wait, waitAbsoluteNanos, worldStopped, yield, yieldpoint, yieldpointFromBackedge, yieldpointFromEpilogue, yieldpointFromPrologue, yieldpointsEnabled
 
Methods inherited from class org.jikesrvm.mm.mminterface.Selected.Mutator
get, getThread
 
Methods inherited from class org.mmtk.plan.generational.immix.GenImmixMutator
alloc, collectionPhase, getAllocatorFromSpace, postAlloc
 
Methods inherited from class org.mmtk.plan.generational.GenMutator
assertRemsetsFlushed, flushRememberedSets, objectReferenceBulkCopy, objectReferenceNonHeapWrite, objectReferenceTryCompareAndSwap, objectReferenceWrite
 
Methods inherited from class org.mmtk.plan.MutatorContext
addressBulkCopy, addressRead, addressTryCompareAndSwap, addressWrite, booleanBulkCopy, booleanRead, booleanWrite, byteBulkCopy, byteRead, byteWrite, charBulkCopy, charRead, charWrite, checkAllocator, deinitMutator, doubleBulkCopy, doubleRead, doubleWrite, extentBulkCopy, extentRead, extentWrite, floatBulkCopy, floatRead, floatWrite, flush, getId, getLog, initMutator, intBulkCopy, intRead, intTryCompareAndSwap, intWrite, javaLangReferenceReadBarrier, longBulkCopy, longRead, longTryCompareAndSwap, longWrite, objectReferenceNonHeapRead, objectReferenceRead, offsetBulkCopy, offsetRead, offsetWrite, shortBulkCopy, shortRead, shortWrite, wordBulkCopy, wordRead, wordTryCompareAndSwap, wordWrite
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DecayOrganizer

public DecayOrganizer(YieldCounterListener listener)
Parameters:
listener - the associated listener
Method Detail

initialize

public void initialize()
Initialization: install and activate our listener.

Specified by:
initialize in class Organizer

thresholdReached

void thresholdReached()
Method that is called when the sampling threshold is reached We decay the decayable objects and activate the listener again.

Specified by:
thresholdReached in class Organizer