|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.mmtk.vm.Collection
org.jikesrvm.mm.mmtk.Collection
public class Collection
| Field Summary | |
|---|---|
private static Atom |
collectorThreadAtom
The fully qualified name of the collector thread. |
private static RVMThread.SoftHandshakeVisitor |
mutatorFlushVisitor
|
private static Atom |
runAtom
The string "run". |
| Fields inherited from class org.mmtk.vm.Collection |
|---|
EXTERNAL_GC_TRIGGER, INTERNAL_GC_TRIGGER, INTERNAL_PHASE_GC_TRIGGER, RESOURCE_GC_TRIGGER, TRIGGER_REASONS, triggerReasons, UNKNOWN_GC_TRIGGER |
| Fields inherited from interface org.jikesrvm.Constants |
|---|
NOT_REACHED, REFLECTION_FPRS_BITS, REFLECTION_FPRS_MASK, REFLECTION_GPRS_BITS, REFLECTION_GPRS_MASK |
| Fields inherited from interface org.jikesrvm.objectmodel.ThinLockConstants |
|---|
TL_DEDICATED_U16_OFFSET, TL_DEDICATED_U16_SHIFT, TL_LOCK_COUNT_MASK, TL_LOCK_COUNT_SHIFT, TL_LOCK_COUNT_UNIT, TL_LOCK_ID_MASK, TL_LOCK_ID_SHIFT, TL_NUM_BITS_RC, TL_NUM_BITS_STAT, TL_NUM_BITS_TID, TL_STAT_BIASABLE, TL_STAT_FAT, TL_STAT_MASK, TL_STAT_SHIFT, TL_STAT_THIN, TL_THREAD_ID_MASK, TL_THREAD_ID_SHIFT, TL_UNLOCK_MASK |
| Fields inherited from interface org.jikesrvm.objectmodel.TIBLayoutConstants |
|---|
IMT_METHOD_SLOTS, NEEDS_DYNAMIC_LINK, TIB_ARRAY_ELEMENT_TIB_INDEX, TIB_DOES_IMPLEMENT_INDEX, TIB_FIRST_SPECIALIZED_METHOD_INDEX, TIB_FIRST_VIRTUAL_METHOD_INDEX, TIB_INTERFACE_DISPATCH_TABLE_INDEX, TIB_SUPERCLASS_IDS_INDEX, TIB_TYPE_INDEX |
| Fields inherited from interface org.jikesrvm.HeapLayoutConstants |
|---|
BAD_MAP_COMPRESSION, BOOT_IMAGE_CODE_END, BOOT_IMAGE_CODE_SIZE, BOOT_IMAGE_CODE_START, BOOT_IMAGE_DATA_END, BOOT_IMAGE_DATA_SIZE, BOOT_IMAGE_DATA_START, BOOT_IMAGE_END, BOOT_IMAGE_RMAP_END, BOOT_IMAGE_RMAP_START, MAX_BOOT_IMAGE_RMAP_SIZE, MAXIMUM_MAPPABLE |
| Constructor Summary | |
|---|---|
Collection()
|
|
| Method Summary | |
|---|---|
int |
activeGCThreadOrdinal()
|
int |
activeGCThreads()
|
private static void |
checkForOutOfMemoryError(boolean afterCollection)
Check if there is an out of memory error waiting. |
static void |
init()
Initialization that occurs at build time. |
boolean |
isEmergencyAllocation()
Does the VM consider this an emergency allocation, where the normal heap size rules can be ignored. |
void |
joinCollection()
Joins a collection. |
int |
maximumCollectionAttempt()
The maximum number collection attempts across threads. |
boolean |
noThreadsInGC()
Determine whether a collection cycle has fully completed (this is used to ensure a GC is not in the process of completing, to avoid, for example, an async GC being triggered on the switch from GC to mutator thread before all GC threads have switched. |
void |
prepareCollector(CollectorContext c)
Prepare a collector for a collection. |
void |
prepareMutator(MutatorContext m)
Prepare a mutator for a collection. |
int |
rendezvous(int where)
Rendezvous with all other processors, returning the rank (that is, the order this processor arrived at the barrier). |
void |
reportAllocationSuccess()
Report that the the physical allocation has succeeded. |
void |
reportPhysicalAllocationFailed()
Report that a physical allocation has failed. |
void |
requestMutatorFlush()
Request each mutator flush remembered sets. |
static void |
scheduleFinalizerThread()
Schedule the finalizerThread, if there are objects to be finalized and the finalizerThread is on its queue (ie. currently idle). |
void |
triggerAsyncCollection(int why)
Trigger an asynchronous collection, checking for memory exhaustion first. |
void |
triggerCollection(int why)
Triggers a collection. |
static void |
triggerCollectionStatic(int why)
Triggers a collection. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private static Atom collectorThreadAtom
private static Atom runAtom
private static RVMThread.SoftHandshakeVisitor mutatorFlushVisitor
| Constructor Detail |
|---|
public Collection()
| Method Detail |
|---|
public static void init()
public final void triggerCollection(int why)
triggerCollection in class Collectionwhy - the reason why a collection was triggered. 0 to
TRIGGER_REASONS - 1.public final void joinCollection()
joinCollection in class Collectionpublic static void triggerCollectionStatic(int why)
why - the reason why a collection was triggered. 0 to
TRIGGER_REASONS - 1.private static void checkForOutOfMemoryError(boolean afterCollection)
public int maximumCollectionAttempt()
maximumCollectionAttempt in class Collectionpublic void reportAllocationSuccess()
reportAllocationSuccess in class Collectionpublic void reportPhysicalAllocationFailed()
reportPhysicalAllocationFailed in class Collectionpublic boolean isEmergencyAllocation()
isEmergencyAllocation in class Collectionpublic final void triggerAsyncCollection(int why)
triggerAsyncCollection in class Collectionwhy - the reason why a collection was triggered. 0 to
TRIGGER_REASONS - 1.public final boolean noThreadsInGC()
noThreadsInGC in class Collectionpublic final void prepareMutator(MutatorContext m)
prepareMutator in class Collectionm - the mutator to preparepublic final void prepareCollector(CollectorContext c)
prepareCollector in class Collectionc - the collector to preparepublic final int rendezvous(int where)
rendezvous in class Collectionpublic final int activeGCThreads()
activeGCThreads in class Collectionpublic final int activeGCThreadOrdinal()
activeGCThreadOrdinal in class Collectionpublic void requestMutatorFlush()
requestMutatorFlush in class Collectionpublic static void scheduleFinalizerThread()
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||