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()