harpoon.Backend.Generic
Class GCInfo.GCPoint

java.lang.Object
  extended by harpoon.Backend.Generic.GCInfo.GCPoint
Enclosing class:
GCInfo

public static class GCInfo.GCPoint
extends Object

A GCPoint contains information about all the live objects that the garbage collector needs to add to the root set at a particular GC point.


Field Summary
protected  Map calleeSaved
           
protected  Instr gcPoint
           
protected  Label label
           
protected  Set liveMachineRegLocs
           
protected  Set liveStackOffsetLocs
           
protected  Map regDerivations
           
protected  Map stackDerivations
           
 
Constructor Summary
GCInfo.GCPoint(Instr gcPoint, Label label, Map liveDerivations, Set locations, Map calleeSaved)
          Creates a GCPoint object
 
Method Summary
 Map calleeSaved()
          Returns an unmodifiable Map of callee-saved BackendDerivation.Registers to the CommonLocs where its contents has been stored
 Label label()
          Returns the Label identifying the GC point
 Set liveMachineRegLocs()
          Returns an unmodifiable Set of live, non-derived pointers at this GC point as WrappedMachineRegLocs
 Set liveStackOffsetLocs()
          Returns an unmodifiable Set of live, non-derived pointers at this GC point as WrappedStackOffsetLocs
 Map regDerivations()
          Returns an unmodifiable Map of live derived pointers in WrappedMachineRegLocs to the derivation information in the form of DLocs for that GC point
 Map stackDerivations()
          Returns an unmodifiable Map of live derived pointers in StackOffsetLocs to the derivation information in the form of DLocs for that GC point
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

gcPoint

protected Instr gcPoint

label

protected Label label

regDerivations

protected Map regDerivations

stackDerivations

protected Map stackDerivations

liveStackOffsetLocs

protected Set liveStackOffsetLocs

liveMachineRegLocs

protected Set liveMachineRegLocs

calleeSaved

protected Map calleeSaved
Constructor Detail

GCInfo.GCPoint

public GCInfo.GCPoint(Instr gcPoint,
                      Label label,
                      Map liveDerivations,
                      Set locations,
                      Map calleeSaved)
Creates a GCPoint object

Parameters:
label - the Label identifying the gcPoint
liveDerivations - a Map of pointer locations as Sets of CommonLocs to the corresponding derivation information as DLocs
locations - a Set of CommonLocs that represent live pointers at the given GC point
calleeSaved - a Map of the callee-saved BackendDerivation.Registers to the WrappedStackOffsetLocs where its contents has been stored
Method Detail

label

public Label label()
Returns the Label identifying the GC point


regDerivations

public Map regDerivations()
Returns an unmodifiable Map of live derived pointers in WrappedMachineRegLocs to the derivation information in the form of DLocs for that GC point


stackDerivations

public Map stackDerivations()
Returns an unmodifiable Map of live derived pointers in StackOffsetLocs to the derivation information in the form of DLocs for that GC point


liveStackOffsetLocs

public Set liveStackOffsetLocs()
Returns an unmodifiable Set of live, non-derived pointers at this GC point as WrappedStackOffsetLocs


liveMachineRegLocs

public Set liveMachineRegLocs()
Returns an unmodifiable Set of live, non-derived pointers at this GC point as WrappedMachineRegLocs


calleeSaved

public Map calleeSaved()
Returns an unmodifiable Map of callee-saved BackendDerivation.Registers to the CommonLocs where its contents has been stored