public abstract class PlanConstraints extends Object
Constructor and Description |
---|
PlanConstraints() |
public PlanConstraints()
public boolean needsJavaLangReferenceReadBarrier()
true
if this Plan requires read barriers on java.lang.reference types.public boolean needsBooleanWriteBarrier()
true
if this Plan requires write barriers on booleans.public boolean needsBooleanReadBarrier()
true
if this Plan requires read barriers on booleans.public boolean booleanBulkCopySupported()
true
if this Plan can perform bulk boolean arraycopy barriers.public boolean needsByteWriteBarrier()
true
if this Plan requires write barriers on bytes.public boolean needsByteReadBarrier()
true
if this Plan requires read barriers on bytes.public boolean byteBulkCopySupported()
true
if this Plan can perform bulk byte arraycopy barriers.public boolean needsCharWriteBarrier()
true
if this Plan requires write barriers on chars.public boolean needsCharReadBarrier()
true
if this Plan requires read barriers on chars.public boolean charBulkCopySupported()
true
if this Plan can perform bulk char arraycopy barriers.public boolean needsShortWriteBarrier()
true
if this Plan requires write barriers on shorts.public boolean needsShortReadBarrier()
true
if this Plan requires read barriers on shorts.public boolean shortBulkCopySupported()
true
if this Plan can perform bulk short arraycopy barriers.public boolean needsIntWriteBarrier()
true
if this Plan requires write barriers on ints.public boolean needsIntReadBarrier()
true
if this Plan requires read barriers on ints.public boolean intBulkCopySupported()
true
if this Plan can perform bulk int arraycopy barriers.public boolean needsLongWriteBarrier()
true
if this Plan requires write barriers on longs.public boolean needsLongReadBarrier()
true
if this Plan requires read barriers on longs.public boolean longBulkCopySupported()
true
if this Plan can perform bulk long arraycopy barriers.public boolean needsFloatWriteBarrier()
true
if this Plan requires write barriers on floats.public boolean needsFloatReadBarrier()
true
if this Plan requires read barriers on floats.public boolean floatBulkCopySupported()
true
if this Plan can perform bulk float arraycopy barriers.public boolean needsDoubleWriteBarrier()
true
if this Plan requires write barriers on doubles.public boolean needsDoubleReadBarrier()
true
if this Plan requires read barriers on doubles.public boolean doubleBulkCopySupported()
true
if this Plan can perform bulk double arraycopy barriers.public boolean needsWordWriteBarrier()
true
if this Plan requires write barriers on Words.public boolean needsWordReadBarrier()
true
if this Plan requires read barriers on Words.public boolean wordBulkCopySupported()
true
if this Plan can perform bulk Word arraycopy barriers.public boolean needsAddressWriteBarrier()
true
if this Plan requires write barriers on Address's.public boolean needsAddressReadBarrier()
true
if this Plan requires read barriers on Address's.public boolean addressBulkCopySupported()
true
if this Plan can perform bulk Address arraycopy barriers.public boolean needsExtentWriteBarrier()
true
if this Plan requires write barriers on Extents.public boolean needsExtentReadBarrier()
true
if this Plan requires read barriers on Extents.public boolean extentBulkCopySupported()
true
if this Plan can perform bulk Extent arraycopy barriers.public boolean needsOffsetWriteBarrier()
true
if this Plan requires write barriers on Offsets.public boolean needsOffsetReadBarrier()
true
if this Plan requires read barriers on Offsets.public boolean offsetBulkCopySupported()
true
if this Plan can perform bulk Offset arraycopy barriers.public boolean needsObjectReferenceWriteBarrier()
true
if this Plan requires write barriers on object references.public boolean needsObjectReferenceReadBarrier()
true
if this Plan requires read barriers on object references.public boolean needsObjectReferenceNonHeapWriteBarrier()
true
if this Plan requires non-heap write barriers on object references.public boolean needsObjectReferenceNonHeapReadBarrier()
true
if this Plan requires non-heap read barriers on object references.public boolean objectReferenceBulkCopySupported()
true
if this Plan can perform bulk object arraycopy barriers.public boolean needsLinearScan()
true
if this Plan requires linear scanning.public boolean movesObjects()
true
if this Plan moves objects.public int maxNonLOSDefaultAllocBytes()
public int maxNonLOSNonMovingAllocBytes()
public int maxNonLOSCopyBytes()
public boolean needsForwardAfterLiveness()
true
if this object forwards objects after
determining global object liveness (e.g. many compacting collectors).public boolean generational()
public abstract int gcHeaderBits()
public abstract int gcHeaderWords()
public boolean withGCspy()
true
if this plan contains GCspy.public boolean generateGCTrace()
true
if this plan contains GCTrace.public int numSpecializedScans()
public boolean needsConcurrentWorkers()
true
if this plan requires concurrent worker threadspublic boolean needsLogBitInHeader()
true
if this Plan requires a header bit for object loggingpublic int maxNumGCThreads()