javassist.bytecode.stackmap
Class Liveness

java.lang.Object
  extended by javassist.bytecode.stackmap.Liveness

public class Liveness
extends java.lang.Object


Field Summary
protected  byte[] localsUsage
           
protected static byte READ
           
protected static byte UNKNOWN
           
protected static byte UPDATED
           
static boolean useArgs
          If true, all the arguments become alive within the whole method body.
 
Constructor Summary
Liveness()
           
 
Method Summary
protected  void analyze(CodeIterator ci, int begin, int end)
           
 void compute(CodeIterator ci, TypedBlock[] blocks, int maxLocals, TypeData[] args)
           
protected  void readLocal(int reg)
           
protected  void writeLocal(int reg)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

UNKNOWN

protected static final byte UNKNOWN
See Also:
Constant Field Values

READ

protected static final byte READ
See Also:
Constant Field Values

UPDATED

protected static final byte UPDATED
See Also:
Constant Field Values

localsUsage

protected byte[] localsUsage

useArgs

public static boolean useArgs
If true, all the arguments become alive within the whole method body. To correctly compute a stack map table, all the arguments must be alive (localsUsage[?] must be READ) at least in the first block.

Constructor Detail

Liveness

public Liveness()
Method Detail

compute

public void compute(CodeIterator ci,
                    TypedBlock[] blocks,
                    int maxLocals,
                    TypeData[] args)
             throws BadBytecode
Throws:
BadBytecode

readLocal

protected final void readLocal(int reg)

writeLocal

protected final void writeLocal(int reg)

analyze

protected void analyze(CodeIterator ci,
                       int begin,
                       int end)
                throws BadBytecode
Throws:
BadBytecode


Copyright © 2011. All Rights Reserved.