harpoon.Backend.Analysis
Class BasicGCInfo

java.lang.Object
  extended by harpoon.Backend.Generic.GCInfo
      extended by harpoon.Backend.Analysis.BasicGCInfo

public class BasicGCInfo
extends GCInfo

BasicGCInfo selects as GC points all call sites and backward branches.

Version:
$Id: BasicGCInfo.java,v 1.6 2004/02/08 03:20:42 cananian Exp $
Author:
Karen K. Zee <kkz@alum.mit.edu>

Nested Class Summary
 
Nested classes/interfaces inherited from class harpoon.Backend.Generic.GCInfo
GCInfo.DLoc, GCInfo.GCPoint, GCInfo.WrappedMachineRegLoc, GCInfo.WrappedStackOffsetLoc
 
Constructor Summary
BasicGCInfo()
           
 
Method Summary
 RegAlloc.IntermediateCodeFactory codeFactory(RegAlloc.IntermediateCodeFactory parentFactory, Frame frame)
          Returns an IntermediateCodeFactory that inserts InstrLABELs at garbage collection points and stores the information needed by the garbage collector in this.
 List gcPoints(HMethod hm)
          Returns an ordered, unmodifiable List of the GCPoints in a given HMethod.
 List getOrderedMethods(HClass hc)
          Returns an ordered, unmodifiable List of HMethods with the following properties: - The declaring class of the HMethod is HClass
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BasicGCInfo

public BasicGCInfo()
Method Detail

gcPoints

public List gcPoints(HMethod hm)
Returns an ordered, unmodifiable List of the GCPoints in a given HMethod. Returns null if the HMethod has not been evaluated for garbage collection purposes. Returns an empty List if the HMethod has been evaluated and has been found to not contain any GC points.

Specified by:
gcPoints in class GCInfo

getOrderedMethods

public List getOrderedMethods(HClass hc)
Returns an ordered, unmodifiable List of HMethods with the following properties: - The declaring class of the HMethod is HClass. - The convert method of the IntermediateCodeFactory has been invoked on all the HMethods in the List. The IntermediateCodeFactory referred to here is the one returned by the codeFactory method of this. Returns null if the given HClass does not declare any methods on which convert has been invoked. - The HMethods are ordered according to the order in which the convert method was invoked.

Specified by:
getOrderedMethods in class GCInfo

codeFactory

public RegAlloc.IntermediateCodeFactory codeFactory(RegAlloc.IntermediateCodeFactory parentFactory,
                                                    Frame frame)
Returns an IntermediateCodeFactory that inserts InstrLABELs at garbage collection points and stores the information needed by the garbage collector in this.
requires: The parentFactory in Instr form.

Specified by:
codeFactory in class GCInfo