Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## avrora.stack.isea
Class ISEAnalyzer

    java.lang.Object
      avrora.stack.isea.ISEAnalyzer

All Implemented Interfaces:
  ISEInterpreter.SummaryCache

public class ISEAnalyzer
extends java.lang.Object
implements ISEInterpreter.SummaryCache

The `ISEAnalyzer` class is a static analyzer for machine code. This class implements intra-procedural side-effect analysis. This determines the set of registers read and modified by this procedure locally; this information can be used to reduce the amount of work that other static analyzers must do when they analyze code, because they can use the results of this analysis to know which registers' values are used, and which registers are unmodified by a procedure.

Field Summary
`protected ControlFlowGraph` | `cfg`
`protected ProcedureMap` | `pmap`
`protected Verbose.Printer` | `printer`
`protected java.util.HashMap` | `procedureSummaries`
`protected Program` | `program`
`protected java.util.HashMap` | `returnSummaries`
`protected SourceMapping` | `smap`
`protected java.util.Stack` | `stack`

Constructor Summary
`ISEAnalyzer(Program p)`

Method Summary
`void` | `analyze()`
`void` | `analyze(int loc)`
`void` | `analyzeProcedure(ControlFlowGraph.Block start)`
`ISEState` | `getProcedureSummary(int start)`
`ISEState` | `getReturnSummary(int retaddr)`
`void` | `recordReturnSummary(int retaddr, ISEState rs)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### program

    protected final Program program

### smap

    protected final SourceMapping smap

### cfg

    protected final ControlFlowGraph cfg

### pmap

    protected final ProcedureMap pmap

### procedureSummaries

    protected final java.util.HashMap procedureSummaries

### returnSummaries

    protected final java.util.HashMap returnSummaries

### stack

    protected final java.util.Stack stack

### printer

    protected final Verbose.Printer printer

Constructor Detail

### ISEAnalyzer

    public ISEAnalyzer(Program p)

Method Detail

### getProcedureSummary

    public ISEState getProcedureSummary(int start)

  Specified by:
    `getProcedureSummary` in interface `ISEInterpreter.SummaryCache`

### recordReturnSummary

    public void recordReturnSummary(int retaddr,
                                    ISEState rs)

  Specified by:
    `recordReturnSummary` in interface `ISEInterpreter.SummaryCache`

### getReturnSummary

    public ISEState getReturnSummary(int retaddr)

### analyze

    public void analyze()

### analyzeProcedure

    public void analyzeProcedure(ControlFlowGraph.Block start)

### analyze

    public void analyze(int loc)

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD