From 5de3494e4297c0d480409da3fecee39173f1d4e1 Mon Sep 17 00:00:00 2001 From: buzbee Date: Thu, 1 Mar 2012 14:51:57 -0800 Subject: 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 --- src/compiler/CompilerIR.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/compiler/CompilerIR.h') 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); -- cgit v1.2.3-59-g8ed1b