joeq.Compiler.BytecodeAnalysis
Class LiveRefAnalysis

java.lang.Object
  extended by joeq.Compiler.BytecodeAnalysis.LiveRefAnalysis

public class LiveRefAnalysis
extends Object

A combination liveness and type analysis for Java bytecode.

Version:
$Id: LiveRefAnalysis.java 2282 2005-05-28 11:14:27Z joewhaley $
Author:
John Whaley

Nested Class Summary
static class LiveRefAnalysis.DerivedRef
           
static class LiveRefAnalysis.ExactJSRState
           
static class LiveRefAnalysis.ExactState
           
 class LiveRefAnalysis.FirstPassVisitor
           
static class LiveRefAnalysis.HalfOfNumber
           
static class LiveRefAnalysis.NullConstant
           
static class LiveRefAnalysis.Retaddr
           
 class LiveRefAnalysis.SecondPassVisitor
           
static class LiveRefAnalysis.SystemType
           
static class LiveRefAnalysis.Type
           
 
Field Summary
static boolean ALWAYS_TRACE
           
static byte LIVE_DERIVED_REF
           
static byte LIVE_DOUBLE1
           
static byte LIVE_DOUBLE2
           
static byte LIVE_FLOAT
           
static byte LIVE_INT
           
static byte LIVE_LONG1
           
static byte LIVE_LONG2
           
static byte LIVE_REF
           
static byte LIVE_RETADDR
           
static byte NOT_LIVE
           
static byte SET_TO_DERIVED_REF
           
static byte SET_TO_DOUBLE1
           
static byte SET_TO_DOUBLE2
           
static byte SET_TO_FLOAT
           
static byte SET_TO_INT
           
static byte SET_TO_LONG1
           
static byte SET_TO_LONG2
           
static byte SET_TO_REF
           
static byte SET_TO_RETADDR
           
static String[] TYPE_NAMES
           
 
Constructor Summary
LiveRefAnalysis(jq_Method method)
          Creates new LiveRefAnalysis
 
Method Summary
 void compute()
           
 void compute(ControlFlowGraph bc_cfg)
           
 void dump()
           
 LiveRefAnalysis.ExactState getState(BasicBlock bb)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NOT_LIVE

public static final byte NOT_LIVE
See Also:
Constant Field Values

LIVE_INT

public static final byte LIVE_INT
See Also:
Constant Field Values

LIVE_FLOAT

public static final byte LIVE_FLOAT
See Also:
Constant Field Values

LIVE_LONG1

public static final byte LIVE_LONG1
See Also:
Constant Field Values

LIVE_LONG2

public static final byte LIVE_LONG2
See Also:
Constant Field Values

LIVE_DOUBLE1

public static final byte LIVE_DOUBLE1
See Also:
Constant Field Values

LIVE_DOUBLE2

public static final byte LIVE_DOUBLE2
See Also:
Constant Field Values

LIVE_REF

public static final byte LIVE_REF
See Also:
Constant Field Values

LIVE_DERIVED_REF

public static final byte LIVE_DERIVED_REF
See Also:
Constant Field Values

LIVE_RETADDR

public static final byte LIVE_RETADDR
See Also:
Constant Field Values

TYPE_NAMES

public static final String[] TYPE_NAMES

SET_TO_INT

public static final byte SET_TO_INT
See Also:
Constant Field Values

SET_TO_FLOAT

public static final byte SET_TO_FLOAT
See Also:
Constant Field Values

SET_TO_LONG1

public static final byte SET_TO_LONG1
See Also:
Constant Field Values

SET_TO_LONG2

public static final byte SET_TO_LONG2
See Also:
Constant Field Values

SET_TO_DOUBLE1

public static final byte SET_TO_DOUBLE1
See Also:
Constant Field Values

SET_TO_DOUBLE2

public static final byte SET_TO_DOUBLE2
See Also:
Constant Field Values

SET_TO_REF

public static final byte SET_TO_REF
See Also:
Constant Field Values

SET_TO_DERIVED_REF

public static final byte SET_TO_DERIVED_REF
See Also:
Constant Field Values

SET_TO_RETADDR

public static final byte SET_TO_RETADDR
See Also:
Constant Field Values

ALWAYS_TRACE

public static boolean ALWAYS_TRACE
Constructor Detail

LiveRefAnalysis

public LiveRefAnalysis(jq_Method method)
Creates new LiveRefAnalysis

Method Detail

getState

public LiveRefAnalysis.ExactState getState(BasicBlock bb)

compute

public void compute()

compute

public void compute(ControlFlowGraph bc_cfg)

dump

public void dump()


Copyright © 2001-2008 John Whaley. All Rights Reserved.