org.mmtk.plan.stickyimmix
Class StickyImmixConstraints

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.immix.ImmixConstraints
                  extended by org.mmtk.plan.stickyimmix.StickyImmixConstraints

public class StickyImmixConstraints
extends ImmixConstraints

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

Constructor Detail

StickyImmixConstraints

public StickyImmixConstraints()
Method Detail

numSpecializedScans

public int numSpecializedScans()
Overrides:
numSpecializedScans in class ImmixConstraints
Returns:
The number of specialized scans. We need nursery & full heap.

needsObjectReferenceWriteBarrier

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

needsLogBitInHeader

public boolean needsLogBitInHeader()
Overrides:
needsLogBitInHeader in class PlanConstraints
Returns:
true if this Plan requires a header bit for object logging

maxNonLOSDefaultAllocBytes

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

maxNonLOSCopyBytes

public int maxNonLOSCopyBytes()
Overrides:
maxNonLOSCopyBytes in class ImmixConstraints
Returns:
Size (in bytes) beyond which copied objects must be copied to the LOS

objectReferenceBulkCopySupported

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