|
|||||||||||
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 memory for an object. |
void |
collectionPhase(short phaseId,
boolean primary)
Perform 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 actions. |
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 MutatorContext
id
- The id of this mutator context.public final Address alloc(int bytes, int align, int offset, int allocator, int site)
alloc
in class GenMutator
bytes
- The number of bytes required for the object.align
- Required alignment for the object.offset
- Offset associated with the alignment.allocator
- The allocator associated with this request.site
- Allocation site
public final void postAlloc(ObjectReference object, ObjectReference typeRef, int bytes, int allocator)
MutatorContext
postAlloc
in class GenMutator
object
- The newly allocated objecttypeRef
- the type reference for the instance being createdbytes
- The size of the space to be allocated (in bytes)allocator
- The allocator number to be used for this allocationpublic final Allocator getAllocatorFromSpace(Space space)
MutatorContext
space
, for this plan instance.
getAllocatorFromSpace
in class GenMutator
space
- 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 GenMutator
phaseId
- The unique phase identifierprimary
- Should this thread be used to execute any single-threaded
local operations?private static GenCopy global()
GenCopy
instance.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |