harpoon.Analysis.PreciseGC
Class DynamicWBQuadPass

java.lang.Object
  extended by harpoon.Analysis.Transformation.MethodMutator
      extended by harpoon.Analysis.PreciseGC.DynamicWBQuadPass
All Implemented Interfaces:
WriteBarrierInserter.WriteBarrierAnalysis, Serializable

public class DynamicWBQuadPass
extends MethodMutator
implements WriteBarrierInserter.WriteBarrierAnalysis

DynamicWBQuadPass inserts dynamic write barriers, where possible and identifies SETs and ASETs for which static write barriers are unnecessary. Operates on QuadSSA and QuadSSI.

Version:
$Id: DynamicWBQuadPass.java,v 1.2 2004/02/08 03:20:07 cananian Exp $
Author:
Karen Zee <kkz@tmi.lcs.mit.edu>
See Also:
Serialized Form

Constructor Summary
DynamicWBQuadPass(HCodeFactory parent, Linker linker)
          Creates a DynamicWBQuadPass.
 
Method Summary
 Set getIgnoreSet(Code hc)
          returns a Set of Quads for the given Code for which write barriers are not required.
protected  HCode mutateHCode(HCodeAndMaps input)
          Override this method to effect transformations on split methods.
 
Methods inherited from class harpoon.Analysis.Transformation.MethodMutator
cloneHCode, codeFactory, mutateCodeName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DynamicWBQuadPass

public DynamicWBQuadPass(HCodeFactory parent,
                         Linker linker)
Creates a DynamicWBQuadPass.

Method Detail

mutateHCode

protected HCode mutateHCode(HCodeAndMaps input)
Description copied from class: MethodMutator
Override this method to effect transformations on split methods.

Overrides:
mutateHCode in class MethodMutator

getIgnoreSet

public Set getIgnoreSet(Code hc)
Description copied from interface: WriteBarrierInserter.WriteBarrierAnalysis
returns a Set of Quads for the given Code for which write barriers are not required.

Specified by:
getIgnoreSet in interface WriteBarrierInserter.WriteBarrierAnalysis