diff options
| author | 2012-03-01 14:51:57 -0800 | |
|---|---|---|
| committer | 2012-03-01 16:43:54 -0800 | |
| commit | 5de3494e4297c0d480409da3fecee39173f1d4e1 (patch) | |
| tree | 269cd3447925d0b474d47fb056da4730f288ee12 /src/compiler/CompilerIR.h | |
| parent | 6edfde4ae89f3a16d22ca82c928a5dd420e9fce9 (diff) | |
Another step towards a Mips target
Updating the MIPS target to use the now common codegen routines.
Still much to do, but the general structure is sufficient to allow
work to begin on the other target.
Change-Id: I0d288fdfb59c8e76fad73185fdd56b345e87b604
Diffstat (limited to 'src/compiler/CompilerIR.h')
| -rw-r--r-- | src/compiler/CompilerIR.h | 17 | 
1 files changed, 17 insertions, 0 deletions
| diff --git a/src/compiler/CompilerIR.h b/src/compiler/CompilerIR.h index 34ccfb4235..52b12d8bf6 100644 --- a/src/compiler/CompilerIR.h +++ b/src/compiler/CompilerIR.h @@ -445,6 +445,7 @@ typedef enum OpKind {      kOp2Byte,      kOpCondBr,      kOpUncondBr, +    kOpBx,      kOpInvalid,  } OpKind; @@ -477,6 +478,22 @@ typedef enum ThrowKind {      kThrowStackOverflow,  } ThrowKind; +typedef struct SwitchTable { +    int offset; +    const u2* table;            // Original dex table +    int vaddr;                  // Dalvik offset of switch opcode +    LIR* bxInst;                // Switch indirect branch instruction +    LIR** targets;              // Array of case targets +} SwitchTable; + +typedef struct FillArrayData { +    int offset; +    const u2* table;           // Original dex table +    int size; +    int vaddr;                 // Dalvik offset of OP_FILL_ARRAY_DATA opcode +} FillArrayData; + +  BasicBlock* oatNewBB(CompilationUnit* cUnit, BBType blockType, int blockId);  void oatAppendMIR(BasicBlock* bb, MIR* mir); |