org.mmtk.plan.refcount
Class RCBaseConstraints

java.lang.Object
  extended by org.mmtk.plan.PlanConstraints
      extended by org.mmtk.plan.SimpleConstraints
          extended by org.mmtk.plan.StopTheWorldConstraints
              extended by org.mmtk.plan.refcount.RCBaseConstraints
Direct Known Subclasses:
GenRCConstraints, RCConstraints

public class RCBaseConstraints
extends StopTheWorldConstraints

This class and its subclasses communicate to the host VM/Runtime any features of the selected plan that it needs to know. This is separate from the main Plan/PlanLocal class in order to bypass any issues with ordering of static initialization.


Constructor Summary
RCBaseConstraints()
           
 
Method Summary
 boolean buildForGenRC()
           
 int gcHeaderBits()
           
 int gcHeaderWords()
           
 int maxNonLOSDefaultAllocBytes()
           
 boolean needsObjectReferenceWriteBarrier()
           
 boolean objectReferenceBulkCopySupported()
           
 
Methods inherited from class org.mmtk.plan.PlanConstraints
addressBulkCopySupported, booleanBulkCopySupported, byteBulkCopySupported, charBulkCopySupported, doubleBulkCopySupported, extentBulkCopySupported, floatBulkCopySupported, generateGCTrace, generational, intBulkCopySupported, longBulkCopySupported, maxNonLOSCopyBytes, maxNonLOSNonMovingAllocBytes, movesObjects, needsAddressReadBarrier, needsAddressWriteBarrier, needsBooleanReadBarrier, needsBooleanWriteBarrier, needsByteReadBarrier, needsByteWriteBarrier, needsCharReadBarrier, needsCharWriteBarrier, needsConcurrentWorkers, needsDoubleReadBarrier, needsDoubleWriteBarrier, needsExtentReadBarrier, needsExtentWriteBarrier, needsFloatReadBarrier, needsFloatWriteBarrier, needsForwardAfterLiveness, needsIntReadBarrier, needsIntWriteBarrier, needsJavaLangReferenceReadBarrier, needsLinearScan, needsLogBitInHeader, needsLongReadBarrier, needsLongWriteBarrier, needsObjectReferenceNonHeapReadBarrier, needsObjectReferenceNonHeapWriteBarrier, needsObjectReferenceReadBarrier, needsOffsetReadBarrier, needsOffsetWriteBarrier, needsShortReadBarrier, needsShortWriteBarrier, needsWordReadBarrier, needsWordWriteBarrier, numSpecializedScans, offsetBulkCopySupported, shortBulkCopySupported, withGCspy, wordBulkCopySupported
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RCBaseConstraints

public RCBaseConstraints()
Method Detail

gcHeaderBits

public int gcHeaderBits()
Specified by:
gcHeaderBits in class PlanConstraints
Returns:
The number of header bits that are required.

gcHeaderWords

public int gcHeaderWords()
Specified by:
gcHeaderWords in class PlanConstraints
Returns:
The number of header words that are required.

needsObjectReferenceWriteBarrier

public boolean needsObjectReferenceWriteBarrier()
Overrides:
needsObjectReferenceWriteBarrier in class PlanConstraints
Returns:
true if this Plan requires write barriers on object references.

maxNonLOSDefaultAllocBytes

public int maxNonLOSDefaultAllocBytes()
Overrides:
maxNonLOSDefaultAllocBytes in class PlanConstraints
Returns:
Size (in bytes) beyond which new regular objects must be allocated to the LOS

objectReferenceBulkCopySupported

public boolean objectReferenceBulkCopySupported()
Overrides:
objectReferenceBulkCopySupported in class PlanConstraints
Returns:
true if this Plan can perform bulk object arraycopy barriers.

buildForGenRC

public boolean buildForGenRC()
Returns:
true if we are building for generational reference counting