Home | History | Annotate | Download | only in out

Lines Matching refs:r3

31 r0-r3 hold first 4 args to a method; they are not preserved across method calls
335 ldr r3, [r2, #offShadowSpace_jitExitState] @ jit exit state
336 cmp r3, #kSVSTraceSelect @ hot trace following?
339 cmp r3, #kSVSNoProfile @ don't profile the next instruction?
491 mov r3, rINST, lsr #12 @ r3<- B
493 add r3, rFP, r3, lsl #2 @ r3<- &fp[B]
495 ldmia r3, {r0-r1} @ r0/r1<- fp[B]
507 FETCH(r3, 1) @ r3<- BBBB
509 add r3, rFP, r3, lsl #2 @ r3<- &fp[BBBB]
511 ldmia r3, {r0-r1} @ r0/r1<- fp[BBBB]
523 FETCH(r3, 2) @ r3<- BBBB
525 add r3, rFP, r3, lsl #2 @ r3<- &fp[BBBB]
527 ldmia r3, {r0-r1} @ r0/r1<- fp[BBBB]
601 add r3, rGLUE, #offGlue_retval @ r3<- &glue->retval
603 ldmia r3, {r0-r1} @ r0/r1<- retval.j
631 ldr r3, [r0, #offThread_exception] @ r3<- dvmGetException bypass
634 SET_VREG(r3, r2) @ fp[AA]<- exception obj
672 add r3, rGLUE, #offGlue_retval @ r3<- &glue->retval
674 stmia r3, {r0-r1} @ retval<- r0/r1
715 mov r3, rINST, lsr #8 @ r3<- AA
717 SET_VREG(r0, r3) @ vAA<- r0
726 mov r3, rINST, lsr #8 @ r3<- AA
732 SET_VREG(r0, r3) @ vAA<- r0
741 mov r3, rINST, lsr #8 @ r3<- AA
744 SET_VREG(r0, r3) @ vAA<- r0
754 mov r3, rINST, lsr #8 @ r3<- AA
757 add r3, rFP, r3, lsl #2 @ r3<- &fp[AA]
759 stmia r3, {r0-r1} @ vAA<- r0/r1
768 mov r3, rINST, lsr #8 @ r3<- AA
772 add r3, rFP, r3, lsl #2 @ r3<- &fp[AA]
775 stmia r3, {r0-r1} @ vAA<- r0/r1
787 FETCH(r3, 4) @ r3<- HHHH (high)
789 orr r1, r2, r3, lsl #16 @ r1<- HHHHhhhh (high word)
802 mov r3, rINST, lsr #8 @ r3<- AA
806 add r3, rFP, r3, lsl #2 @ r3<- &fp[AA]
808 stmia r3, {r0-r1} @ vAA<- r0/r1
925 mov r3, rINST, lsr #8 @ r3<- AA
927 GET_VREG(r9, r3) @ r9<- object
955 mov r3, rINST, lsr #12 @ r3<- B
957 GET_VREG(r0, r3) @ r0<- vB (object)
962 FETCH(r3, 1) @ r3<- CCCC
964 ldr r1, [r2, r3, lsl #2] @ r1<- resolved class
987 ldr r3, [r0, #offArrayObject_length] @ r3<- array length
989 SET_VREG(r3, r2) @ vB<- length
1000 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- pDvmDex
1002 ldr r3, [r3, #offDvmDex_pResClasses] @ r3<- pDvmDex->pResClasses
1003 ldr r0, [r3, r1, lsl #2] @ r0<- resolved class
1030 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- pDvmDex
1032 ldr r3, [r3, #offDvmDex_pResClasses] @ r3<- pDvmDex->pResClasses
1034 ldr r0, [r3, r2, lsl #2] @ r0<- resolved class
1052 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- pDvmDex
1054 ldr r3, [r3, #offDvmDex_pResClasses] @ r3<- pDvmDex->pResClasses
1056 ldr r0, [r3, r1, lsl #2] @ r0<- resolved class
1060 8: ldr r3, [rGLUE, #offGlue_method] @ r3<- glue->method
1062 ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
1080 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- pDvmDex
1082 ldr r3, [r3, #offDvmDex_pResClasses] @ r3<- pDvmDex->pResClasses
1084 ldr r0, [r3, r1, lsl #2] @ r0<- resolved class
1088 8: ldr r3, [rGLUE, #offGlue_method] @ r3<- glue->method
1090 ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
1104 mov r3, rINST, lsr #8 @ r3<- AA
1106 GET_VREG(r0, r3) @ r0<- vAA (array object)
1240 mov r3, rINST, lsr #8 @ r3<- AA
1242 GET_VREG(r1, r3) @ r1<- vAA
1278 mov r3, rINST, lsr #8 @ r3<- AA
1280 GET_VREG(r1, r3) @ r1<- vAA
1324 mov r3, r0, lsr #8 @ r3<- CC
1326 VREG_INDEX_TO_ADDR(r3, r3) @ r3<- &vCC
1328 flds s1, [r3] @ s1<- vCC
1363 mov r3, r0, lsr #8 @ r3<- CC
1365 VREG_INDEX_TO_ADDR(r3, r3) @ r3<- &vCC
1367 flds s1, [r3] @ s1<- vCC
1402 mov r3, r0, lsr #8 @ r3<- CC
1404 VREG_INDEX_TO_ADDR(r3, r3) @ r3<- &vCC
1406 fldd d1, [r3] @ d1<- vCC
1441 mov r3, r0, lsr #8 @ r3<- CC
1443 VREG_INDEX_TO_ADDR(r3, r3) @ r3<- &vCC
1445 fldd d1, [r3] @ d1<- vCC
1470 * sbcs ip, r1, r3
1484 mov r3, r0, lsr #8 @ r3<- CC
1486 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
1488 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
1489 cmp r1, r3 @ compare (vBB+1, vCC+1)
1513 GET_VREG(r3, r1) @ r3<- vB
1516 cmp r2, r3 @ compare (vA, vB)
1549 GET_VREG(r3, r1) @ r3<- vB
1552 cmp r2, r3 @ compare (vA, vB)
1585 GET_VREG(r3, r1) @ r3<- vB
1588 cmp r2, r3 @ compare (vA, vB)
1621 GET_VREG(r3, r1) @ r3<- vB
1624 cmp r2, r3 @ compare (vA, vB)
1657 GET_VREG(r3, r1) @ r3<- vB
1660 cmp r2, r3 @ compare (vA, vB)
1693 GET_VREG(r3, r1) @ r3<- vB
1696 cmp r2, r3 @ compare (vA, vB)
1992 FETCH_B(r3, 1, 1) @ r3<- CC
1994 GET_VREG(r1, r3) @ r1<- vCC (requested index)
1997 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
1999 cmp r1, r3 @ compare unsigned index, length
2020 mov r3, r0, lsr #8 @ r3<- CC
2022 GET_VREG(r1, r3) @ r1<- vCC (requested index)
2025 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2027 cmp r1, r3 @ compare unsigned index, length
2050 FETCH_B(r3, 1, 1) @ r3<- CC
2052 GET_VREG(r1, r3) @ r1<- vCC (requested index)
2055 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2057 cmp r1, r3 @ compare unsigned index, length
2082 FETCH_B(r3, 1, 1) @ r3<- CC
2084 GET_VREG(r1, r3) @ r1<- vCC (requested index)
2087 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2089 cmp r1, r3 @ compare unsigned index, length
2114 FETCH_B(r3, 1, 1) @ r3<- CC
2116 GET_VREG(r1, r3) @ r1<- vCC (requested index)
2119 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2121 cmp r1, r3 @ compare unsigned index, length
2146 FETCH_B(r3, 1, 1) @ r3<- CC
2148 GET_VREG(r1, r3) @ r1<- vCC (requested index)
2151 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2153 cmp r1, r3 @ compare unsigned index, length
2178 FETCH_B(r3, 1, 1) @ r3<- CC
2180 GET_VREG(r1, r3) @ r1<- vCC (requested index)
2183 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2185 cmp r1, r3 @ compare unsigned index, length
2209 FETCH_B(r3, 1, 1) @ r3<- CC
2211 GET_VREG(r1, r3) @ r1<- vCC (requested index)
2214 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2216 cmp r1, r3 @ compare unsigned index, length
2237 mov r3, r0, lsr #8 @ r3<- CC
2239 GET_VREG(r1, r3) @ r1<- vCC (requested index)
2242 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2244 cmp r1, r3 @ compare unsigned index, length
2266 mov r3, r0, lsr #8 @ r3<- CC
2268 GET_VREG(r0, r3) @ r0<- vCC (requested index)
2272 ldr r3, [rINST, #offArrayObject_length] @ r3<- arrayObj->length
2274 cmp r0, r3 @ compare unsigned index, length
2295 FETCH_B(r3, 1, 1) @ r3<- CC
2297 GET_VREG(r1, r3) @ r1<- vCC (requested index)
2300 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2302 cmp r1, r3 @ compare unsigned index, length
2327 FETCH_B(r3, 1, 1) @ r3<- CC
2329 GET_VREG(r1, r3) @ r1<- vCC (requested index)
2332 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2334 cmp r1, r3 @ compare unsigned index, length
2359 FETCH_B(r3, 1, 1) @ r3<- CC
2361 GET_VREG(r1, r3) @ r1<- vCC (requested index)
2364 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2366 cmp r1, r3 @ compare unsigned index, length
2391 FETCH_B(r3, 1, 1) @ r3<- CC
2393 GET_VREG(r1, r3) @ r1<- vCC (requested index)
2396 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2398 cmp r1, r3 @ compare unsigned index, length
2418 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2420 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
2442 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2444 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pResFields
2469 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2471 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
2498 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2500 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
2527 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2529 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
2556 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2558 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
2585 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2587 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
2612 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2614 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
2633 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2635 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pResFields
2659 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2661 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
2687 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2689 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
2716 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2718 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
2745 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2747 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
2774 r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2776 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
3175 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- pDvmDex
3177 ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
3179 ldr r0, [r3, r1, lsl #2] @ r0<- resolved baseMethod
3186 ldr r3, [rGLUE, #offGlue_method] @ r3<- glue->method
3187 ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
3206 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- pDvmDex
3211 ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
3213 ldr r0, [r3, r1, lsl #2] @ r0<- resolved baseMethod
3239 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- pDvmDex
3241 ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
3243 ldr r0, [r3, r1, lsl #2] @ r0<- resolved methodToCall
3267 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- pDvmDex
3269 ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
3270 ldr r0, [r3, r1, lsl #2] @ r0<- resolved methodToCall
3274 0: ldr r3, [rGLUE, #offGlue_method] @ r3<- glue->method
3275 ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
3300 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- methodClassDex
3330 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- pDvmDex
3332 ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
3334 ldr r0, [r3, r1, lsl #2] @ r0<- resolved baseMethod
3341 ldr r3, [rGLUE, #offGlue_method] @ r3<- glue->method
3342 ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
3363 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- pDvmDex
3368 ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
3370 ldr r0, [r3, r1, lsl #2] @ r0<- resolved baseMethod
3398 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- pDvmDex
3400 ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
3402 ldr r0, [r3, r1, lsl #2] @ r0<- resolved methodToCall
3428 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- pDvmDex
3430 ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
3431 ldr r0, [r3, r1, lsl #2] @ r0<- resolved methodToCall
3435 0: ldr r3, [rGLUE, #offGlue_method] @ r3<- glue->method
3436 ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
3463 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- methodClassDex
3504 mov r3, rINST, lsr #12 @ r3<- B
3506 GET_VREG(r0, r3) @ r0<- vB
3510 rsb r0, r0, #0 @ r0<- op, r0-r3 changed
3531 mov r3, rINST, lsr #12 @ r3<- B
3533 GET_VREG(r0, r3) @ r0<- vB
3537 mvn r0, r0 @ r0<- op, r0-r3 changed
3558 mov r3, rINST, lsr #12 @ r3<- B
3560 add r3, rFP, r3, lsl #2 @ r3<- &fp[B]
3562 ldmia r3, {r0-r1} @ r0/r1<- vAA
3565 rsc r1, r1, #0 @ r0/r1<- op, r2-r3 changed
3586 mov r3, rINST, lsr #12 @ r3<- B
3588 add r3, rFP, r3, lsl #2 @ r3<- &fp[B]
3590 ldmia r3, {r0-r1} @ r0/r1<- vAA
3593 mvn r1, r1 @ r0/r1<- op, r2-r3 changed
3614 mov r3, rINST, lsr #12 @ r3<- B
3616 GET_VREG(r0, r3) @ r0<- vB
3620 add r0, r0, #0x80000000 @ r0<- op, r0-r3 changed
3641 mov r3, rINST, lsr #12 @ r3<- B
3643 add r3, rFP, r3, lsl #2 @ r3<- &fp[B]
3645 ldmia r3, {r0-r1} @ r0/r1<- vAA
3648 add r1, r1, #0x80000000 @ r0/r1<- op, r2-r3 changed
3669 mov r3, rINST, lsr #12 @ r3<- B
3671 GET_VREG(r0, r3) @ r0<- vB
3675 mov r1, r0, asr #31 @ r0<- op, r0-r3 changed
3694 mov r3, rINST, lsr #12 @ r3<- B
3696 VREG_INDEX_TO_ADDR(r3, r3) @ r3<- &vB
3697 flds s0, [r3] @ s0<- vB
3719 mov r3, rINST, lsr #12 @ r3<- B
3721 VREG_INDEX_TO_ADDR(r3, r3) @ r3<- &vB
3722 flds s0, [r3] @ s0<- vB
3766 mov r3, rINST, lsr #12 @ r3<- B
3768 add r3, rFP, r3, lsl #2 @ r3<- &fp[B]
3770 ldmia r3, {r0-r1} @ r0/r1<- vB/vB+1
3773 bl __aeabi_l2f @ r0<- op, r0-r3 changed
3794 mov r3, rINST, lsr #12 @ r3<- B
3796 add r3, rFP, r3, lsl #2 @ r3<- &fp[B]
3798 ldmia r3, {r0-r1} @ r0/r1<- vAA
3801 bl __aeabi_l2d @ r0/r1<- op, r2-r3 changed
3820 mov r3, rINST, lsr #12 @ r3<- B
3822 VREG_INDEX_TO_ADDR(r3, r3) @ r3<- &vB
3823 flds s0, [r3] @ s0<- vB
3848 mov r3, rINST, lsr #12 @ r3<- B
3850 GET_VREG(r0, r3) @ r0<- vB
3854 bl f2l_doconv @ r0<- op, r0-r3 changed
3874 mov r3, rINST, lsr #12 @ r3<- B
3876 VREG_INDEX_TO_ADDR(r3, r3) @ r3<- &vB
3877 flds s0, [r3] @ s0<- vB
3899 mov r3, rINST, lsr #12 @ r3<- B
3901 VREG_INDEX_TO_ADDR(r3, r3) @ r3<- &vB
3902 fldd d0, [r3] @ d0<- vB
3927 mov r3, rINST, lsr #12 @ r3<- B
3929 add r3, rFP, r3, lsl #2 @ r3<- &fp[B]
3931 ldmia r3, {r0-r1} @ r0/r1<- vAA
3934 bl d2l_doconv @ r0/r1<- op, r2-r3 changed
3954 mov r3, rINST, lsr #12 @ r3<- B
3956 VREG_INDEX_TO_ADDR(r3, r3) @ r3<- &vB
3957 fldd d0, [r3] @ d0<- vB
3981 mov r3, rINST, lsr #12 @ r3<- B
3983 GET_VREG(r0, r3) @ r0<- vB
3987 mov r0, r0, asr #24 @ r0<- op, r0-r3 changed
4008 mov r3, rINST, lsr #12 @ r3<- B
4010 GET_VREG(r0, r3) @ r0<- vB
4014 mov r0, r0, lsr #16 @ r0<- op, r0-r3 changed
4035 mov r3, rINST, lsr #12 @ r3<- B
4037 GET_VREG(r0, r3) @ r0<- vB
4041 mov r0, r0, asr #16 @ r0<- op, r0-r3 changed
4071 mov r3, r0, lsr #8 @ r3<- CC
4073 GET_VREG(r1, r3) @ r1<- vCC
4082 add r0, r0, r1 @ r0<- op, r0-r3 changed
4112 mov r3, r0, lsr #8 @ r3<- CC
4114 GET_VREG(r1, r3) @ r1<- vCC
4123 sub r0, r0, r1 @ r0<- op, r0-r3 changed
4154 mov r3, r0, lsr #8 @ r3<- CC
4156 GET_VREG(r1, r3) @ r1<- vCC
4165 mul r0, r1, r0 @ r0<- op, r0-r3 changed
4195 mov r3, r0, lsr #8 @ r3<- CC
4197 GET_VREG(r1, r3) @ r1<- vCC
4206 bl __aeabi_idiv @ r0<- op, r0-r3 changed
4237 mov r3, r0, lsr #8 @ r3<- CC
4239 GET_VREG(r1, r3) @ r1<- vCC
4248 bl __aeabi_idivmod @ r1<- op, r0-r3 changed
4278 mov r3, r0, lsr #8 @ r3<- CC
4280 GET_VREG(r1, r3) @ r1<- vCC
4289 and r0, r0, r1 @ r0<- op, r0-r3 changed
4319 mov r3, r0, lsr #8 @ r3<- CC
4321 GET_VREG(r1, r3) @ r1<- vCC
4330 orr r0, r0, r1 @ r0<- op, r0-r3 changed
4360 mov r3, r0, lsr #8 @ r3<- CC
4362 GET_VREG(r1, r3) @ r1<- vCC
4371 eor r0, r0, r1 @ r0<- op, r0-r3 changed
4401 mov r3, r0, lsr #8 @ r3<- CC
4403 GET_VREG(r1, r3) @ r1<- vCC
4412 mov r0, r0, asl r1 @ r0<- op, r0-r3 changed
4442 mov r3, r0, lsr #8 @ r3<- CC
4444 GET_VREG(r1, r3) @ r1<- vCC
4453 mov r0, r0, asr r1 @ r0<- op, r0-r3 changed
4483 mov r3, r0, lsr #8 @ r3<- CC
4485 GET_VREG(r1, r3) @ r1<- vCC
4494 mov r0, r0, lsr r1 @ r0<- op, r0-r3 changed
4508 * specifies an instruction that performs "result = r0-r1 op r2-r3".
4525 mov r3, r0, lsr #8 @ r3<- CC
4528 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
4530 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
4532 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
4538 adc r1, r1, r3 @ result<- op, r0-r3 changed
4552 * specifies an instruction that performs "result = r0-r1 op r2-r3".
4569 mov r3, r0, lsr #8 @ r3<- CC
4572 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
4574 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
4576 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
4582 sbc r1, r1, r3 @ result<- op, r0-r3 changed
4614 mov r3, r0, lsr #8 @ r3<- CC
4616 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
4618 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
4621 mla r2, r0, r3, ip @ r2<- YxX + (ZxW)
4635 * specifies an instruction that performs "result = r0-r1 op r2-r3".
4652 mov r3, r0, lsr #8 @ r3<- CC
4655 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
4657 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
4659 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
4665 bl __aeabi_ldivmod @ result<- op, r0-r3 changed
4676 /* ldivmod returns quotient in r0/r1 and remainder in r2/r3 */
4680 * specifies an instruction that performs "result = r0-r1 op r2-r3".
4697 mov r3, r0, lsr #8 @ r3<- CC
4700 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
4702 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
4704 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
4710 bl __aeabi_ldivmod @ result<- op, r0-r3 changed
4712 stmia r9, {r2,r3} @ vAA/vAA+1<- r2/r3
4724 * specifies an instruction that performs "result = r0-r1 op r2-r3".
4741 mov r3, r0, lsr #8 @ r3<- CC
4744 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
4746 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
4748 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
4754 and r1, r1, r3 @ result<- op, r0-r3 changed
4768 * specifies an instruction that performs "result = r0-r1 op r2-r3".
4785 mov r3, r0, lsr #8 @ r3<- CC
4788 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
4790 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
4792 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
4798 orr r1, r1, r3 @ result<- op, r0-r3 changed
4812 * specifies an instruction that performs "result = r0-r1 op r2-r3".
4829 mov r3, r0, lsr #8 @ r3<- CC
4832 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
4834 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
4836 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
4842 eor r1, r1, r3 @ result<- op, r0-r3 changed
4862 and r3, r0, #255 @ r3<- BB
4864 add r3, rFP, r3, lsl #2 @ r3<- &fp[BB]
4866 ldmia r3, {r0-r1} @ r0/r1<- vBB/vBB+1
4871 rsb r3, r2, #32 @ r3<- 32 - r2
4872 orr r1, r1, r0, lsr r3 @ r1<- r1 | (r0 << (32-r2))
4891 and r3, r0, #255 @ r3<- BB
4893 add r3, rFP, r3, lsl #2 @ r3<- &fp[BB]
4895 ldmia r3, {r0-r1} @ r0/r1<- vBB/vBB+1
4900 rsb r3, r2, #32 @ r3<- 32 - r2
4901 orr r0, r0, r1, asl r3 @ r0<- r0 | (r1 << (32-r2))
4920 and r3, r0, #255 @ r3<- BB
4922 add r3, rFP, r3, lsl #2 @ r3<- &fp[BB]
4924 ldmia r3, {r0-r1} @ r0/r1<- vBB/vBB+1
4929 rsb r3, r2, #32 @ r3<- 32 - r2
4930 orr r0, r0, r1, asl r3 @ r0<- r0 | (r1 << (32-r2))
4951 mov r3, r0, lsr #8 @ r3<- CC
4953 VREG_INDEX_TO_ADDR(r3, r3) @ r3<- &vCC
4955 flds s1, [r3] @ s1<- vCC
4981 mov r3, r0, lsr #8 @ r3<- CC
4983 VREG_INDEX_TO_ADDR(r3, r3) @ r3<- &vCC
4985 flds s1, [r3] @ s1<- vCC
5011 mov r3, r0, lsr #8 @ r3<- CC
5013 VREG_INDEX_TO_ADDR(r3, r3) @ r3<- &vCC
5015 flds s1, [r3] @ s1<- vCC
5041 mov r3, r0, lsr #8 @ r3<- CC
5043 VREG_INDEX_TO_ADDR(r3, r3) @ r3<- &vCC
5045 flds s1, [r3] @ s1<- vCC
5080 mov r3, r0, lsr #8 @ r3<- CC
5082 GET_VREG(r1, r3) @ r1<- vCC
5091 bl fmodf @ r0<- op, r0-r3 changed
5113 mov r3, r0, lsr #8 @ r3<- CC
5115 VREG_INDEX_TO_ADDR(r3, r3) @ r3<- &vCC
5117 fldd d1, [r3] @ d1<- vCC
5143 mov r3, r0, lsr #8 @ r3<- CC
5145 VREG_INDEX_TO_ADDR(r3, r3) @ r3<- &vCC
5147 fldd d1, [r3] @ d1<- vCC
5173 mov r3, r0, lsr #8 @ r3<- CC
5175 VREG_INDEX_TO_ADDR(r3, r3) @ r3<- &vCC
5177 fldd d1, [r3] @ d1<- vCC
5203 mov r3, r0, lsr #8 @ r3<- CC
5205 VREG_INDEX_TO_ADDR(r3, r3) @ r3<- &vCC
5207 fldd d1, [r3] @ d1<- vCC
5226 * specifies an instruction that performs "result = r0-r1 op r2-r3".
5243 mov r3, r0, lsr #8 @ r3<- CC
5246 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
5248 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
5250 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
5256 bl fmod @ result<- op, r0-r3 changed
5284 mov r3, rINST, lsr #12 @ r3<- B
5286 GET_VREG(r1, r3) @ r1<- vB
5295 add r0, r0, r1 @ r0<- op, r0-r3 changed
5323 mov r3, rINST, lsr #12 @ r3<- B
5325 GET_VREG(r1, r3) @ r1<- vB
5334 sub r0, r0, r1 @ r0<- op, r0-r3 changed
5363 mov r3, rINST, lsr #12 @ r3<- B
5365 GET_VREG(r1, r3) @ r1<- vB
5374 mul r0, r1, r0 @ r0<- op, r0-r3 changed
5402 mov r3, rINST, lsr #12 @ r3<- B
5404 GET_VREG(r1, r3) @ r1<- vB
5413 bl __aeabi_idiv @ r0<- op, r0-r3 changed
5442 mov r3, rINST, lsr #12 @ r3<- B
5444 GET_VREG(r1, r3) @ r1<- vB
5453 bl __aeabi_idivmod @ r1<- op, r0-r3 changed
5481 mov r3, rINST, lsr #12 @ r3<- B
5483 GET_VREG(r1, r3) @ r1<- vB
5492 and r0, r0, r1 @ r0<- op, r0-r3 changed
5520 mov r3, rINST, lsr #12 @ r3<- B
5522 GET_VREG(r1, r3) @ r1<- vB
5531 orr r0, r0, r1 @ r0<- op, r0-r3 changed
5559 mov r3, rINST, lsr #12 @ r3<- B
5561 GET_VREG(r1, r3) @ r1<- vB
5570 eor r0, r0, r1 @ r0<- op, r0-r3 changed
5598 mov r3, rINST, lsr #12 @ r3<- B
5600 GET_VREG(r1, r3) @ r1<- vB
5609 mov r0, r0, asl r1 @ r0<- op, r0-r3 changed
5637 mov r3, rINST, lsr #12 @ r3<- B
5639 GET_VREG(r1, r3) @ r1<- vB
5648 mov r0, r0, asr r1 @ r0<- op, r0-r3 changed
5676 mov r3, rINST, lsr #12 @ r3<- B
5678 GET_VREG(r1, r3) @ r1<- vB
5687 mov r0, r0, lsr r1 @ r0<- op, r0-r3 changed
5701 * that specifies an instruction that performs "result = r0-r1 op r2-r3".
5719 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
5722 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
5728 adc r1, r1, r3 @ result<- op, r0-r3 changed
5742 * that specifies an instruction that performs "result = r0-r1 op r2-r3".
5760 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
5763 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
5769 sbc r1, r1, r3 @ result<- op, r0-r3 changed
5794 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
5798 mla r2, r0, r3, ip @ r2<- YxX + (ZxW)
5813 * that specifies an instruction that performs "result = r0-r1 op r2-r3".
5831 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
5834 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
5840 bl __aeabi_ldivmod @ result<- op, r0-r3 changed
5851 /* ldivmod returns quotient in r0/r1 and remainder in r2/r3 */
5855 * that specifies an instruction that performs "result = r0-r1 op r2-r3".
5873 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
5876 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
5882 bl __aeabi_ldivmod @ result<- op, r0-r3 changed
5884 stmia r9, {r2,r3} @ vAA/vAA+1<- r2/r3
5896 * that specifies an instruction that performs "result = r0-r1 op r2-r3".
5914 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
5917 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
5923 and r1, r1, r3 @ result<- op, r0-r3 changed
5937 * that specifies an instruction that performs "result = r0-r1 op r2-r3".
5955 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
5958 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
5964 orr r1, r1, r3 @ result<- op, r0-r3 changed
5978 * that specifies an instruction that performs "result = r0-r1 op r2-r3".
5996 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
5999 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
6005 eor r1, r1, r3 @ result<- op, r0-r3 changed
6022 mov r3, rINST, lsr #12 @ r3<- B
6024 GET_VREG(r2, r3) @ r2<- vB
6030 rsb r3, r2, #32 @ r3<- 32 - r2
6031 orr r1, r1, r0, lsr r3 @ r1<- r1 | (r0 << (32-r2))
6048 mov r3, rINST, lsr #12 @ r3<- B
6050 GET_VREG(r2, r3) @ r2<- vB
6056 rsb r3, r2, #32 @ r3<- 32 - r2
6057 orr r0, r0, r1, asl r3 @ r0<- r0 | (r1 << (32-r2))
6074 mov r3, rINST, lsr #12 @ r3<- B
6076 GET_VREG(r2, r3) @ r2<- vB
6082 rsb r3, r2, #32 @ r3<- 32 - r2
6083 orr r0, r0, r1, asl r3 @ r0<- r0 | (r1 << (32-r2))
6103 mov r3, rINST, lsr #12 @ r3<- B
6105 VREG_INDEX_TO_ADDR(r3, r3) @ r3<- &vB
6107 flds s1, [r3] @ s1<- vB
6131 mov r3, rINST, lsr #12 @ r3<- B
6133 VREG_INDEX_TO_ADDR(r3, r3) @ r3<- &vB
6135 flds s1, [r3] @ s1<- vB
6159 mov r3, rINST, lsr #12 @ r3<- B
6161 VREG_INDEX_TO_ADDR(r3, r3) @ r3<- &vB
6163 flds s1, [r3] @ s1<- vB
6187 mov r3, rINST, lsr #12 @ r3<- B
6189 VREG_INDEX_TO_ADDR(r3, r3) @ r3<- &vB
6191 flds s1, [r3] @ s1<- vB
6224 mov r3, rINST, lsr #12 @ r3<- B
6226 GET_VREG(r1, r3) @ r1<- vB
6235 bl fmodf @ r0<- op, r0-r3 changed
6256 mov r3, rINST, lsr #12 @ r3<- B
6258 VREG_INDEX_TO_ADDR(r3, r3) @ r3<- &vB
6260 fldd d1, [r3] @ d1<- vB
6285 mov r3, rINST, lsr #12 @ r3<- B
6287 VREG_INDEX_TO_ADDR(r3, r3) @ r3<- &vB
6289 fldd d1, [r3] @ d1<- vB
6314 mov r3, rINST, lsr #12 @ r3<- B
6316 VREG_INDEX_TO_ADDR(r3, r3) @ r3<- &vB
6318 fldd d1, [r3] @ d1<- vB
6343 mov r3, rINST, lsr #12 @ r3<- B
6345 VREG_INDEX_TO_ADDR(r3, r3) @ r3<- &vB
6347 fldd d1, [r3] @ d1<- vB
6366 * that specifies an instruction that performs "result = r0-r1 op r2-r3".
6384 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
6387 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
6393 bl fmod @ result<- op, r0-r3 changed
6429 add r0, r0, r1 @ r0<- op, r0-r3 changed
6466 rsb r0, r0, r1 @ r0<- op, r0-r3 changed
6503 mul r0, r1, r0 @ r0<- op, r0-r3 changed
6539 bl __aeabi_idiv @ r0<- op, r0-r3 changed
6576 bl __aeabi_idivmod @ r1<- op, r0-r3 changed
6612 and r0, r0, r1 @ r0<- op, r0-r3 changed
6648 orr r0, r0, r1 @ r0<- op, r0-r3 changed
6684 eor r0, r0, r1 @ r0<- op, r0-r3 changed
6710 FETCH_S(r3, 1) @ r3<- ssssCCBB (sign-extended for CC)
6712 and r2, r3, #255 @ r2<- BB
6714 movs r1, r3, asr #8 @ r1<- ssssssCC (sign extended)
6722 add r0, r0, r1 @ r0<- op, r0-r3 changed
6748 FETCH_S(r3, 1) @ r3<- ssssCCBB (sign-extended for CC)
6750 and r2, r3, #255 @ r2<- BB
6752 movs r1, r3, asr #8 @ r1<- ssssssCC (sign extended)
6760 rsb r0, r0, r1 @ r0<- op, r0-r3 changed
6787 FETCH_S(r3, 1) @ r3<- ssssCCBB (sign-extended for CC)
6789 and r2, r3, #255 @ r2<- BB
6791 movs r1, r3, asr #8 @ r1<- ssssssCC (sign extended)
6799 mul r0, r1, r0 @ r0<- op, r0-r3 changed
6825 FETCH_S(r3, 1) @ r3<- ssssCCBB (sign-extended for CC)
6827 and r2, r3, #255 @ r2<- BB
6829 movs r1, r3, asr #8 @ r1<- ssssssCC (sign extended)
6837 bl __aeabi_idiv @ r0<- op, r0-r3 changed
6864 FETCH_S(r3, 1) @ r3<- ssssCCBB (sign-extended for CC)
6866 and r2, r3, #255 @ r2<- BB
6868 movs r1, r3, asr #8 @ r1<- ssssssCC (sign extended)
6876 bl __aeabi_idivmod @ r1<- op, r0-r3 changed
6902 FETCH_S(r3, 1) @ r3<- ssssCCBB (sign-extended for CC)
6904 and r2, r3, #255 @ r2<- BB
6906 movs r1, r3, asr #8 @ r1<- ssssssCC (sign extended)
6914 and r0, r0, r1 @ r0<- op, r0-r3 changed
6940 FETCH_S(r3, 1) @ r3<- ssssCCBB (sign-extended for CC)
6942 and r2, r3, #255 @ r2<- BB
6944 movs r1, r3, asr #8 @ r1<- ssssssCC (sign extended)
6952 orr r0, r0, r1 @ r0<- op, r0-r3 changed
6978 FETCH_S(r3, 1) @ r3<- ssssCCBB (sign-extended for CC)
6980 and r2, r3, #255 @ r2<- BB
6982 movs r1, r3, asr #8 @ r1<- ssssssCC (sign extended)
6990 eor r0, r0, r1 @ r0<- op, r0-r3 changed
7016 FETCH_S(r3, 1) @ r3<- ssssCCBB (sign-extended for CC)
7018 and r2, r3, #255 @ r2<- BB
7020 movs r1, r3, asr #8 @ r1<- ssssssCC (sign extended)
7028 mov r0, r0, asl r1 @ r0<- op, r0-r3 changed
7054 FETCH_S(r3, 1) @ r3<- ssssCCBB (sign-extended for CC)
7056 and r2, r3, #255 @ r2<- BB
7058 movs r1, r3, asr #8 @ r1<- ssssssCC (sign extended)
7066 mov r0, r0, asr r1 @ r0<- op, r0-r3 changed
7092 FETCH_S(r3, 1) @ r3<- ssssCCBB (sign-extended for CC)
7094 and r2, r3, #255 @ r2<- BB
7096 movs r1, r3, asr #8 @ r1<- ssssssCC (sign extended)
7104 mov r0, r0, lsr r1 @ r0<- op, r0-r3 changed
7123 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
7125 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
7151 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
7153 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
7233 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
7235 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
7259 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
7261 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pResFields
7282 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
7284 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pResFields
7393 * The first four args are in r0-r3, pointer to return value storage
7423 * The first four args are in r0-r3, pointer to return value storage
7468 GET_VREG(r3, r2) @ r3<- object we're operating on
7470 cmp r3, #0 @ check object for null
7473 ldr r0, [r3, r1] @ r0<- obj.field (always 32 bits)
7486 GET_VREG(r3, r2) @ r3<- object we're operating on
7488 cmp r3, #0 @ check object for null
7491 ldrd r0, [r3, ip] @ r0<- obj.field (64 bits, aligned)
7494 add r3, rFP, r2, lsl #2 @ r3<- &fp[A]
7496 stmia r3, {r0-r1} @ fp[A]<- r0/r1
7507 GET_VREG(r3, r2) @ r3<- object we're operating on
7509 cmp r3, #0 @ check object for null
7512 ldr r0, [r3, r1] @ r0<- obj.field (always 32 bits)
7527 GET_VREG(r3, r2) @ r3<- fp[B], the object pointer
7529 cmp r3, #0 @ check object for null
7535 str r0, [r3, r1] @ obj.field (always 32 bits)<- r0
7548 add r3, rFP, r0, lsl #2 @ r3<- &fp[A]
7550 ldmia r3, {r0-r1} @ r0/r1<- fp[A]
7552 FETCH(r3, 1) @ r3<- field byte offset
7554 strd r0, [r2, r3] @ obj.field (64 bits, aligned)<- r0/r1
7565 GET_VREG(r3, r2) @ r3<- fp[B], the object pointer
7567 cmp r3, #0 @ check object for null
7574 str r0, [r3, r1] @ obj.field (always 32 bits)<- r0
7576 strneb r2, [r2, r3, lsr #GC_CARD_SHIFT] @ mark card based on obj head
7591 FETCH(r3, 2) @ r3<- FEDC or CCCC
7594 and r3, r3, #15 @ r3<- C (or stays CCCC)
7596 GET_VREG(r2, r3) @ r2<- vC ("this" ptr)
7602 ldr r0, [r2, r1, lsl #2] @ r3<- vtable[BBBB]
7617 FETCH(r3, 2) @ r3<- FEDC or CCCC
7620 and r3, r3, #15 @ r3<- C (or stays CCCC)
7622 GET_VREG(r2, r3) @ r2<- vC ("this" ptr)
7628 ldr r0, [r2, r1, lsl #2] @ r3<- vtable[BBBB]
7652 GET_VREG(r3, r10) @ r3<- "this"
7654 cmp r3, #0 @ null "this" ref?
7680 GET_VREG(r3, r10) @ r3<- "this"
7682 cmp r3, #0 @ null "this" ref?
7700 ldr r3r3<- DvmDex
7702 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
7869 ldr r3, [r9, #offObject_clazz] @ r3<- obj->clazz
7871 ldr r1, [r3, #offClassObject_descriptor] @ r1<- obj->clazz->descriptor
7883 ldr r3, [rGLUE, #offGlue_method] @ r3<- glue->method
7886 ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
7934 * r3 holds BBBB
7940 mov r1, r3 @ r1<- BBBB
7947 mov r3, rINST, lsr #12 @ r3<- B
7948 GET_VREG(r0, r3) @ r0<- vB (object)
7956 mov r3, rINST, lsr #8 @ r3<- AA
7961 SET_VREG(r0, r3) @ vAA<- r0
7983 ldr r3, [rGLUE, #offGlue_method] @ r3<- glue->method
7985 ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
8004 ldr r3, [rGLUE, #offGlue_method] @ r3<- glue->method
8008 ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
8041 ldr r3, [r0, #offClassObject_descriptor] @ r3<- arrayClass->descriptor
8043 ldrb rINST, [r3, #1] @ rINST<- descriptor[1]
8070 1: ldr r3, [r2], #4 @ r3<- *r2++
8072 str r3, [r0], #4 @ *contents++ = vX
8079 GET_VREG(r3, r2) @ r3<- vA
8081 str r3, [r0, #16] @ contents[4] = vA
8083 GET_VREG(r3, r2) @ r3<- vF/vE/vD/vC
8086 str r3, [r0], #4 @ *contents++ = vX
8125 ldr r3, [r0, #offClassObject_descriptor] @ r3<- arrayClass->descriptor
8127 ldrb rINST, [r3, #1] @ rINST<- descriptor[1]
8154 1: ldr r3, [r2], #4 @ r3<- *r2++
8156 str r3, [r0], #4 @ *contents++ = vX
8163 GET_VREG(r3, r2) @ r3<- vA
8165 str r3, [r0, #16] @ contents[4] = vA
8167 GET_VREG(r3, r2) @ r3<- vF/vE/vD/vC
8170 str r3, [r0], #4 @ *contents++ = vX
8246 ldrd r2, [r0, #offArrayObject_contents] @ r2/r3<- vBB[vCC]
8249 stmia r9, {r2-r3} @ vAA/vAA+1<- r2/r3
8256 ldmia r9, {r2-r3} @ r2/r3<- vAA/vAA+1
8258 strd r2, [r0, #offArrayObject_contents] @ r2/r3<- vBB[vCC]
8300 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8302 ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
8320 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8323 add r0, r9, r3 @ r0<- address of field
8326 ldrd r0, [r9, r3] @ r0/r1<- obj.field (64-bit align ok)
8331 add r3, rFP, r2, lsl #2 @ r3<- &fp[A]
8333 stmia r3, {r0-r1} @ fp[A]<- r0/r1
8346 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8348 ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
8367 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8369 ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
8388 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8390 ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
8409 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8411 ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
8430 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8432 ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
8451 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8459 str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
8473 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8474 add r2, rFP, r2, lsl #2 @ r3<- &fp[A]
8480 add r2, r9, r3 @ r2<- target address
8483 strd r0, [r9, r3] @ obj.field (64 bits, aligned)<- r0/r1
8497 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8506 str r0, [r9, r3] @ obj.field (32 bits)<- r0
8521 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8529 str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
8542 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8550 str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
8563 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8571 str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
8584 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8592 str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
8822 ldr r3, [r1, #offObject_clazz] @ r1<- thisPtr->clazz
8823 ldr r3, [r3, #offClassObject_vtable] @ r3<- thisPtr->clazz->vtable
8824 ldr r0, [r3, r2, lsl #2] @ r3<- vtable[methodIndex]
8837 ldr r3, [r1, #offClassObject_vtableCount] @ r3<- super->vtableCount
8839 cmp r2, r3 @ compare (methodIndex, vtableCount)
8842 ldr r0, [r1, r2, lsl #2] @ r3<- vtable[methodIndex]
8869 ldr r3, [rGLUE, #offGlue_method] @ r3<- glue->method
8870 ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
8890 ldr r3, [r1, #offObject_clazz] @ r1<- thisPtr->clazz
8891 ldr r3, [r3, #offClassObject_vtable] @ r3<- thisPtr->clazz->vtable
8892 r3, r2, lsl #2] @ r3<- vtable[methodIndex]
8905 ldr r3, [r1, #offClassObject_vtableCount] @ r3<- super->vtableCount
8907 cmp r2, r3 @ compare (methodIndex, vtableCount)
8910 ldr r0, [r1, r2, lsl #2] @ r3<- vtable[methodIndex]
8937 ldr r3, [rGLUE, #offGlue_method] @ r3<- glue->method
8938 ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
8993 mov r3, #0x43000000 @ maxlong, as a double (high word)
8994 add r3, #0x00e00000 @ 0x43e00000
9007 mov r3, #0xc3000000 @ minlong, as a double (high word)
9008 add r3, #0x00e00000 @ 0xc3e00000
9019 mov r3, r5
9095 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
9097 ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
9116 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
9124 str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
9167 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
9169 ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
9187 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
9190 add r0, r9, r3 @ r0<- address of field
9193 ldrd r0, [r9, r3] @ r0/r1<- obj.field (64-bit align ok)
9198 add r3, rFP, r2, lsl #2 @ r3<- &fp[A]
9200 stmia r3, {r0-r1} @ fp[A]<- r0/r1
9214 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
9215 add r2, rFP, r2, lsl #2 @ r3<- &fp[A]
9221 add r2, r9, r3 @ r2<- target address
9224 strd r0, [r9, r3] @ obj.field (64 bits, aligned)<- r0/r1
9284 ldr r3, [rFP, ip, lsr #10] @ r3<- vF (shift right 12, left 2)
9313 GET_VREG(r3, ip) @ r3<- vBase[3]
9338 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
9347 str r0, [r9, r3] @ obj.field (32 bits)<- r0
9404 mov r3, #0
9405 str r3, [r10, #offThread_inJitCodeCache] @ Back to the interp land
9420 mov r3, #0 @ 0 means !inJitCodeCache
9421 str r3, [r10, #offThread_inJitCodeCache] @ back to the interp land
9429 mov r3, #0 @ 0 means !inJitCodeCache
9430 str r3, [r10, #offThread_inJitCodeCache] @ Back to the interp land
9438 mov r3, #0 @ 0 means !inJitCodeCache
9439 str r3, [r10, #offThread_inJitCodeCache] @ Back to the interp land
9447 mov r3, #0 @ 0 means !inJitCodeCache
9448 str r3, [r10, #offThread_inJitCodeCache] @ Back to the interp land
9456 mov r3, #0 @ 0 means !inJitCodeCache
9457 str r3, [r10, #offThread_inJitCodeCache] @ Back to the interp land
9465 mov r3, #0 @ 0 means !inJitCodeCache
9466 str r3, [r10, #offThread_inJitCodeCache] @ Back to the interp land
9673 eor r3,rPC,rPC,lsr #12 @ cheap, but fast hash function
9674 lsl r3,r3,#(32 - JIT_PROF_SIZE_LOG_2) @ shift out excess bits
9675 ldrb r1,[r0,r3,lsr #(32 - JIT_PROF_SIZE_LOG_2)] @ get counter
9678 strb r1,[r0,r3,lsr #(32 - JIT_PROF_SIZE_LOG_2)] @ and store it
9689 strb r1,[r0,r3,lsr #(32 - JIT_PROF_SIZE_LOG_2)] @ reset counter
9715 mov r3, #0 @ 0 means not in the JIT code cache
9716 str r3, [r10, #offThread_inJitCodeCache] @ back to the interp land
9745 mov r3,r10 @ r3<- target translation
9828 ldr r3, [rGLUE, #offGlue_pSelfSuspendCount] @ r3<- &suspendCount
9833 ldr ip, [r3] @ ip<- suspendCount (int)
9850 ldr ip, [r3] @ ip<- suspendCount (int)
9860 ldr r3, [rGLUE, #offGlue_ppJitProfTable] @ r3<-&gDvmJit.pJitProfTable
9862 ldr r3, [r3] @ r3 <- pJitProfTable
9864 str r3, [rGLUE, #offGlue_pJitProfTable] @ refresh Jit's on/off switch
9934 add r3, rFP, r1, lsl #2 @ r3<- &fp[CCCC]
9937 1: ldr r1, [r3], #4 @ val = *fp++
9941 ldrh r3, [r0, #offMethod_outsSize] @ r3<- methodToCall->outsSize
9957 ldrh r3, [r0, #offMethod_outsSize] @ r3<- methodToCall->outsSize
9960 @ r0=methodToCall, r1=GFED, r3=outSize, r2=count, r9=regSize, r10=outs
9987 .LinvokeArgsDone: @ r0=methodToCall, r3=outSize, r9=regSize
9996 sub r3, r10, r3, lsl #2 @ r3<- bottom (newsave - outsSize)
9997 cmp r3, r9 @ bottom < interpStackEnd?
9998 ldr r3, [r0, #offMethod_accessFlags] @ r3<- methodToCall->accessFlags
10013 tst r3, #ACC_NATIVE
10017 stmfd sp!, {r0-r3}
10022 ldmfd sp!, {r0-r3}
10023 stmfd sp!, {r0-r3}
10028 ldmfd sp!, {r0-r3}
10032 ldr r3, [rINST, #offClassObject_pDvmDex] @ r3<- method->clazz->pDvmDex
10037 @ r0=methodToCall, r1=newFp, r2=self, r3=newMethodClass, r9=newINST
10039 str r3, [rGLUE, #offGlue_methodClassDex] @ glue->methodClassDex = ...
10060 ldr r3, [rGLUE, #offGlue_self] @ r3<- glue->self
10061 ldr r9, [r3, #offThread_jniLocal_topCookie] @ r9<- thread->localRef->...
10062 str r1, [r3, #offThread_curFrame] @ self->curFrame = newFp
10064 mov r9, r3 @ r9<- glue->self (preserve)
10086 ldr r3, [rGLUE, #offGlue_ppJitProfTable] @ Refresh Jit's on/off status
10094 ldr r3, [r3] @ r3 <- gDvmJit.pProfTable
10100 str r3, [rGLUE, #offGlue_pJitProfTable] @ refresh cached on/off switch
10137 mov r3, rINST, lsr #8 @ A3<- AA
10162 ldr r3, [rGLUE, #offGlue_self] @ r3<- glue->self
10171 str rFP, [r3, #offThread_curFrame] @ self->curFrame = fp
10176 str r10, [r3, #offThread_inJitCodeCache] @ may return to JIT'ed land
10222 mov r3, #0 @ r3<- NULL
10223 str r3, [r10, #offThread_exception] @ self->exception = NULL
10229 mov r3, #0 @ r3<- false
10263 ldr r3, [r1, #offMethod_insns] @ r3<- method->insns
10265 add rPC, r3, r0, asl #1 @ rPC<- method->insns + catchRelPc
10304 ldr r3, [r9, #offObject_clazz]
10305 ldr r3, [r3, #offClassObject_descriptor]
10420 stmfd sp!, {r0, r1, r2, r3, ip, lr}
10424 ldmfd sp!, {r0, r1, r2, r3, ip, lr}
10439 stmfd sp!, {r0, r1, r2, r3, ip, lr}
10443 ldmfd sp!, {r0, r1, r2, r3, ip, lr}
10450 stmfd sp!, {r0, r1, r2, r3, ip, lr}
10453 ldmfd sp!, {r0, r1, r2, r3, ip, lr}
10460 stmfd sp!, {r0, r1, r2, r3, ip, lr}
10464 ldmfd sp!, {r0, r1, r2, r3, ip, lr}
10471 stmfd sp!, {r0, r1, r2, r3, ip, lr}
10472 mov r3, r1
10476 ldmfd sp!, {r0, r1, r2, r3, ip, lr}
10483 stmfd sp!, {r0, r1, r2, r3, ip, lr}
10485 ldmfd sp!, {r0, r1, r2, r3, ip, lr}
10494 stmfd sp!, {r0, r1, r2, r3, ip, lr}
10496 ldmfd sp!, {r0, r1, r2, r3, ip, lr}