public final class NoRememberedSet extends Object implements RememberedSet
Constructor and Description |
---|
NoRememberedSet() |
Modifier and Type | Method and Description |
---|---|
void |
clearRememberedSet(AlignedHeapChunk.AlignedHeader chunk)
Clears the remembered set of an aligned chunk.
|
void |
clearRememberedSet(UnalignedHeapChunk.UnalignedHeader chunk)
Clears the remembered set of an unaligned chunk.
|
org.graalvm.compiler.nodes.gc.BarrierSet |
createBarrierSet(jdk.vm.ci.meta.MetaAccessProvider metaAccess)
Creates the barrier set that the compiler should use for emitting read/write barriers.
|
void |
dirtyCardForAlignedObject(Object object,
boolean verifyOnly)
Marks an object as dirty.
|
void |
dirtyCardForUnalignedObject(Object object,
boolean verifyOnly)
Marks an object as dirty.
|
void |
dirtyCardIfNecessary(Object holderObject,
Object object)
Marks the
holderObject as dirty if object is in the young generation. |
void |
enableRememberedSetForAlignedChunk(HostedByteBufferPointer chunk,
int chunkPosition,
List<ImageHeapObject> objects)
Enables remembered set tracking for an aligned chunk and its objects.
|
void |
enableRememberedSetForChunk(AlignedHeapChunk.AlignedHeader chunk)
Enables remembered set tracking for an aligned chunk and its objects.
|
void |
enableRememberedSetForChunk(UnalignedHeapChunk.UnalignedHeader chunk)
Enables remembered set tracking for an unaligned chunk and its objects.
|
void |
enableRememberedSetForObject(AlignedHeapChunk.AlignedHeader chunk,
Object obj)
Enables remembered set tracking for a single object in an aligned chunk.
|
void |
enableRememberedSetForUnalignedChunk(HostedByteBufferPointer chunk)
Enables remembered set tracking for an unaligned chunk and its objects.
|
org.graalvm.word.UnsignedWord |
getHeaderSizeOfAlignedChunk()
Returns the header size of aligned chunks.
|
org.graalvm.word.UnsignedWord |
getHeaderSizeOfUnalignedChunk()
Returns the header size of unaligned chunks.
|
boolean |
hasRememberedSet(org.graalvm.word.UnsignedWord header)
Checks if remembered set tracking is enabled for an object.
|
boolean |
verify(AlignedHeapChunk.AlignedHeader firstAlignedHeapChunk)
Verify the remembered set for an aligned chunk.
|
boolean |
verify(UnalignedHeapChunk.UnalignedHeader firstUnalignedHeapChunk)
Verify the remembered set for an unaligned chunk.
|
void |
walkDirtyObjects(AlignedHeapChunk.AlignedHeader chunk,
GreyToBlackObjectVisitor visitor)
Walks all dirty objects in an aligned chunk.
|
void |
walkDirtyObjects(Space space,
GreyToBlackObjectVisitor visitor)
Walks all dirty objects in a
Space . |
void |
walkDirtyObjects(UnalignedHeapChunk.UnalignedHeader chunk,
GreyToBlackObjectVisitor visitor)
Walks all dirty objects in an unaligned chunk.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
get
public org.graalvm.compiler.nodes.gc.BarrierSet createBarrierSet(jdk.vm.ci.meta.MetaAccessProvider metaAccess)
RememberedSet
createBarrierSet
in interface RememberedSet
public org.graalvm.word.UnsignedWord getHeaderSizeOfAlignedChunk()
RememberedSet
getHeaderSizeOfAlignedChunk
in interface RememberedSet
public org.graalvm.word.UnsignedWord getHeaderSizeOfUnalignedChunk()
RememberedSet
getHeaderSizeOfUnalignedChunk
in interface RememberedSet
public void enableRememberedSetForAlignedChunk(HostedByteBufferPointer chunk, int chunkPosition, List<ImageHeapObject> objects)
RememberedSet
enableRememberedSetForAlignedChunk
in interface RememberedSet
public void enableRememberedSetForUnalignedChunk(HostedByteBufferPointer chunk)
RememberedSet
enableRememberedSetForUnalignedChunk
in interface RememberedSet
public void enableRememberedSetForChunk(AlignedHeapChunk.AlignedHeader chunk)
RememberedSet
enableRememberedSetForChunk
in interface RememberedSet
public void enableRememberedSetForChunk(UnalignedHeapChunk.UnalignedHeader chunk)
RememberedSet
enableRememberedSetForChunk
in interface RememberedSet
public void enableRememberedSetForObject(AlignedHeapChunk.AlignedHeader chunk, Object obj)
RememberedSet
enableRememberedSetForObject
in interface RememberedSet
public void clearRememberedSet(AlignedHeapChunk.AlignedHeader chunk)
RememberedSet
clearRememberedSet
in interface RememberedSet
public void clearRememberedSet(UnalignedHeapChunk.UnalignedHeader chunk)
RememberedSet
clearRememberedSet
in interface RememberedSet
public boolean hasRememberedSet(org.graalvm.word.UnsignedWord header)
RememberedSet
hasRememberedSet
in interface RememberedSet
public void dirtyCardForAlignedObject(Object object, boolean verifyOnly)
RememberedSet
dirtyCardForAlignedObject
in interface RememberedSet
public void dirtyCardForUnalignedObject(Object object, boolean verifyOnly)
RememberedSet
dirtyCardForUnalignedObject
in interface RememberedSet
public void dirtyCardIfNecessary(Object holderObject, Object object)
RememberedSet
holderObject
as dirty if object
is in the young generation. May
only be called for holderObject
s for which remembered set tracking is enabled. This
tells the GC that the holderObject
may contain a reference to the young generation.dirtyCardIfNecessary
in interface RememberedSet
public void walkDirtyObjects(AlignedHeapChunk.AlignedHeader chunk, GreyToBlackObjectVisitor visitor)
RememberedSet
walkDirtyObjects
in interface RememberedSet
public void walkDirtyObjects(UnalignedHeapChunk.UnalignedHeader chunk, GreyToBlackObjectVisitor visitor)
RememberedSet
walkDirtyObjects
in interface RememberedSet
public void walkDirtyObjects(Space space, GreyToBlackObjectVisitor visitor)
RememberedSet
Space
.walkDirtyObjects
in interface RememberedSet
public boolean verify(AlignedHeapChunk.AlignedHeader firstAlignedHeapChunk)
RememberedSet
verify
in interface RememberedSet
public boolean verify(UnalignedHeapChunk.UnalignedHeader firstUnalignedHeapChunk)
RememberedSet
verify
in interface RememberedSet