harpoon.Analysis.PreciseGC
Class WriteBarrierConstElim

java.lang.Object
  extended by harpoon.Analysis.Tree.Simplification
      extended by harpoon.Analysis.PreciseGC.WriteBarrierConstElim

public abstract class WriteBarrierConstElim
extends Simplification

WriteBarrierConstElim operates on Tree form. It eliminates write barriers on MOVEs that are assigned from constants. Constant propagation should probably be run beforehand for this pass to make a difference.

If WriteBarrierTreePass is being used, it should be not be run until after this pass.

Version:
$Id: WriteBarrierConstElim.java,v 1.6 2003/03/11 19:15:41 cananian Exp $
Author:
Karen Zee <kkz@tmi.lcs.mit.edu>

Nested Class Summary
 
Nested classes/interfaces inherited from class harpoon.Analysis.Tree.Simplification
Simplification.Rule
 
Field Summary
 
Fields inherited from class harpoon.Analysis.Tree.Simplification
_ADD, _ALIGN, _AND, _BINOP, _CALL, _CJUMP, _CMPEQ, _CMPGE, _CMPGT, _CMPLE, _CMPLT, _CMPNE, _CONST, _CONST0, _CONST1, _CONSTm1, _CONSTNULL, _DATUM, _DIV, _ESEQ, _EXPR, _JUMP, _LABEL, _MEM, _METHOD, _MOVE, _MUL, _NAME, _NATIVECALL, _OR, _REM, _RETURN, _SEGMENT, _SEQ, _SHL, _SHR, _TEMP, _THROW, _UNOP, _USHR, _XOR
 
Method Summary
static HCodeFactory codeFactory(Frame f, HCodeFactory parent, Linker linker)
          Code factory for applying WriteBarrierConstElim/code> to a canonical tree.
static List<Simplification.Rule> HCE_RULES(Code code, Frame f, HMethod arrayHM, HMethod fieldHM)
           
 
Methods inherited from class harpoon.Analysis.Tree.Simplification
_KIND, _OP, codeFactory, contains, simplify
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

codeFactory

public static HCodeFactory codeFactory(Frame f,
                                       HCodeFactory parent,
                                       Linker linker)
Code factory for applying WriteBarrierConstElim/code> to a canonical tree. Clones the tree before doing transformation in-place.


HCE_RULES

public static List<Simplification.Rule> HCE_RULES(Code code,
                                                  Frame f,
                                                  HMethod arrayHM,
                                                  HMethod fieldHM)