/dalvik/vm/compiler/template/armv5te/ |
D | TEMPLATE_SHL_LONG.S | 8 and r2, r2, #63 @ r2<- r2 & 0x3f 9 mov r1, r1, asl r2 @ r1<- r1 << r2 10 rsb r3, r2, #32 @ r3<- 32 - r2 11 orr r1, r1, r0, lsr r3 @ r1<- r1 | (r0 << (32-r2)) 12 subs ip, r2, #32 @ ip<- r2 - 32 13 movpl r1, r0, asl ip @ if r2 >= 32, r1<- r0 << (r2-32) 14 mov r0, r0, asl r2 @ r0<- r0 << r2
|
D | TEMPLATE_USHR_LONG.S | 8 and r2, r2, #63 @ r0<- r0 & 0x3f 9 mov r0, r0, lsr r2 @ r0<- r2 >> r2 10 rsb r3, r2, #32 @ r3<- 32 - r2 11 orr r0, r0, r1, asl r3 @ r0<- r0 | (r1 << (32-r2)) 12 subs ip, r2, #32 @ ip<- r2 - 32 13 movpl r0, r1, lsr ip @ if r2 >= 32, r0<-r1 >>> (r2-32) 14 mov r1, r1, lsr r2 @ r1<- r1 >>> r2
|
D | TEMPLATE_SHR_LONG.S | 8 and r2, r2, #63 @ r0<- r0 & 0x3f 9 mov r0, r0, lsr r2 @ r0<- r2 >> r2 10 rsb r3, r2, #32 @ r3<- 32 - r2 11 orr r0, r0, r1, asl r3 @ r0<- r0 | (r1 << (32-r2)) 12 subs ip, r2, #32 @ ip<- r2 - 32 13 movpl r0, r1, asr ip @ if r2 >= 32, r0<-r1 >> (r2-32) 14 mov r1, r1, asr r2 @ r1<- r1 >> r2
|
/dalvik/vm/mterp/armv5te/ |
D | OP_USHR_LONG_2ADDR.S | 10 GET_VREG(r2, r3) @ r2<- vB 12 and r2, r2, #63 @ r2<- r2 & 0x3f 15 mov r0, r0, lsr r2 @ r0<- r2 >> r2 16 rsb r3, r2, #32 @ r3<- 32 - r2 17 orr r0, r0, r1, asl r3 @ r0<- r0 | (r1 << (32-r2)) 18 subs ip, r2, #32 @ ip<- r2 - 32 20 movpl r0, r1, lsr ip @ if r2 >= 32, r0<-r1 >>> (r2-32) 21 mov r1, r1, lsr r2 @ r1<- r1 >>> r2
|
D | OP_SHR_LONG_2ADDR.S | 10 GET_VREG(r2, r3) @ r2<- vB 12 and r2, r2, #63 @ r2<- r2 & 0x3f 15 mov r0, r0, lsr r2 @ r0<- r2 >> r2 16 rsb r3, r2, #32 @ r3<- 32 - r2 17 orr r0, r0, r1, asl r3 @ r0<- r0 | (r1 << (32-r2)) 18 subs ip, r2, #32 @ ip<- r2 - 32 20 movpl r0, r1, asr ip @ if r2 >= 32, r0<-r1 >> (r2-32) 21 mov r1, r1, asr r2 @ r1<- r1 >> r2
|
D | OP_SHL_LONG_2ADDR.S | 10 GET_VREG(r2, r3) @ r2<- vB 12 and r2, r2, #63 @ r2<- r2 & 0x3f 15 mov r1, r1, asl r2 @ r1<- r1 << r2 16 rsb r3, r2, #32 @ r3<- 32 - r2 17 orr r1, r1, r0, lsr r3 @ r1<- r1 | (r0 << (32-r2)) 18 subs ip, r2, #32 @ ip<- r2 - 32 20 movpl r1, r0, asl ip @ if r2 >= 32, r1<- r0 << (r2-32) 21 mov r0, r0, asl r2 @ r0<- r0 << r2
|
D | OP_SHL_LONG.S | 14 GET_VREG(r2, r0) @ r2<- vCC 16 and r2, r2, #63 @ r2<- r2 & 0x3f 19 mov r1, r1, asl r2 @ r1<- r1 << r2 20 rsb r3, r2, #32 @ r3<- 32 - r2 21 orr r1, r1, r0, lsr r3 @ r1<- r1 | (r0 << (32-r2)) 22 subs ip, r2, #32 @ ip<- r2 - 32 23 movpl r1, r0, asl ip @ if r2 >= 32, r1<- r0 << (r2-32) 29 mov r0, r0, asl r2 @ r0<- r0 << r2
|
D | OP_USHR_LONG.S | 14 GET_VREG(r2, r0) @ r2<- vCC 16 and r2, r2, #63 @ r0<- r0 & 0x3f 19 mov r0, r0, lsr r2 @ r0<- r2 >> r2 20 rsb r3, r2, #32 @ r3<- 32 - r2 21 orr r0, r0, r1, asl r3 @ r0<- r0 | (r1 << (32-r2)) 22 subs ip, r2, #32 @ ip<- r2 - 32 23 movpl r0, r1, lsr ip @ if r2 >= 32, r0<-r1 >>> (r2-32) 29 mov r1, r1, lsr r2 @ r1<- r1 >>> r2
|
D | OP_SHR_LONG.S | 14 GET_VREG(r2, r0) @ r2<- vCC 16 and r2, r2, #63 @ r0<- r0 & 0x3f 19 mov r0, r0, lsr r2 @ r0<- r2 >> r2 20 rsb r3, r2, #32 @ r3<- 32 - r2 21 orr r0, r0, r1, asl r3 @ r0<- r0 | (r1 << (32-r2)) 22 subs ip, r2, #32 @ ip<- r2 - 32 23 movpl r0, r1, asr ip @ if r2 >= 32, r0<-r1 >> (r2-32) 29 mov r1, r1, asr r2 @ r1<- r1 >> r2
|
D | OP_INVOKE_SUPER_QUICK.S | 12 ldr r2, [rGLUE, #offGlue_method] @ r2<- current method 17 ldr r2, [r2, #offMethod_clazz] @ r2<- method->clazz 19 ldr r2, [r2, #offClassObject_super] @ r2<- method->clazz->super 21 ldr r2, [r2, #offClassObject_vtable] @ r2<- ...clazz->super->vtable 23 ldr r0, [r2, r1, lsl #2] @ r0<- super->vtable[BBBB]
|
D | OP_INVOKE_VIRTUAL_QUICK.S | 16 GET_VREG(r2, r3) @ r2<- vC ("this" ptr) 17 cmp r2, #0 @ is "this" null? 19 ldr r2, [r2, #offObject_clazz] @ r2<- thisPtr->clazz 20 ldr r2, [r2, #offClassObject_vtable] @ r2<- thisPtr->clazz->vtable 22 ldr r0, [r2, r1, lsl #2] @ r3<- vtable[BBBB]
|
D | OP_MUL_LONG.S | 22 and r2, r0, #255 @ r2<- BB 24 add r2, rFP, r2, lsl #2 @ r2<- &fp[BB] 26 ldmia r2, {r0-r1} @ r0/r1<- vBB/vBB+1 27 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1 28 mul ip, r2, r1 @ ip<- ZxW 29 umull r9, r10, r2, r0 @ r9/r10 <- ZxX 30 mla r2, r0, r3, ip @ r2<- YxX + (ZxW) 32 add r10, r2, r10 @ r10<- r10 + low(ZxW + (YxX))
|
D | OP_SGET_WIDE.S | 9 ldr r2, [rGLUE, #offGlue_methodClassDex] @ r2<- DvmDex 11 ldr r2, [r2, #offDvmDex_pResFields] @ r2<- dvmDex->pResFields 12 ldr r0, [r2, r1, lsl #2] @ r0<- resolved StaticField ptr 17 ldrd r2, [r0, #offStaticField_value] @ r2/r3<- field value (aligned) 20 stmia r1, {r2-r3} @ vAA/vAA+1<- r2/r3 30 ldr r2, [rGLUE, #offGlue_method] @ r2<- current method 32 ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
|
D | OP_SGET.S | 11 ldr r2, [rGLUE, #offGlue_methodClassDex] @ r2<- DvmDex 13 ldr r2, [r2, #offDvmDex_pResFields] @ r2<- dvmDex->pResFields 14 ldr r0, [r2, r1, lsl #2] @ r0<- resolved StaticField ptr 19 mov r2, rINST, lsr #8 @ r2<- AA 21 SET_VREG(r1, r2) @ fp[AA]<- r1 31 ldr r2, [rGLUE, #offGlue_method] @ r2<- current method 33 ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
|
D | OP_SPUT.S | 11 ldr r2, [rGLUE, #offGlue_methodClassDex] @ r2<- DvmDex 13 ldr r2, [r2, #offDvmDex_pResFields] @ r2<- dvmDex->pResFields 14 ldr r0, [r2, r1, lsl #2] @ r0<- resolved StaticField ptr 18 mov r2, rINST, lsr #8 @ r2<- AA 20 GET_VREG(r1, r2) @ r1<- fp[AA] 31 ldr r2, [rGLUE, #offGlue_method] @ r2<- current method 33 ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
|
D | OP_IPUT_WIDE.S | 10 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pResFields 12 ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr 15 8: ldr r2, [rGLUE, #offGlue_method] @ r2<- current method 17 ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz 30 mov r2, rINST, lsr #8 @ r2<- A+ 32 and r2, r2, #15 @ r2<- A 34 add r2, rFP, r2, lsl #2 @ r3<- &fp[A] 37 ldmia r2, {r0-r1} @ r0/r1<- fp[A]
|
D | OP_MOVE_WIDE.S | 4 mov r2, rINST, lsr #8 @ r2<- A(+) 6 and r2, r2, #15 8 add r2, rFP, r2, lsl #2 @ r2<- &fp[A] 12 stmia r2, {r0-r1} @ fp[A]<- r0/r1
|
D | OP_SPUT_WIDE.S | 9 ldr r2, [rGLUE, #offGlue_methodClassDex] @ r2<- DvmDex 11 ldr r2, [r2, #offDvmDex_pResFields] @ r2<- dvmDex->pResFields 13 ldr r0, [r2, r1, lsl #2] @ r0<- resolved StaticField ptr 19 ldmia r9, {r2-r3} @ r2/r3<- vAA/vAA+1 21 strd r2, [r0, #offStaticField_value] @ field<- vAA/vAA+1 31 ldr r2, [rGLUE, #offGlue_method] @ r2<- current method 33 ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
|
D | OP_IPUT_QUICK.S | 5 mov r2, rINST, lsr #12 @ r2<- B 6 GET_VREG(r3, r2) @ r3<- fp[B], the object pointer 9 mov r2, rINST, lsr #8 @ r2<- A(+) 11 and r2, r2, #15 12 GET_VREG(r0, r2) @ r0<- fp[A]
|
/dalvik/vm/mterp/armv6t2/ |
D | OP_USHR_LONG_2ADDR.S | 9 GET_VREG(r2, r3) @ r2<- vB 11 and r2, r2, #63 @ r2<- r2 & 0x3f 14 mov r0, r0, lsr r2 @ r0<- r2 >> r2 15 rsb r3, r2, #32 @ r3<- 32 - r2 16 orr r0, r0, r1, asl r3 @ r0<- r0 | (r1 << (32-r2)) 17 subs ip, r2, #32 @ ip<- r2 - 32 19 movpl r0, r1, lsr ip @ if r2 >= 32, r0<-r1 >>> (r2-32) 20 mov r1, r1, lsr r2 @ r1<- r1 >>> r2
|
D | OP_SHR_LONG_2ADDR.S | 9 GET_VREG(r2, r3) @ r2<- vB 11 and r2, r2, #63 @ r2<- r2 & 0x3f 14 mov r0, r0, lsr r2 @ r0<- r2 >> r2 15 rsb r3, r2, #32 @ r3<- 32 - r2 16 orr r0, r0, r1, asl r3 @ r0<- r0 | (r1 << (32-r2)) 17 subs ip, r2, #32 @ ip<- r2 - 32 19 movpl r0, r1, asr ip @ if r2 >= 32, r0<-r1 >> (r2-32) 20 mov r1, r1, asr r2 @ r1<- r1 >> r2
|
D | OP_SHL_LONG_2ADDR.S | 9 GET_VREG(r2, r3) @ r2<- vB 11 and r2, r2, #63 @ r2<- r2 & 0x3f 14 mov r1, r1, asl r2 @ r1<- r1 << r2 15 rsb r3, r2, #32 @ r3<- 32 - r2 16 orr r1, r1, r0, lsr r3 @ r1<- r1 | (r0 << (32-r2)) 17 subs ip, r2, #32 @ ip<- r2 - 32 19 movpl r1, r0, asl ip @ if r2 >= 32, r1<- r0 << (r2-32) 20 mov r0, r0, asl r2 @ r0<- r0 << r2
|
/dalvik/vm/mterp/armv4t/ |
D | OP_SGET_WIDE.S | 9 ldr r2, [rGLUE, #offGlue_methodClassDex] @ r2<- DvmDex 11 ldr r2, [r2, #offDvmDex_pResFields] @ r2<- dvmDex->pResFields 12 ldr r0, [r2, r1, lsl #2] @ r0<- resolved StaticField ptr 18 ldmia r0, {r2-r3} @ r2/r3<- field value (aligned) 21 stmia r1, {r2-r3} @ vAA/vAA+1<- r2/r3 31 ldr r2, [rGLUE, #offGlue_method] @ r2<- current method 33 ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
|
D | OP_IPUT_WIDE.S | 10 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pResFields 12 ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr 15 8: ldr r2, [rGLUE, #offGlue_method] @ r2<- current method 17 ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz 30 mov r2, rINST, lsr #8 @ r2<- A+ 32 and r2, r2, #15 @ r2<- A 34 add r2, rFP, r2, lsl #2 @ r3<- &fp[A] 37 ldmia r2, {r0-r1} @ r0/r1<- fp[A]
|
D | OP_SPUT_WIDE.S | 9 ldr r2, [rGLUE, #offGlue_methodClassDex] @ r2<- DvmDex 11 ldr r2, [r2, #offDvmDex_pResFields] @ r2<- dvmDex->pResFields 13 ldr r0, [r2, r1, lsl #2] @ r0<- resolved StaticField ptr 19 ldmia r9, {r2-r3} @ r2/r3<- vAA/vAA+1 22 stmia r0, {r2-r3} @ field<- vAA/vAA+1 32 ldr r2, [rGLUE, #offGlue_method] @ r2<- current method 34 ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
|