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
1337 mov r3, r0, lsr #8 @ r3<- CC
1339 GET_VREG(r10, r3) @ r10<- vCC
1347 mov r3, rINST, lsr #8 @ r3<- AA
1349 SET_VREG(r1, r3) @ vAA<- r1
1391 mov r3, r0, lsr #8 @ r3<- CC
1393 GET_VREG(r10, r3) @ r10<- vCC
1401 mov r3, rINST, lsr #8 @ r3<- AA
1403 SET_VREG(r1, r3) @ vAA<- r1
1430 ldmia r10, {r2-r3} @ r2/r3<- vCC/vCC+1
1436 mov r3, rINST, lsr #8 @ r3<- AA
1438 SET_VREG(r1, r3) @ vAA<- r1
1465 ldmia r10, {r2-r3} @ r2/r3<- vCC/vCC+1
1471 mov r3, rINST, lsr #8 @ r3<- AA
1473 SET_VREG(r1, r3) @ vAA<- r1
1492 * sbcs ip, r1, r3
1506 mov r3, r0, lsr #8 @ r3<- CC
1508 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
1510 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
1511 cmp r1, r3 @ compare (vBB+1, vCC+1)
1535 GET_VREG(r3, r1) @ r3<- vB
1538 cmp r2, r3 @ compare (vA, vB)
1571 GET_VREG(r3, r1) @ r3<- vB
1574 cmp r2, r3 @ compare (vA, vB)
1607 GET_VREG(r3, r1) @ r3<- vB
1610 cmp r2, r3 @ compare (vA, vB)
1643 GET_VREG(r3, r1) @ r3<- vB
1646 cmp r2, r3 @ compare (vA, vB)
1679 GET_VREG(r3, r1) @ r3<- vB
1682 cmp r2, r3 @ compare (vA, vB)
1715 GET_VREG(r3, r1) @ r3<- vB
1718 cmp r2, r3 @ compare (vA, vB)
2014 FETCH_B(r3, 1, 1) @ r3<- CC
2016 GET_VREG(r1, r3) @ r1<- vCC (requested index)
2019 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2021 cmp r1, r3 @ compare unsigned index, length
2042 mov r3, r0, lsr #8 @ r3<- CC
2044 GET_VREG(r1, r3) @ r1<- vCC (requested index)
2047 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2049 cmp r1, r3 @ compare unsigned index, length
2072 FETCH_B(r3, 1, 1) @ r3<- CC
2074 GET_VREG(r1, r3) @ r1<- vCC (requested index)
2077 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2079 cmp r1, r3 @ compare unsigned index, length
2104 FETCH_B(r3, 1, 1) @ r3<- CC
2106 GET_VREG(r1, r3) @ r1<- vCC (requested index)
2109 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2111 cmp r1, r3 @ compare unsigned index, length
2136 FETCH_B(r3, 1, 1) @ r3<- CC
2138 GET_VREG(r1, r3) @ r1<- vCC (requested index)
2141 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2143 cmp r1, r3 @ compare unsigned index, length
2168 FETCH_B(r3, 1, 1) @ r3<- CC
2170 GET_VREG(r1, r3) @ r1<- vCC (requested index)
2173 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2175 cmp r1, r3 @ compare unsigned index, length
2200 FETCH_B(r3, 1, 1) @ r3<- CC
2202 GET_VREG(r1, r3) @ r1<- vCC (requested index)
2205 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2207 cmp r1, r3 @ compare unsigned index, length
2231 FETCH_B(r3, 1, 1) @ r3<- CC
2233 GET_VREG(r1, r3) @ r1<- vCC (requested index)
2236 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2238 cmp r1, r3 @ compare unsigned index, length
2259 mov r3, r0, lsr #8 @ r3<- CC
2261 GET_VREG(r1, r3) @ r1<- vCC (requested index)
2264 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2266 cmp r1, r3 @ compare unsigned index, length
2288 mov r3, r0, lsr #8 @ r3<- CC
2290 GET_VREG(r0, r3) @ r0<- vCC (requested index)
2294 ldr r3, [rINST, #offArrayObject_length] @ r3<- arrayObj->length
2296 cmp r0, r3 @ compare unsigned index, length
2317 FETCH_B(r3, 1, 1) @ r3<- CC
2319 GET_VREG(r1, r3) @ r1<- vCC (requested index)
2322 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2324 cmp r1, r3 @ compare unsigned index, length
2349 FETCH_B(r3, 1, 1) @ r3<- CC
2351 GET_VREG(r1, r3) @ r1<- vCC (requested index)
2354 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2356 cmp r1, r3 @ compare unsigned index, length
2381 FETCH_B(r3, 1, 1) @ r3<- CC
2383 GET_VREG(r1, r3) @ r1<- vCC (requested index)
2386 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2388 cmp r1, r3 @ compare unsigned index, length
2413 FETCH_B(r3, 1, 1) @ r3<- CC
2415 GET_VREG(r1, r3) @ r1<- vCC (requested index)
2418 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2420 cmp r1, r3 @ compare unsigned index, length
2440 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2442 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
2464 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2466 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pResFields
2491 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2493 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
2520 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2522 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
2549 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2551 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
2578 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2580 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
2607 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2609 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
2634 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2636 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
2655 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2657 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pResFields
2681 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2683 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
2709 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2711 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
2738 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2740 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
2767 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2769 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
2796 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2798 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
3197 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- pDvmDex
3199 ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
3201 ldr r0, [r3, r1, lsl #2] @ r0<- resolved baseMethod
3208 ldr r3, [rGLUE, #offGlue_method] @ r3<- glue->method
3209 ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
3228 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- pDvmDex
3233 ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
3235 ldr r0, [r3, r1, lsl #2] @ r0<- resolved baseMethod
3261 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- pDvmDex
3263 ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
3265 ldr r0, [r3, r1, lsl #2] @ r0<- resolved methodToCall
3289 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- pDvmDex
3291 ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
3292 ldr r0, [r3, r1, lsl #2] @ r0<- resolved methodToCall
3296 0: ldr r3, [rGLUE, #offGlue_method] @ r3<- glue->method
3297 ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
3322 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- methodClassDex
3352 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- pDvmDex
3354 ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
3356 ldr r0, [r3, r1, lsl #2] @ r0<- resolved baseMethod
3363 ldr r3, [rGLUE, #offGlue_method] @ r3<- glue->method
3364 ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
3385 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- pDvmDex
3390 ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
3392 ldr r0, [r3, r1, lsl #2] @ r0<- resolved baseMethod
3420 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- pDvmDex
3422 ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
3424 ldr r0, [r3, r1, lsl #2] @ r0<- resolved methodToCall
3450 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- pDvmDex
3452 ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
3453 ldr r0, [r3, r1, lsl #2] @ r0<- resolved methodToCall
3457 0: ldr r3, [rGLUE, #offGlue_method] @ r3<- glue->method
3458 ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
3485 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- methodClassDex
3526 mov r3, rINST, lsr #12 @ r3<- B
3528 GET_VREG(r0, r3) @ r0<- vB
3532 rsb r0, r0, #0 @ r0<- op, r0-r3 changed
3553 mov r3, rINST, lsr #12 @ r3<- B
3555 GET_VREG(r0, r3) @ r0<- vB
3559 mvn r0, r0 @ r0<- op, r0-r3 changed
3580 mov r3, rINST, lsr #12 @ r3<- B
3582 add r3, rFP, r3, lsl #2 @ r3<- &fp[B]
3584 ldmia r3, {r0-r1} @ r0/r1<- vAA
3587 rsc r1, r1, #0 @ r0/r1<- op, r2-r3 changed
3608 mov r3, rINST, lsr #12 @ r3<- B
3610 add r3, rFP, r3, lsl #2 @ r3<- &fp[B]
3612 ldmia r3, {r0-r1} @ r0/r1<- vAA
3615 mvn r1, r1 @ r0/r1<- op, r2-r3 changed
3636 mov r3, rINST, lsr #12 @ r3<- B
3638 GET_VREG(r0, r3) @ r0<- vB
3642 add r0, r0, #0x80000000 @ r0<- op, r0-r3 changed
3663 mov r3, rINST, lsr #12 @ r3<- B
3665 add r3, rFP, r3, lsl #2 @ r3<- &fp[B]
3667 ldmia r3, {r0-r1} @ r0/r1<- vAA
3670 add r1, r1, #0x80000000 @ r0/r1<- op, r2-r3 changed
3691 mov r3, rINST, lsr #12 @ r3<- B
3693 GET_VREG(r0, r3) @ r0<- vB
3697 mov r1, r0, asr #31 @ r0<- op, r0-r3 changed
3718 mov r3, rINST, lsr #12 @ r3<- B
3720 GET_VREG(r0, r3) @ r0<- vB
3724 bl __aeabi_i2f @ r0<- op, r0-r3 changed
3745 mov r3, rINST, lsr #12 @ r3<- B
3747 GET_VREG(r0, r3) @ r0<- vB
3751 bl __aeabi_i2d @ r0<- op, r0-r3 changed
3792 mov r3, rINST, lsr #12 @ r3<- B
3794 add r3, rFP, r3, lsl #2 @ r3<- &fp[B]
3796 ldmia r3, {r0-r1} @ r0/r1<- vB/vB+1
3799 bl __aeabi_l2f @ r0<- op, r0-r3 changed
3820 mov r3, rINST, lsr #12 @ r3<- B
3822 add r3, rFP, r3, lsl #2 @ r3<- &fp[B]
3824 ldmia r3, {r0-r1} @ r0/r1<- vAA
3827 bl __aeabi_l2d @ r0/r1<- op, r2-r3 changed
3849 mov r3, rINST, lsr #12 @ r3<- B
3851 GET_VREG(r0, r3) @ r0<- vB
3855 bl __aeabi_f2iz @ r0<- op, r0-r3 changed
3914 mov r3, rINST, lsr #12 @ r3<- B
3916 GET_VREG(r0, r3) @ r0<- vB
3920 bl f2l_doconv @ r0<- op, r0-r3 changed
3942 mov r3, rINST, lsr #12 @ r3<- B
3944 GET_VREG(r0, r3) @ r0<- vB
3948 bl __aeabi_f2d @ r0<- op, r0-r3 changed
3972 mov r3, rINST, lsr #12 @ r3<- B
3974 add r3, rFP, r3, lsl #2 @ r3<- &fp[B]
3976 ldmia r3, {r0-r1} @ r0/r1<- vB/vB+1
3979 bl __aeabi_d2iz @ r0<- op, r0-r3 changed
4001 mvn r3, #0xbe000000 @ maxint, as a double (high word)
4002 sub r3, r3, #0x00200000 @ 0x41dfffff
4012 mov r3, #0xc1000000 @ minint, as a double (high word)
4013 add r3, r3, #0x00e00000 @ 0xc1e00000
4023 mov r3, r5
4052 mov r3, rINST, lsr #12 @ r3<- B
4054 add r3, rFP, r3, lsl #2 @ r3<- &fp[B]
4056 ldmia r3, {r0-r1} @ r0/r1<- vAA
4059 bl d2l_doconv @ r0/r1<- op, r2-r3 changed
4083 mov r3, rINST, lsr #12 @ r3<- B
4085 add r3, rFP, r3, lsl #2 @ r3<- &fp[B]
4087 ldmia r3, {r0-r1} @ r0/r1<- vB/vB+1
4090 bl __aeabi_d2f @ r0<- op, r0-r3 changed
4111 mov r3, rINST, lsr #12 @ r3<- B
4113 GET_VREG(r0, r3) @ r0<- vB
4117 mov r0, r0, asr #24 @ r0<- op, r0-r3 changed
4138 mov r3, rINST, lsr #12 @ r3<- B
4140 GET_VREG(r0, r3) @ r0<- vB
4144 mov r0, r0, lsr #16 @ r0<- op, r0-r3 changed
4165 mov r3, rINST, lsr #12 @ r3<- B
4167 GET_VREG(r0, r3) @ r0<- vB
4171 mov r0, r0, asr #16 @ r0<- op, r0-r3 changed
4201 mov r3, r0, lsr #8 @ r3<- CC
4203 GET_VREG(r1, r3) @ r1<- vCC
4212 add r0, r0, r1 @ r0<- op, r0-r3 changed
4242 mov r3, r0, lsr #8 @ r3<- CC
4244 GET_VREG(r1, r3) @ r1<- vCC
4253 sub r0, r0, r1 @ r0<- op, r0-r3 changed
4284 mov r3, r0, lsr #8 @ r3<- CC
4286 GET_VREG(r1, r3) @ r1<- vCC
4295 mul r0, r1, r0 @ r0<- op, r0-r3 changed
4325 mov r3, r0, lsr #8 @ r3<- CC
4327 GET_VREG(r1, r3) @ r1<- vCC
4336 bl __aeabi_idiv @ r0<- op, r0-r3 changed
4367 mov r3, r0, lsr #8 @ r3<- CC
4369 GET_VREG(r1, r3) @ r1<- vCC
4378 bl __aeabi_idivmod @ r1<- op, r0-r3 changed
4408 mov r3, r0, lsr #8 @ r3<- CC
4410 GET_VREG(r1, r3) @ r1<- vCC
4419 and r0, r0, r1 @ r0<- op, r0-r3 changed
4449 mov r3, r0, lsr #8 @ r3<- CC
4451 GET_VREG(r1, r3) @ r1<- vCC
4460 orr r0, r0, r1 @ r0<- op, r0-r3 changed
4490 mov r3, r0, lsr #8 @ r3<- CC
4492 GET_VREG(r1, r3) @ r1<- vCC
4501 eor r0, r0, r1 @ r0<- op, r0-r3 changed
4531 mov r3, r0, lsr #8 @ r3<- CC
4533 GET_VREG(r1, r3) @ r1<- vCC
4542 mov r0, r0, asl r1 @ r0<- op, r0-r3 changed
4572 mov r3, r0, lsr #8 @ r3<- CC
4574 GET_VREG(r1, r3) @ r1<- vCC
4583 mov r0, r0, asr r1 @ r0<- op, r0-r3 changed
4613 mov r3, r0, lsr #8 @ r3<- CC
4615 GET_VREG(r1, r3) @ r1<- vCC
4624 mov r0, r0, lsr r1 @ r0<- op, r0-r3 changed
4638 * specifies an instruction that performs "result = r0-r1 op r2-r3".
4655 mov r3, r0, lsr #8 @ r3<- CC
4658 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
4660 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
4662 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
4668 adc r1, r1, r3 @ result<- op, r0-r3 changed
4682 * specifies an instruction that performs "result = r0-r1 op r2-r3".
4699 mov r3, r0, lsr #8 @ r3<- CC
4702 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
4704 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
4706 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
4712 sbc r1, r1, r3 @ result<- op, r0-r3 changed
4744 mov r3, r0, lsr #8 @ r3<- CC
4746 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
4748 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
4751 mla r2, r0, r3, ip @ r2<- YxX + (ZxW)
4765 * specifies an instruction that performs "result = r0-r1 op r2-r3".
4782 mov r3, r0, lsr #8 @ r3<- CC
4785 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
4787 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
4789 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
4795 bl __aeabi_ldivmod @ result<- op, r0-r3 changed
4806 /* ldivmod returns quotient in r0/r1 and remainder in r2/r3 */
4810 * specifies an instruction that performs "result = r0-r1 op r2-r3".
4827 mov r3, r0, lsr #8 @ r3<- CC
4830 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
4832 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
4834 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
4840 bl __aeabi_ldivmod @ result<- op, r0-r3 changed
4842 stmia r9, {r2,r3} @ vAA/vAA+1<- r2/r3
4854 * specifies an instruction that performs "result = r0-r1 op r2-r3".
4871 mov r3, r0, lsr #8 @ r3<- CC
4874 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
4876 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
4878 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
4884 and r1, r1, r3 @ result<- op, r0-r3 changed
4898 * specifies an instruction that performs "result = r0-r1 op r2-r3".
4915 mov r3, r0, lsr #8 @ r3<- CC
4918 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
4920 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
4922 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
4928 orr r1, r1, r3 @ result<- op, r0-r3 changed
4942 * specifies an instruction that performs "result = r0-r1 op r2-r3".
4959 mov r3, r0, lsr #8 @ r3<- CC
4962 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
4964 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
4966 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
4972 eor r1, r1, r3 @ result<- op, r0-r3 changed
4992 and r3, r0, #255 @ r3<- BB
4994 add r3, rFP, r3, lsl #2 @ r3<- &fp[BB]
4996 ldmia r3, {r0-r1} @ r0/r1<- vBB/vBB+1
5001 rsb r3, r2, #32 @ r3<- 32 - r2
5002 orr r1, r1, r0, lsr r3 @ r1<- r1 | (r0 << (32-r2))
5021 and r3, r0, #255 @ r3<- BB
5023 add r3, rFP, r3, lsl #2 @ r3<- &fp[BB]
5025 ldmia r3, {r0-r1} @ r0/r1<- vBB/vBB+1
5030 rsb r3, r2, #32 @ r3<- 32 - r2
5031 orr r0, r0, r1, asl r3 @ r0<- r0 | (r1 << (32-r2))
5050 and r3, r0, #255 @ r3<- BB
5052 add r3, rFP, r3, lsl #2 @ r3<- &fp[BB]
5054 ldmia r3, {r0-r1} @ r0/r1<- vBB/vBB+1
5059 rsb r3, r2, #32 @ r3<- 32 - r2
5060 orr r0, r0, r1, asl r3 @ r0<- r0 | (r1 << (32-r2))
5089 mov r3, r0, lsr #8 @ r3<- CC
5091 GET_VREG(r1, r3) @ r1<- vCC
5100 bl __aeabi_fadd @ r0<- op, r0-r3 changed
5130 mov r3, r0, lsr #8 @ r3<- CC
5132 GET_VREG(r1, r3) @ r1<- vCC
5141 bl __aeabi_fsub @ r0<- op, r0-r3 changed
5171 mov r3, r0, lsr #8 @ r3<- CC
5173 GET_VREG(r1, r3) @ r1<- vCC
5182 bl __aeabi_fmul @ r0<- op, r0-r3 changed
5212 mov r3, r0, lsr #8 @ r3<- CC
5214 GET_VREG(r1, r3) @ r1<- vCC
5223 bl __aeabi_fdiv @ r0<- op, r0-r3 changed
5254 mov r3, r0, lsr #8 @ r3<- CC
5256 GET_VREG(r1, r3) @ r1<- vCC
5265 bl fmodf @ r0<- op, r0-r3 changed
5279 * specifies an instruction that performs "result = r0-r1 op r2-r3".
5296 mov r3, r0, lsr #8 @ r3<- CC
5299 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
5301 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
5303 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
5309 bl __aeabi_dadd @ result<- op, r0-r3 changed
5323 * specifies an instruction that performs "result = r0-r1 op r2-r3".
5340 mov r3, r0, lsr #8 @ r3<- CC
5343 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
5345 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
5347 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
5353 bl __aeabi_dsub @ result<- op, r0-r3 changed
5367 * specifies an instruction that performs "result = r0-r1 op r2-r3".
5384 mov r3, r0, lsr #8 @ r3<- CC
5387 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
5389 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
5391 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
5397 bl __aeabi_dmul @ result<- op, r0-r3 changed
5411 * specifies an instruction that performs "result = r0-r1 op r2-r3".
5428 mov r3, r0, lsr #8 @ r3<- CC
5431 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
5433 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
5435 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
5441 bl __aeabi_ddiv @ result<- op, r0-r3 changed
5456 * specifies an instruction that performs "result = r0-r1 op r2-r3".
5473 mov r3, r0, lsr #8 @ r3<- CC
5476 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
5478 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
5480 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
5486 bl fmod @ result<- op, r0-r3 changed
5514 mov r3, rINST, lsr #12 @ r3<- B
5516 GET_VREG(r1, r3) @ r1<- vB
5525 add r0, r0, r1 @ r0<- op, r0-r3 changed
5553 mov r3, rINST, lsr #12 @ r3<- B
5555 GET_VREG(r1, r3) @ r1<- vB
5564 sub r0, r0, r1 @ r0<- op, r0-r3 changed
5593 mov r3, rINST, lsr #12 @ r3<- B
5595 GET_VREG(r1, r3) @ r1<- vB
5604 mul r0, r1, r0 @ r0<- op, r0-r3 changed
5632 mov r3, rINST, lsr #12 @ r3<- B
5634 GET_VREG(r1, r3) @ r1<- vB
5643 bl __aeabi_idiv @ r0<- op, r0-r3 changed
5672 mov r3, rINST, lsr #12 @ r3<- B
5674 GET_VREG(r1, r3) @ r1<- vB
5683 bl __aeabi_idivmod @ r1<- op, r0-r3 changed
5711 mov r3, rINST, lsr #12 @ r3<- B
5713 GET_VREG(r1, r3) @ r1<- vB
5722 and r0, r0, r1 @ r0<- op, r0-r3 changed
5750 mov r3, rINST, lsr #12 @ r3<- B
5752 GET_VREG(r1, r3) @ r1<- vB
5761 orr r0, r0, r1 @ r0<- op, r0-r3 changed
5789 mov r3, rINST, lsr #12 @ r3<- B
5791 GET_VREG(r1, r3) @ r1<- vB
5800 eor r0, r0, r1 @ r0<- op, r0-r3 changed
5828 mov r3, rINST, lsr #12 @ r3<- B
5830 GET_VREG(r1, r3) @ r1<- vB
5839 mov r0, r0, asl r1 @ r0<- op, r0-r3 changed
5867 mov r3, rINST, lsr #12 @ r3<- B
5869 GET_VREG(r1, r3) @ r1<- vB
5878 mov r0, r0, asr r1 @ r0<- op, r0-r3 changed
5906 mov r3, rINST, lsr #12 @ r3<- B
5908 GET_VREG(r1, r3) @ r1<- vB
5917 mov r0, r0, lsr r1 @ r0<- op, r0-r3 changed
5931 * that specifies an instruction that performs "result = r0-r1 op r2-r3".
5949 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
5952 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
5958 adc r1, r1, r3 @ result<- op, r0-r3 changed
5972 * that specifies an instruction that performs "result = r0-r1 op r2-r3".
5990 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
5993 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
5999 sbc r1, r1, r3 @ result<- op, r0-r3 changed
6024 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
6028 mla r2, r0, r3, ip @ r2<- YxX + (ZxW)
6043 * that specifies an instruction that performs "result = r0-r1 op r2-r3".
6061 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
6064 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
6070 bl __aeabi_ldivmod @ result<- op, r0-r3 changed
6081 /* ldivmod returns quotient in r0/r1 and remainder in r2/r3 */
6085 * that specifies an instruction that performs "result = r0-r1 op r2-r3".
6103 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
6106 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
6112 bl __aeabi_ldivmod @ result<- op, r0-r3 changed
6114 stmia r9, {r2,r3} @ vAA/vAA+1<- r2/r3
6126 * that specifies an instruction that performs "result = r0-r1 op r2-r3".
6144 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
6147 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
6153 and r1, r1, r3 @ result<- op, r0-r3 changed
6167 * that specifies an instruction that performs "result = r0-r1 op r2-r3".
6185 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
6188 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
6194 orr r1, r1, r3 @ result<- op, r0-r3 changed
6208 * that specifies an instruction that performs "result = r0-r1 op r2-r3".
6226 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
6229 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
6235 eor r1, r1, r3 @ result<- op, r0-r3 changed
6252 mov r3, rINST, lsr #12 @ r3<- B
6254 GET_VREG(r2, r3) @ r2<- vB
6260 rsb r3, r2, #32 @ r3<- 32 - r2
6261 orr r1, r1, r0, lsr r3 @ r1<- r1 | (r0 << (32-r2))
6278 mov r3, rINST, lsr #12 @ r3<- B
6280 GET_VREG(r2, r3) @ r2<- vB
6286 rsb r3, r2, #32 @ r3<- 32 - r2
6287 orr r0, r0, r1, asl r3 @ r0<- r0 | (r1 << (32-r2))
6304 mov r3, rINST, lsr #12 @ r3<- B
6306 GET_VREG(r2, r3) @ r2<- vB
6312 rsb r3, r2, #32 @ r3<- 32 - r2
6313 orr r0, r0, r1, asl r3 @ r0<- r0 | (r1 << (32-r2))
6341 mov r3, rINST, lsr #12 @ r3<- B
6343 GET_VREG(r1, r3) @ r1<- vB
6352 bl __aeabi_fadd @ r0<- op, r0-r3 changed
6380 mov r3, rINST, lsr #12 @ r3<- B
6382 GET_VREG(r1, r3) @ r1<- vB
6391 bl __aeabi_fsub @ r0<- op, r0-r3 changed
6419 mov r3, rINST, lsr #12 @ r3<- B
6421 GET_VREG(r1, r3) @ r1<- vB
6430 bl __aeabi_fmul @ r0<- op, r0-r3 changed
6458 mov r3, rINST, lsr #12 @ r3<- B
6460 GET_VREG(r1, r3) @ r1<- vB
6469 bl __aeabi_fdiv @ r0<- op, r0-r3 changed
6498 mov r3, rINST, lsr #12 @ r3<- B
6500 GET_VREG(r1, r3) @ r1<- vB
6509 bl fmodf @ r0<- op, r0-r3 changed
6523 * that specifies an instruction that performs "result = r0-r1 op r2-r3".
6541 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
6544 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
6550 bl __aeabi_dadd @ result<- op, r0-r3 changed
6564 * that specifies an instruction that performs "result = r0-r1 op r2-r3".
6582 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
6585 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
6591 bl __aeabi_dsub @ result<- op, r0-r3 changed
6605 * that specifies an instruction that performs "result = r0-r1 op r2-r3".
6623 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
6626 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
6632 bl __aeabi_dmul @ result<- op, r0-r3 changed
6646 * that specifies an instruction that performs "result = r0-r1 op r2-r3".
6664 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
6667 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
6673 bl __aeabi_ddiv @ result<- op, r0-r3 changed
6688 * that specifies an instruction that performs "result = r0-r1 op r2-r3".
6706 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
6709 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
6715 bl fmod @ result<- op, r0-r3 changed
6751 add r0, r0, r1 @ r0<- op, r0-r3 changed
6788 rsb r0, r0, r1 @ r0<- op, r0-r3 changed
6825 mul r0, r1, r0 @ r0<- op, r0-r3 changed
6861 bl __aeabi_idiv @ r0<- op, r0-r3 changed
6898 bl __aeabi_idivmod @ r1<- op, r0-r3 changed
6934 and r0, r0, r1 @ r0<- op, r0-r3 changed
6970 orr r0, r0, r1 @ r0<- op, r0-r3 changed
7006 eor r0, r0, r1 @ r0<- op, r0-r3 changed
7032 FETCH_S(r3, 1) @ r3<- ssssCCBB (sign-extended for CC)
7034 and r2, r3, #255 @ r2<- BB
7036 movs r1, r3, asr #8 @ r1<- ssssssCC (sign extended)
7044 add r0, r0, r1 @ r0<- op, r0-r3 changed
7070 FETCH_S(r3, 1) @ r3<- ssssCCBB (sign-extended for CC)
7072 and r2, r3, #255 @ r2<- BB
7074 movs r1, r3, asr #8 @ r1<- ssssssCC (sign extended)
7082 rsb r0, r0, r1 @ r0<- op, r0-r3 changed
7109 FETCH_S(r3, 1) @ r3<- ssssCCBB (sign-extended for CC)
7111 and r2, r3, #255 @ r2<- BB
7113 movs r1, r3, asr #8 @ r1<- ssssssCC (sign extended)
7121 mul r0, r1, r0 @ r0<- op, r0-r3 changed
7147 FETCH_S(r3, 1) @ r3<- ssssCCBB (sign-extended for CC)
7149 and r2, r3, #255 @ r2<- BB
7151 movs r1, r3, asr #8 @ r1<- ssssssCC (sign extended)
7159 bl __aeabi_idiv @ r0<- op, r0-r3 changed
7186 FETCH_S(r3, 1) @ r3<- ssssCCBB (sign-extended for CC)
7188 and r2, r3, #255 @ r2<- BB
7190 movs r1, r3, asr #8 @ r1<- ssssssCC (sign extended)
7198 bl __aeabi_idivmod @ r1<- op, r0-r3 changed
7224 FETCH_S(r3, 1) @ r3<- ssssCCBB (sign-extended for CC)
7226 and r2, r3, #255 @ r2<- BB
7228 movs r1, r3, asr #8 @ r1<- ssssssCC (sign extended)
7236 and r0, r0, r1 @ r0<- op, r0-r3 changed
7262 FETCH_S(r3, 1) @ r3<- ssssCCBB (sign-extended for CC)
7264 and r2, r3, #255 @ r2<- BB
7266 movs r1, r3, asr #8 @ r1<- ssssssCC (sign extended)
7274 orr r0, r0, r1 @ r0<- op, r0-r3 changed
7300 FETCH_S(r3, 1) @ r3<- ssssCCBB (sign-extended for CC)
7302 and r2, r3, #255 @ r2<- BB
7304 movs r1, r3, asr #8 @ r1<- ssssssCC (sign extended)
7312 eor r0, r0, r1 @ r0<- op, r0-r3 changed
7338 FETCH_S(r3, 1) @ r3<- ssssCCBB (sign-extended for CC)
7340 and r2, r3, #255 @ r2<- BB
7342 movs r1, r3, asr #8 @ r1<- ssssssCC (sign extended)
7350 mov r0, r0, asl r1 @ r0<- op, r0-r3 changed
7376 FETCH_S(r3, 1) @ r3<- ssssCCBB (sign-extended for CC)
7378 and r2, r3, #255 @ r2<- BB
7380 movs r1, r3, asr #8 @ r1<- ssssssCC (sign extended)
7388 mov r0, r0, asr r1 @ r0<- op, r0-r3 changed
7414 FETCH_S(r3, 1) @ r3<- ssssCCBB (sign-extended for CC)
7416 and r2, r3, #255 @ r2<- BB
7418 movs r1, r3, asr #8 @ r1<- ssssssCC (sign extended)
7426 mov r0, r0, lsr r1 @ r0<- op, r0-r3 changed
7445 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
7447 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
7473 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
7475 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
7555 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
7557 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
7581 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
7583 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pResFields
7604 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
7606 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pResFields
7715 * The first four args are in r0-r3, pointer to return value storage
7745 * The first four args are in r0-r3, pointer to return value storage
7790 GET_VREG(r3, r2) @ r3<- object we're operating on
7792 cmp r3, #0 @ check object for null
7795 ldr r0, [r3, r1] @ r0<- obj.field (always 32 bits)
7808 GET_VREG(r3, r2) @ r3<- object we're operating on
7810 cmp r3, #0 @ check object for null
7813 ldrd r0, [r3, ip] @ r0<- obj.field (64 bits, aligned)
7816 add r3, rFP, r2, lsl #2 @ r3<- &fp[A]
7818 stmia r3, {r0-r1} @ fp[A]<- r0/r1
7829 GET_VREG(r3, r2) @ r3<- object we're operating on
7831 cmp r3, #0 @ check object for null
7834 ldr r0, [r3, r1] @ r0<- obj.field (always 32 bits)
7849 GET_VREG(r3, r2) @ r3<- fp[B], the object pointer
7851 cmp r3, #0 @ check object for null
7857 str r0, [r3, r1] @ obj.field (always 32 bits)<- r0
7870 add r3, rFP, r0, lsl #2 @ r3<- &fp[A]
7872 ldmia r3, {r0-r1} @ r0/r1<- fp[A]
7874 FETCH(r3, 1) @ r3<- field byte offset
7876 strd r0, [r2, r3] @ obj.field (64 bits, aligned)<- r0/r1
7887 GET_VREG(r3, r2) @ r3<- fp[B], the object pointer
7889 cmp r3, #0 @ check object for null
7896 str r0, [r3, r1] @ obj.field (always 32 bits)<- r0
7898 strneb r2, [r2, r3, lsr #GC_CARD_SHIFT] @ mark card based on obj head
7913 FETCH(r3, 2) @ r3<- FEDC or CCCC
7916 and r3, r3, #15 @ r3<- C (or stays CCCC)
7918 GET_VREG(r2, r3) @ r2<- vC ("this" ptr)
7924 ldr r0, [r2, r1, lsl #2] @ r3<- vtable[BBBB]
7939 FETCH(r3, 2) @ r3<- FEDC or CCCC
7942 and r3, r3, #15 @ r3<- C (or stays CCCC)
7944 GET_VREG(r2, r3) @ r2<- vC ("this" ptr)
7950 ldr r0, [r2, r1, lsl #2] @ r3<- vtable[BBBB]
7974 GET_VREG(r3, r10) @ r3<- "this"
7976 cmp r3, #0 @ null "this" ref?
8002 GET_VREG(r3, r10) @ r3<- "this"
8004 cmp r3, #0 @ null "this" ref?
8022 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
8024 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
8191 ldr r3, [r9, #offObject_clazz] @ r3<- obj->clazz
8193 ldr r1, [r3, #offClassObject_descriptor] @ r1<- obj->clazz->descriptor
8205 ldr r3, [rGLUE, #offGlue_method] @ r3<- glue->method
8208 ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
8256 * r3 holds BBBB
8262 mov r1, r3 @ r1<- BBBB
8269 mov r3, rINST, lsr #12 @ r3<- B
8270 GET_VREG(r0, r3) @ r0<- vB (object)
8278 mov r3, rINST, lsr #8 @ r3<- AA
8283 SET_VREG(r0, r3) @ vAA<- r0
8305 ldr r3, [rGLUE, #offGlue_method] @ r3<- glue->method
8307 ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
8326 ldr r3, [rGLUE, #offGlue_method] @ r3<- glue->method
8330 ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
8363 ldr r3, [r0, #offClassObject_descriptor] @ r3<- arrayClass->descriptor
8365 ldrb rINST, [r3, #1] @ rINST<- descriptor[1]
8392 1: ldr r3, [r2], #4 @ r3<- *r2++
8394 str r3, [r0], #4 @ *contents++ = vX
8401 GET_VREG(r3, r2) @ r3<- vA
8403 str r3, [r0, #16] @ contents[4] = vA
8405 GET_VREG(r3, r2) @ r3<- vF/vE/vD/vC
8408 str r3, [r0], #4 @ *contents++ = vX
8447 ldr r3, [r0, #offClassObject_descriptor] @ r3<- arrayClass->descriptor
8449 ldrb rINST, [r3, #1] @ rINST<- descriptor[1]
8476 1: ldr r3, [r2], #4 @ r3<- *r2++
8478 str r3, [r0], #4 @ *contents++ = vX
8485 GET_VREG(r3, r2) @ r3<- vA
8487 str r3, [r0, #16] @ contents[4] = vA
8489 GET_VREG(r3, r2) @ r3<- vF/vE/vD/vC
8492 str r3, [r0], #4 @ *contents++ = vX
8542 mov r3, r0, lsr #8 @ r3<- CC
8544 GET_VREG(r10, r3) @ r10<- vCC
8570 mov r3, rINST, lsr #8 @ r3<- AA
8572 SET_VREG(r1, r3) @ vAA<- r1
8605 mov r3, r0, lsr #8 @ r3<- CC
8607 GET_VREG(r10, r3) @ r10<- vCC
8633 mov r3, rINST, lsr #8 @ r3<- AA
8635 SET_VREG(r1, r3) @ vAA<- r1
8656 ldmia r9, {r2-r3}
8671 ldmia r9, {r2-r3}
8704 ldrd r2, [r0, #offArrayObject_contents] @ r2/r3<- vBB[vCC]
8707 stmia r9, {r2-r3} @ vAA/vAA+1<- r2/r3
8714 ldmia r9, {r2-r3} @ r2/r3<- vAA/vAA+1
8716 strd r2, [r0, #offArrayObject_contents] @ r2/r3<- vBB[vCC]
8758 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8760 ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
8778 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8781 add r0, r9, r3 @ r0<- address of field
8784 ldrd r0, [r9, r3] @ r0/r1<- obj.field (64-bit align ok)
8789 add r3, rFP, r2, lsl #2 @ r3<- &fp[A]
8791 stmia r3, {r0-r1} @ fp[A]<- r0/r1
8804 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8806 ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
8825 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8827 ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
8846 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8848 ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
8867 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8869 ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
8888 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8890 ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
8909 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8917 str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
8931 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8932 add r2, rFP, r2, lsl #2 @ r3<- &fp[A]
8938 add r2, r9, r3 @ r2<- target address
8941 strd r0, [r9, r3] @ obj.field (64 bits, aligned)<- r0/r1
8955 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8964 str r0, [r9, r3] @ obj.field (32 bits)<- r0
8979 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8987 str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
9000 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
9008 str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
9021 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
9029 str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
9042 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
9050 str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
9280 ldr r3, [r1, #offObject_clazz] @ r1<- thisPtr->clazz
9281 ldr r3, [r3, #offClassObject_vtable] @ r3<- thisPtr->clazz->vtable
9282 ldr r0, [r3, r2, lsl #2] @ r3<- vtable[methodIndex]
9295 ldr r3, [r1, #offClassObject_vtableCount] @ r3<- super->vtableCount
9297 cmp r2, r3 @ compare (methodIndex, vtableCount)
9300 ldr r0, [r1, r2, lsl #2] @ r3<- vtable[methodIndex]
9327 ldr r3, [rGLUE, #offGlue_method] @ r3<- glue->method
9328 ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
9348 ldr r3, [r1, #offObject_clazz] @ r1<- thisPtr->clazz
9349 ldr r3, [r3, #offClassObject_vtable] @ r3<- thisPtr->clazz->vtable
9350 ldr r0, [r3, r2, lsl #2] @ r3<- vtable[methodIndex]
9363 ldr r3, [r1, #offClassObject_vtableCount] @ r3<- super->vtableCount
9365 cmp r2, r3 @ compare (methodIndex, vtableCount)
9368 ldr r0, [r1, r2, lsl #2] @ r3<- vtable[methodIndex]
9395 ldr r3, [rGLUE, #offGlue_method] @ r3<- glue->method
9396 ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
9451 mov r3, #0x43000000 @ maxlong, as a double (high word)
9452 add r3, #0x00e00000 @ 0x43e00000
9465 mov r3, #0xc3000000 @ minlong, as a double (high word)
9466 add r3, #0x00e00000 @ 0xc3e00000
9477 mov r3, r5
9553 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
9555 ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
9574 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
9582 str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
9625 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
9627 ldr r0, [r9, r3
9645 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
9648 add r0, r9, r3 @ r0<- address of field
9651 ldrd r0, [r9, r3] @ r0/r1<- obj.field (64-bit align ok)
9656 add r3, rFP, r2, lsl #2 @ r3<- &fp[A]
9658 stmia r3, {r0-r1} @ fp[A]<- r0/r1
9672 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
9673 add r2, rFP, r2, lsl #2 @ r3<- &fp[A]
9679 add r2, r9, r3 @ r2<- target address
9682 strd r0, [r9, r3] @ obj.field (64 bits, aligned)<- r0/r1
9742 ldr r3, [rFP, ip, lsr #10] @ r3<- vF (shift right 12, left 2)
9771 GET_VREG(r3, ip) @ r3<- vBase[3]
9796 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
9805 str r0, [r9, r3] @ obj.field (32 bits)<- r0
9862 mov r3, #0
9863 str r3, [r10, #offThread_inJitCodeCache] @ Back to the interp land
9878 mov r3, #0 @ 0 means !inJitCodeCache
9879 str r3, [r10, #offThread_inJitCodeCache] @ back to the interp land
9887 mov r3, #0 @ 0 means !inJitCodeCache
9888 str r3, [r10, #offThread_inJitCodeCache] @ Back to the interp land
9896 mov r3, #0 @ 0 means !inJitCodeCache
9897 str r3, [r10, #offThread_inJitCodeCache] @ Back to the interp land
9905 mov r3, #0 @ 0 means !inJitCodeCache
9906 str r3, [r10, #offThread_inJitCodeCache] @ Back to the interp land
9914 mov r3, #0 @ 0 means !inJitCodeCache
9915 str r3, [r10, #offThread_inJitCodeCache] @ Back to the interp land
9923 mov r3, #0 @ 0 means !inJitCodeCache
9924 str r3, [r10, #offThread_inJitCodeCache] @ Back to the interp land
10131 eor r3,rPC,rPC,lsr #12 @ cheap, but fast hash function
10132 lsl r3,r3,#(32 - JIT_PROF_SIZE_LOG_2) @ shift out excess bits
10133 ldrb r1,[r0,r3,lsr #(32 - JIT_PROF_SIZE_LOG_2)] @ get counter
10136 strb r1,[r0,r3,lsr #(32 - JIT_PROF_SIZE_LOG_2)] @ and store it
10147 strb r1,[r0,r3,lsr #(32 - JIT_PROF_SIZE_LOG_2)] @ reset counter
10173 mov r3, #0 @ 0 means not in the JIT code cache
10174 str r3, [r10, #offThread_inJitCodeCache] @ back to the interp land
10203 mov r3,r10 @ r3<- target translation
10286 ldr r3, [rGLUE, #offGlue_pSelfSuspendCount] @ r3<- &suspendCount
10291 ldr ip, [r3] @ ip<- suspendCount (int)
10308 ldr ip, [r3] @ ip<- suspendCount (int)
10318 ldr r3, [rGLUE, #offGlue_ppJitProfTable] @ r3<-&gDvmJit.pJitProfTable
10320 ldr r3, [r3] @ r3 <- pJitProfTable
10322 str r3, [rGLUE, #offGlue_pJitProfTable] @ refresh Jit's on/off switch
10392 add r3, rFP, r1, lsl #2 @ r3<- &fp[CCCC]
10395 1: ldr r1, [r3], #4 @ val = *fp++
10399 ldrh r3, [r0, #offMethod_outsSize] @ r3<- methodToCall->outsSize
10415 ldrh r3, [r0, #offMethod_outsSize] @ r3<- methodToCall->outsSize
10418 @ r0=methodToCall, r1=GFED, r3=outSize, r2=count, r9=regSize, r10=outs
10445 .LinvokeArgsDone: @ r0=methodToCall, r3=outSize, r9=regSize
10454 sub r3, r10, r3, lsl #2 @ r3<- bottom (newsave - outsSize)
10455 cmp r3, r9 @ bottom < interpStackEnd?
10456 ldr r3, [r0, #offMethod_accessFlags] @ r3<- methodToCall->accessFlags
10471 tst r3, #ACC_NATIVE
10475 stmfd sp!, {r0-r3}
10480 ldmfd sp!, {r0-r3}
10481 stmfd sp!, {r0-r3}
10486 ldmfd sp!, {r0-r3}
10490 ldr r3, [rINST, #offClassObject_pDvmDex] @ r3<- method->clazz->pDvmDex
10495 @ r0=methodToCall, r1=newFp, r2=self, r3=newMethodClass, r9=newINST
10497 str r3, [rGLUE, #offGlue_methodClassDex] @ glue->methodClassDex = ...
10518 ldr r3, [rGLUE, #offGlue_self] @ r3<- glue->self
10519 ldr r9, [r3, #offThread_jniLocal_topCookie] @ r9<- thread->localRef->...
10520 str r1, [r3, #offThread_curFrame] @ self->curFrame = newFp
10522 mov r9, r3 @ r9<- glue->self (preserve)
10544 ldr r3, [rGLUE, #offGlue_ppJitProfTable] @ Refresh Jit's on/off status
10552 ldr r3, [r3] @ r3 <- gDvmJit.pProfTable
10558 str r3, [rGLUE, #offGlue_pJitProfTable] @ refresh cached on/off switch
10595 mov r3, rINST, lsr #8 @ A3<- AA
10620 ldr r3, [rGLUE, #offGlue_self] @ r3<- glue->self
10629 str rFP, [r3, #offThread_curFrame] @ self->curFrame = fp
10634 str r10, [r3, #offThread_inJitCodeCache] @ may return to JIT'ed land
10680 mov r3, #0 @ r3<- NULL
10681 str r3, [r10, #offThread_exception] @ self->exception = NULL
10687 mov r3, #0 @ r3<- false
10721 ldr r3, [r1, #offMethod_insns] @ r3<- method->insns
10723 add rPC, r3, r0, asl #1 @ rPC<- method->insns + catchRelPc
10762 ldr r3, [r9, #offObject_clazz]
10763 ldr r3, [r3, #offClassObject_descriptor]
10878 stmfd sp!, {r0, r1, r2, r3, ip, lr}
10882 ldmfd sp!, {r0, r1, r2, r3, ip, lr}
10897 stmfd sp!, {r0, r1, r2, r3, ip, lr}
10901 ldmfd sp!, {r0, r1, r2, r3, ip, lr}
10908 stmfd sp!, {r0, r1, r2, r3, ip, lr}
10911 ldmfd sp!, {r0, r1, r2, r3, ip, lr}
10918 stmfd sp!, {r0, r1, r2, r3, ip, lr}
10922 ldmfd sp!, {r0, r1, r2, r3, ip, lr}
10929 stmfd sp!, {r0, r1, r2, r3, ip, lr}
10930 mov r3, r1
10934 ldmfd sp!, {r0, r1, r2, r3, ip, lr}
10941 stmfd sp!, {r0, r1, r2, r3, ip, lr}
10943 ldmfd sp!, {r0, r1, r2, r3, ip, lr}
10952 stmfd sp!, {r0, r1, r2, r3, ip, lr}
10954 ldmfd sp!, {r0, r1, r2, r3, ip, lr}