|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.mmtk.plan.MutatorContext
org.mmtk.plan.SimpleMutator
org.mmtk.plan.StopTheWorldMutator
org.mmtk.plan.generational.GenMutator
org.mmtk.plan.generational.copying.GenCopyMutator
public class GenCopyMutator
This class implements per-mutator thread behavior and state for
the GenCopy two-generational copying collector.
Specifically, this class defines mutator-time semantics specific to the
mature generation (GenMutator defines nursery semantics).
In particular the mature space allocator is defined (for mutator-time
allocation into the mature space via pre-tenuring), and the mature space
per-mutator thread collection time semantics are defined (rebinding
the mature space allocator).
for a description of the GenCopy algorithm.,
GenCopy,
GenCopyCollector,
GenMutator,
StopTheWorldMutator,
MutatorContext| Field Summary | |
|---|---|
private CopyLocal |
mature
The allocator for the copying mature space (the mutator may "pretenure" objects into this space otherwise used only by the collector) |
| 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 |
| Constructor Summary | |
|---|---|
GenCopyMutator()
Constructor |
|
| Method Summary | |
|---|---|
Address |
alloc(int bytes,
int align,
int offset,
int allocator,
int site)
Allocate space (for an object) in the specified space |
void |
collectionPhase(short phaseId,
boolean primary)
Execute a per-mutator collection phase. |
Allocator |
getAllocatorFromSpace(Space space)
Return the allocator instance associated with a space space, for this plan instance. |
private static GenCopy |
global()
|
void |
initMutator(int id)
Called before the MutatorContext is used, but after the context has been fully registered and is visible to collection. |
void |
postAlloc(ObjectReference object,
ObjectReference typeRef,
int bytes,
int allocator)
Perform post-allocation initialization of an object |
| Methods inherited from class org.mmtk.plan.generational.GenMutator |
|---|
assertRemsetsFlushed, flushRememberedSets, objectReferenceBulkCopy, objectReferenceNonHeapWrite, objectReferenceTryCompareAndSwap, objectReferenceWrite |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private CopyLocal mature
| Constructor Detail |
|---|
public GenCopyMutator()
| Method Detail |
|---|
public void initMutator(int id)
initMutator in class MutatorContextid - The id of this mutator context.
public final Address alloc(int bytes,
int align,
int offset,
int allocator,
int site)
alloc in class GenMutatorbytes - The size of the space to be allocated (in bytes)align - The requested alignment.offset - The alignment offset.allocator - The allocator to allocate fromsite - Allocation site
public final void postAlloc(ObjectReference object,
ObjectReference typeRef,
int bytes,
int allocator)
postAlloc in class GenMutatorobject - The newly allocated objecttypeRef - the type reference for the instance being createdallocator - The allocator to allocate frombytes - The size of the space allocated (in bytes)public final Allocator getAllocatorFromSpace(Space space)
space, for this plan instance.
getAllocatorFromSpace in class GenMutatorspace - The space for which the allocator instance is desired.
space, or null
if no appropriate allocator can be established.
public void collectionPhase(short phaseId,
boolean primary)
collectionPhase in class GenMutatorphaseId - The phase to execute.primary - True if this thread should peform local single-threaded
actions.private static GenCopy global()
GenCopy instance.
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||