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

## avrora.sim.dbbc
Class DBBC

    java.lang.Object
      avrora.sim.dbbc.DBBC

public class DBBC
extends java.lang.Object

Nested Class Summary
`static class` | `DBBC.CodeBlock`
`protected class` | `DBBC.CodeGenerator`
`static class` | `DBBC.CompiledBlock`
`protected class` | `DBBC.DBBCClassLoader`

Field Summary
`Option.Bool` | `ALLOW_REGISTER_UPDATES`
`Option.Str` | `CACHE_DIRECTORY`
`Option.Bool` | `CACHE_REGISTERS`
`protected ControlFlowGraph` | `cfg`
`protected java.util.HashMap` | `codeBlockMap`
`protected java.util.HashMap` | `compiledCodeMap`
`Option.Bool` | `CONSTANT_PROPAGATION`
`Option.Bool` | `DEAD_CODE_ELIMINATION`
`protected static java.util.HashMap` | `globalMap`
`Option.Bool` | `INTRA_BLOCK_PROBING`
`protected DBBC.DBBCClassLoader` | `loader`
`Option.Long` | `MINIMUM_BLOCK_SIZE`
`Options` | `options`
`protected Verbose.Printer` | `printer`
`protected Program` | `program`
`Option.Bool` | `REUSE_CACHE`
`Option.Bool` | `TEMP_COALLESCING`
`protected java.lang.String` | `tmpDir`
`Option.Bool` | `USE_REGISTER_ARRAY`

Constructor Summary
`DBBC(Program p, Options o)`

Method Summary
`protected static void` | `add(java.lang.String s)`
`protected java.lang.String` | `className(java.lang.String cname)`
`protected java.io.File` | `compileGeneratedCode(java.io.File f)`
`protected java.io.File` | `generateClassForCode(int addr, java.util.List stmts, int wcet)`
`DBBC.CodeBlock` | `getCodeBlock(int addr)`
`DBBC.CompiledBlock` | `getCompiledBlock(DBBC.CodeBlock b)`
`DBBC.CompiledBlock` | `getCompiledBlock(int addr)` The `getCompiledBlock()` method instructs the DBBC to compile the basic block that begins at the specified byte address.
`Program` | `getProgram()`
`void` | `invalidateBlock(int addr)` The `invalidateBlock()` method invalidates any compiled copies of the block that contains the specified program address.
`protected java.lang.String` | `javaName(java.lang.String cname)`

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

Field Detail

### globalMap

    protected static java.util.HashMap globalMap

### options

    public final Options options

### printer

    protected final Verbose.Printer printer

### MINIMUM_BLOCK_SIZE

    public final Option.Long MINIMUM_BLOCK_SIZE

### USE_REGISTER_ARRAY

    public final Option.Bool USE_REGISTER_ARRAY

### CACHE_REGISTERS

    public final Option.Bool CACHE_REGISTERS

### ALLOW_REGISTER_UPDATES

    public final Option.Bool ALLOW_REGISTER_UPDATES

### DEAD_CODE_ELIMINATION

    public final Option.Bool DEAD_CODE_ELIMINATION

### CONSTANT_PROPAGATION

    public final Option.Bool CONSTANT_PROPAGATION

### TEMP_COALLESCING

    public final Option.Bool TEMP_COALLESCING

### INTRA_BLOCK_PROBING

    public final Option.Bool INTRA_BLOCK_PROBING

### REUSE_CACHE

    public final Option.Bool REUSE_CACHE

### CACHE_DIRECTORY

    public final Option.Str CACHE_DIRECTORY

### program

    protected final Program program

### cfg

    protected final ControlFlowGraph cfg

### loader

    protected final DBBC.DBBCClassLoader loader

### tmpDir

    protected final java.lang.String tmpDir

### codeBlockMap

    protected final java.util.HashMap codeBlockMap

### compiledCodeMap

    protected final java.util.HashMap compiledCodeMap

Constructor Detail

### DBBC

    public DBBC(Program p,
                Options o)

Method Detail

### getProgram

    public Program getProgram()

### invalidateBlock

    public void invalidateBlock(int addr)

  The `invalidateBlock()` method invalidates any compiled copies of the block that contains the specified program address. This might be called as the result of a write to program memory (flash update) or insertion of a probe into the middle of a basic block.

  Parameters:
    `addr` - the byte address for which the enclosing block should be invalidated

### getCompiledBlock

    public DBBC.CompiledBlock getCompiledBlock(int addr)
                                        throws java.lang.Exception

  The `getCompiledBlock()` method instructs the DBBC to compile the basic block that begins at the specified byte address.

  Parameters:
    `addr` - the byte address of the beginning of the basic block to compile
  Returns:
    a reference to the compiled block of code when complete
  Throws:
    `java.lang.Exception`

### getCodeBlock

    public DBBC.CodeBlock getCodeBlock(int addr)

### generateClassForCode

    protected java.io.File generateClassForCode(int addr,
                                                java.util.List stmts,
                                                int wcet)
                                         throws java.lang.Exception

  Throws:
    `java.lang.Exception`

### getCompiledBlock

    public DBBC.CompiledBlock getCompiledBlock(DBBC.CodeBlock b)
                                        throws java.lang.Exception

  Throws:
    `java.lang.Exception`

### compileGeneratedCode

    protected java.io.File compileGeneratedCode(java.io.File f)
                                         throws java.lang.Exception

  Throws:
    `java.lang.Exception`

### add

    protected static void add(java.lang.String s)

### javaName

    protected java.lang.String javaName(java.lang.String cname)

### className

    protected java.lang.String className(java.lang.String cname)

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