/dalvik/vm/mterp/mips/ |
alt_stub.S | 10 la rBIX, dvmAsmInstructionStart + (${opnum} * 128) 13 jr rBIX # nothing to do - jump to real handler 20 jr rBIX
|
OP_NEW_INSTANCE.S | 18 EAS2(rBIX, a3, a1) # rBIX <- &resolved_class 66 lw a1, 0(rBIX) # reload resolved class 70 move rBIX, a3 # preserve vAA 76 SET_VREG(rOBJ, rBIX) # vAA <- new object
|
OP_INVOKE_DIRECT.S | 19 FETCH(rBIX, 2) # rBIX <- GFED or CCCC 22 and rBIX, rBIX, 15 # rBIX <- D (or stays CCCC) 25 GET_VREG(rOBJ, rBIX) # rOBJ <- "this" ptr
|
OP_INVOKE_VIRTUAL.S | 15 FETCH(rBIX, 2) # rBIX <- GFED or CCCC 18 and rBIX, rBIX, 15 # rBIX <- D (or stays CCCC) 37 * rBIX= C or CCCC (index of first arg, which is the "this" ptr) 40 GET_VREG(rOBJ, rBIX) # rOBJ <- "this" ptr
|
OP_SGET.S | 14 LOAD_base_offDvmDex_pResFields(rBIX, a2) # rBIX <- dvmDex->pResFields 15 LOAD_eas2(a0, rBIX, a1) # a0 <- resolved StaticField ptr 22 * rBIX: dvmDex->pResFields 26 EAS2(rBIX, rBIX, a1) # rBIX<- &dvmDex->pResFields[field]
|
OP_SGET_WIDE.S | 12 LOAD_base_offDvmDex_pResFields(rBIX, a2) # rBIX <- dvmDex->pResFields 13 LOAD_eas2(a0, rBIX, a1) # a0 <- resolved StaticField ptr 20 * rBIX: dvmDex->pResFields 26 EAS2(rBIX, rBIX, a1) # rBIX<- &dvmDex->pResFields[field]
|
OP_SPUT.S | 14 LOAD_base_offDvmDex_pResFields(rBIX, a2) # rBIX <- dvmDex->pResFields 15 LOAD_eas2(a0, rBIX, a1) # a0 <- resolved StaticField ptr 20 * rBIX: dvmDex->pResFields 24 EAS2(rBIX, rBIX, a1) # rBIX<- &dvmDex->pResFields[field]
|
OP_SPUT_OBJECT.S | 14 LOAD_base_offDvmDex_pResFields(rBIX, a2) # rBIX <- dvmDex->pResFields 15 LOAD_eas2(a0, rBIX, a1) # a0 <- resolved StaticField ptr 20 * rBIX: dvmDex->pResFields 24 EAS2(rBIX, rBIX, a1) # rBIX<- &dvmDex->pResFields[field]
|
OP_SPUT_WIDE.S | 12 LOAD_base_offDvmDex_pResFields(rBIX, a2) # rBIX <- dvmDex->pResFields 14 LOAD_eas2(a2, rBIX, a1) # a2 <- resolved StaticField ptr 21 GET_INST_OPCODE(rBIX) # extract opcode from rINST 28 GOTO_OPCODE(rBIX) # jump to next instruction 35 * rBIX: dvmDex->pResFields 42 EAS2(rBIX, rBIX, a1) # rBIX<- &dvmDex->pResFields[field]
|
OP_FLOAT_TO_INT.S | 11 move rBIX, a0 17 move a0, rBIX # recover arg 24 move a0, rBIX 25 move a1, rBIX 32 move a0, rBIX
|
OP_FLOAT_TO_LONG.S | 8 move rBIX, a0 16 move a0, rBIX 25 move a0, rBIX 26 move a1, rBIX 34 move a0, rBIX
|
OP_APUT_OBJECT.S | 13 GET_VREG(rBIX, t1) # rBIX <- vAA 24 * rBIX = vAA (obj) 27 bnez rBIX, .L${opcode}_checks # yes, skip type checks 31 sw rBIX, offArrayObject_contents(rOBJ) # vBB[vCC] <- vAA 36 LOAD_base_offObject_clazz(a0, rBIX) # a0 <- obj->clazz 46 LOAD_base_offObject_clazz(a0, rBIX) # a0 <- obj->clazz
|
OP_DOUBLE_TO_INT.S | 9 * Use rBIX / rTEMP as global to hold arguments (they are not bound to a global var) 18 move rBIX, rARG0 # save a0 26 move rARG0, rBIX # recover arg 36 move rARG0, rBIX # recover arg 38 move rARG2, rBIX # compare against self 46 move rARG0, rBIX # recover arg
|
OP_DOUBLE_TO_LONG.S | 9 move rBIX, rARG0 # save a0 18 move rARG0, rBIX 29 move rARG0, rBIX 31 move rARG2, rBIX 40 move rARG0, rBIX
|
OP_INVOKE_STATIC.S | 17 EAS2(rBIX, a3, a1) # rBIX<- &resolved_metherToCall 35 * rBIX: &resolved_methodToCall 41 lw a1, 0(rBIX) # reload resolved method 44 move rBIX, a0 # preserve method 48 move a0, rBIX
|
OP_INVOKE_SUPER.S | 24 LOAD_base_offMethod_clazz(rBIX, t1) # rBIX <- method->clazz 28 move a0, rBIX # a0 <- method->clazz 40 * rBIX = method->clazz 43 LOAD_base_offClassObject_super(a1, rBIX) # a1 <- method->clazz->super
|
debug.cpp | 31 register uint32_t rBIX asm("s6"); 39 printf(" : rINST=%08x rOBJ=%08x rBIX=%08x rTEMP=%08x \n", rINST, rOBJ, rBIX, rTEMP);
|
OP_EXECUTE_INLINE.S | 18 FETCH(rBIX, 1) # rBIX <- BBBB 39 * rBIX = call index 74 EAS4(t1, rINST, rBIX) # t1 <- rINST + rBIX<<4 81 * rBIX: opIndex 84 move a0, rBIX
|
OP_EXECUTE_INLINE_RANGE.S | 16 FETCH(rBIX, 1) # rBIX<- BBBB 36 * rBIX = call index 61 EAS4(t1, rOBJ, rBIX) # t1 <- rINST + rBIX<<4 68 * rBIX: opIndex 71 move a0, rBIX
|
footer.S | 22 lw rBIX, offThread_jitResumeNPC(rSELF) 26 # expects resume addr in rBIX 364 move rBIX, a0 # save target 367 bne v0, rBIX, jitSVShadowRunStart # set up self verification shadow space 419 move a3, rBIX # r3 <- target translation 422 jr rBIX # jump to the translation 500 SAVEAREA_FROM_FP(rBIX, rFP) # rBIX <- stack save area 504 # a0=methodToCall, a1=CCCC, a2=count, rBIX=outs 508 subu rBIX, rBIX, t [all...] |
OP_FILLED_NEW_ARRAY.S | 48 move rBIX, a1 # save length in rBIX 58 subu rBIX, rBIX, 1 # length--, check for neg 60 bltz rBIX, 2f # was zero, bail 64 move t0, rBIX
|
/dalvik/vm/compiler/template/mips/ |
TEMPLATE_FLOAT_TO_INT_VFP.S | 10 move rBIX, a0 16 move a0, rBIX # recover arg 23 move a0, rBIX 24 move a1, rBIX 31 move a0, rBIX
|
TEMPLATE_DOUBLE_TO_INT_VFP.S | 10 * Use rBIX / rOBJ as global to hold arguments (they are not bound to a global var) 17 move rBIX, rARG0 # save a0 25 move rARG0, rBIX # recover arg 35 move rARG0, rBIX # recover arg 37 move rARG2, rBIX # compare against self 45 move rARG0, rBIX # recover arg
|
footer.S | 18 SAVEAREA_FROM_FP(rBIX, a1) # rBIX<- new stack save area 65 # native return; rBIX=newSaveArea 67 lw a2, offStackSaveArea_returnAddr(rBIX) # a2 = chaining cell ret addr 68 lw a0, offStackSaveArea_localRefCookie(rBIX) # a0<- saved->top 72 lw a0, offStackSaveArea_savedPc(rBIX) # reload rPC
|
/dalvik/vm/mterp/out/ |
InterpAsm-mips.S | 41 #define rBIX s6 [all...] |