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
2257 mov r3, r0, lsr #8 @ r3<- CC
2259 GET_VREG(r1, r3) @ r1<- vCC (requested index)
2262 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2264 cmp r1, r3 @ compare unsigned index, length
2286 mov r3, r0, lsr #8 @ r3<- CC
2288 GET_VREG(r0, r3) @ r0<- vCC (requested index)
2292 ldr r3, [rINST, #offArrayObject_length] @ r3<- arrayObj->length
2294 cmp r0, r3 @ compare unsigned index, length
2315 FETCH_B(r3, 1, 1) @ r3<- CC
2317 GET_VREG(r1, r3) @ r1<- vCC (requested index)
2320 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2322 cmp r1, r3 @ compare unsigned index, length
2347 FETCH_B(r3, 1, 1) @ r3<- CC
2349 GET_VREG(r1, r3) @ r1<- vCC (requested index)
2352 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2354 cmp r1, r3 @ compare unsigned index, length
2379 FETCH_B(r3, 1, 1) @ r3<- CC
2381 GET_VREG(r1, r3) @ r1<- vCC (requested index)
2384 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2386 cmp r1, r3 @ compare unsigned index, length
2411 FETCH_B(r3, 1, 1) @ r3<- CC
2413 GET_VREG(r1, r3) @ r1<- vCC (requested index)
2416 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2418 cmp r1, r3 @ compare unsigned index, length
2438 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2440 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
2462 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2464 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pResFields
2489 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2491 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
2518 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2520 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
2547 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2549 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
2576 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2578 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
2605 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2607 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
2632 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2634 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
2653 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2655 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pResFields
2679 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2681 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
2707 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2709 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
2736 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2738 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
2765 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2767 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
2794 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
2796 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
3195 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- pDvmDex
3197 ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
3199 ldr r0, [r3, r1, lsl #2] @ r0<- resolved baseMethod
3206 ldr r3, [rGLUE, #offGlue_method] @ r3<- glue->method
3207 ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
3226 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- pDvmDex
3231 ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
3233 ldr r0, [r3, r1, lsl #2] @ r0<- resolved baseMethod
3259 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- pDvmDex
3261 ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
3263 ldr r0, [r3, r1, lsl #2] @ r0<- resolved methodToCall
3287 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- pDvmDex
3289 ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
3290 ldr r0, [r3, r1, lsl #2] @ r0<- resolved methodToCall
3294 0: ldr r3, [rGLUE, #offGlue_method] @ r3<- glue->method
3295 ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
3320 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- methodClassDex
3350 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- pDvmDex
3352 ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
3354 ldr r0, [r3, r1, lsl #2] @ r0<- resolved baseMethod
3361 ldr r3, [rGLUE, #offGlue_method] @ r3<- glue->method
3362 ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
3383 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- pDvmDex
3388 ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
3390 ldr r0, [r3, r1, lsl #2] @ r0<- resolved baseMethod
3418 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- pDvmDex
3420 ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
3422 ldr r0, [r3, r1, lsl #2] @ r0<- resolved methodToCall
3448 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- pDvmDex
3450 ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
3451 ldr r0, [r3, r1, lsl #2] @ r0<- resolved methodToCall
3455 0: ldr r3, [rGLUE, #offGlue_method] @ r3<- glue->method
3456 ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
3483 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- methodClassDex
3524 mov r3, rINST, lsr #12 @ r3<- B
3526 GET_VREG(r0, r3) @ r0<- vB
3530 rsb r0, r0, #0 @ r0<- op, r0-r3 changed
3551 mov r3, rINST, lsr #12 @ r3<- B
3553 GET_VREG(r0, r3) @ r0<- vB
3557 mvn r0, r0 @ r0<- op, r0-r3 changed
3578 mov r3, rINST, lsr #12 @ r3<- B
3580 add r3, rFP, r3, lsl #2 @ r3<- &fp[B]
3582 ldmia r3, {r0-r1} @ r0/r1<- vAA
3585 rsc r1, r1, #0 @ r0/r1<- op, r2-r3 changed
3606 mov r3, rINST, lsr #12 @ r3<- B
3608 add r3, rFP, r3, lsl #2 @ r3<- &fp[B]
3610 ldmia r3, {r0-r1} @ r0/r1<- vAA
3613 mvn r1, r1 @ r0/r1<- op, r2-r3 changed
3634 mov r3, rINST, lsr #12 @ r3<- B
3636 GET_VREG(r0, r3) @ r0<- vB
3640 add r0, r0, #0x80000000 @ r0<- op, r0-r3 changed
3661 mov r3, rINST, lsr #12 @ r3<- B
3663 add r3, rFP, r3, lsl #2 @ r3<- &fp[B]
3665 ldmia r3, {r0-r1} @ r0/r1<- vAA
3668 add r1, r1, #0x80000000 @ r0/r1<- op, r2-r3 changed
3689 mov r3, rINST, lsr #12 @ r3<- B
3691 GET_VREG(r0, r3) @ r0<- vB
3695 mov r1, r0, asr #31 @ r0<- op, r0-r3 changed
3716 mov r3, rINST, lsr #12 @ r3<- B
3718 GET_VREG(r0, r3) @ r0<- vB
3722 bl __aeabi_i2f @ r0<- op, r0-r3 changed
3743 mov r3, rINST, lsr #12 @ r3<- B
3745 GET_VREG(r0, r3) @ r0<- vB
3749 bl __aeabi_i2d @ r0<- op, r0-r3 changed
3790 mov r3, rINST, lsr #12 @ r3<- B
3792 add r3, rFP, r3, lsl #2 @ r3<- &fp[B]
3794 ldmia r3, {r0-r1} @ r0/r1<- vB/vB+1
3797 bl __aeabi_l2f @ r0<- op, r0-r3 changed
3818 mov r3, rINST, lsr #12 @ r3<- B
3820 add r3, rFP, r3, lsl #2 @ r3<- &fp[B]
3822 ldmia r3, {r0-r1} @ r0/r1<- vAA
3825 bl __aeabi_l2d @ r0/r1<- op, r2-r3 changed
3847 mov r3, rINST, lsr #12 @ r3<- B
3849 GET_VREG(r0, r3) @ r0<- vB
3853 bl __aeabi_f2iz @ r0<- op, r0-r3 changed
3912 mov r3, rINST, lsr #12 @ r3<- B
3914 GET_VREG(r0, r3) @ r0<- vB
3918 bl f2l_doconv @ r0<- op, r0-r3 changed
3940 mov r3, rINST, lsr #12 @ r3<- B
3942 GET_VREG(r0, r3) @ r0<- vB
3946 bl __aeabi_f2d @ r0<- op, r0-r3 changed
3970 mov r3, rINST, lsr #12 @ r3<- B
3972 add r3, rFP, r3, lsl #2 @ r3<- &fp[B]
3974 ldmia r3, {r0-r1} @ r0/r1<- vB/vB+1
3977 bl __aeabi_d2iz @ r0<- op, r0-r3 changed
3999 mvn r3, #0xbe000000 @ maxint, as a double (high word)
4000 sub r3, r3, #0x00200000 @ 0x41dfffff
4010 mov r3, #0xc1000000 @ minint, as a double (high word)
4011 add r3, r3, #0x00e00000 @ 0xc1e00000
4021 mov r3, r5
4050 mov r3, rINST, lsr #12 @ r3<- B
4052 add r3, rFP, r3, lsl #2 @ r3<- &fp[B]
4054 ldmia r3, {r0-r1} @ r0/r1<- vAA
4057 bl d2l_doconv @ r0/r1<- op, r2-r3 changed
4081 mov r3, rINST, lsr #12 @ r3<- B
4083 add r3, rFP, r3, lsl #2 @ r3<- &fp[B]
4085 ldmia r3, {r0-r1} @ r0/r1<- vB/vB+1
4088 bl __aeabi_d2f @ r0<- op, r0-r3 changed
4109 mov r3, rINST, lsr #12 @ r3<- B
4111 GET_VREG(r0, r3) @ r0<- vB
4115 mov r0, r0, asr #24 @ r0<- op, r0-r3 changed
4136 mov r3, rINST, lsr #12 @ r3<- B
4138 GET_VREG(r0, r3) @ r0<- vB
4142 mov r0, r0, lsr #16 @ r0<- op, r0-r3 changed
4163 mov r3, rINST, lsr #12 @ r3<- B
4165 GET_VREG(r0, r3) @ r0<- vB
4169 mov r0, r0, asr #16 @ r0<- op, r0-r3 changed
4199 mov r3, r0, lsr #8 @ r3<- CC
4201 GET_VREG(r1, r3) @ r1<- vCC
4210 add r0, r0, r1 @ r0<- op, r0-r3 changed
4240 mov r3, r0, lsr #8 @ r3<- CC
4242 GET_VREG(r1, r3) @ r1<- vCC
4251 sub r0, r0, r1 @ r0<- op, r0-r3 changed
4282 mov r3, r0, lsr #8 @ r3<- CC
4284 GET_VREG(r1, r3) @ r1<- vCC
4293 mul r0, r1, r0 @ r0<- op, r0-r3 changed
4323 mov r3, r0, lsr #8 @ r3<- CC
4325 GET_VREG(r1, r3) @ r1<- vCC
4334 bl __aeabi_idiv @ r0<- op, r0-r3 changed
4365 mov r3, r0, lsr #8 @ r3<- CC
4367 GET_VREG(r1, r3) @ r1<- vCC
4376 bl __aeabi_idivmod @ r1<- op, r0-r3 changed
4406 mov r3, r0, lsr #8 @ r3<- CC
4408 GET_VREG(r1, r3) @ r1<- vCC
4417 and r0, r0, r1 @ r0<- op, r0-r3 changed
4447 mov r3, r0, lsr #8 @ r3<- CC
4449 GET_VREG(r1, r3) @ r1<- vCC
4458 orr r0, r0, r1 @ r0<- op, r0-r3 changed
4488 mov r3, r0, lsr #8 @ r3<- CC
4490 GET_VREG(r1, r3) @ r1<- vCC
4499 eor r0, r0, r1 @ r0<- op, r0-r3 changed
4529 mov r3, r0, lsr #8 @ r3<- CC
4531 GET_VREG(r1, r3) @ r1<- vCC
4540 mov r0, r0, asl r1 @ r0<- op, r0-r3 changed
4570 mov r3, r0, lsr #8 @ r3<- CC
4572 GET_VREG(r1, r3) @ r1<- vCC
4581 mov r0, r0, asr r1 @ r0<- op, r0-r3 changed
4611 mov r3, r0, lsr #8 @ r3<- CC
4613 GET_VREG(r1, r3) @ r1<- vCC
4622 mov r0, r0, lsr r1 @ r0<- op, r0-r3 changed
4636 * specifies an instruction that performs "result = r0-r1 op r2-r3".
4653 mov r3, r0, lsr #8 @ r3<- CC
4656 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
4658 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
4660 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
4666 adc r1, r1, r3 @ result<- op, r0-r3 changed
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 sbc r1, r1, r3 @ result<- op, r0-r3 changed
4742 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
4749 mla r2, r0, r3, ip @ r2<- YxX + (ZxW)
4763 * specifies an instruction that performs "result = r0-r1 op r2-r3".
4780 mov r3, r0, lsr #8 @ r3<- CC
4783 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
4785 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
4787 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
4793 bl __aeabi_ldivmod @ result<- op, r0-r3 changed
4804 /* ldivmod returns quotient in r0/r1 and remainder in r2/r3 */
4808 * specifies an instruction that performs "result = r0-r1 op r2-r3".
4825 mov r3, r0, lsr #8 @ r3<- CC
4828 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
4830 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
4832 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
4838 bl __aeabi_ldivmod @ result<- op, r0-r3 changed
4840 stmia r9, {r2,r3} @ vAA/vAA+1<- r2/r3
4852 * specifies an instruction that performs "result = r0-r1 op r2-r3".
4869 mov r3, r0, lsr #8 @ r3<- CC
4872 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
4874 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
4876 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
4882 and r1, r1, r3 @ result<- op, r0-r3 changed
4896 * specifies an instruction that performs "result = r0-r1 op r2-r3".
4913 mov r3, r0, lsr #8 @ r3<- CC
4916 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
4918 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
4920 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
4926 orr r1, r1, r3 @ result<- op, r0-r3 changed
4940 * specifies an instruction that performs "result = r0-r1 op r2-r3".
4957 mov r3, r0, lsr #8 @ r3<- CC
4960 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
4962 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
4964 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
4970 eor r1, r1, r3 @ result<- op, r0-r3 changed
4990 and r3, r0, #255 @ r3<- BB
4992 add r3, rFP, r3, lsl #2 @ r3<- &fp[BB]
4994 ldmia r3, {r0-r1} @ r0/r1<- vBB/vBB+1
4999 rsb r3, r2, #32 @ r3<- 32 - r2
5000 orr r1, r1, r0, lsr r3 @ r1<- r1 | (r0 << (32-r2))
5019 and r3, r0, #255 @ r3<- BB
5021 add r3, rFP, r3, lsl #2 @ r3<- &fp[BB]
5023 ldmia r3, {r0-r1} @ r0/r1<- vBB/vBB+1
5028 rsb r3, r2, #32 @ r3<- 32 - r2
5029 orr r0, r0, r1, asl r3 @ r0<- r0 | (r1 << (32-r2))
5048 and r3, r0, #255 @ r3<- BB
5050 add r3, rFP, r3r3<- &fp[BB]
5052 ldmia r3, {r0-r1} @ r0/r1<- vBB/vBB+1
5057 rsb r3, r2, #32 @ r3<- 32 - r2
5058 orr r0, r0, r1, asl r3 @ r0<- r0 | (r1 << (32-r2))
5087 mov r3, r0, lsr #8 @ r3<- CC
5089 GET_VREG(r1, r3) @ r1<- vCC
5098 bl __aeabi_fadd @ r0<- op, r0-r3 changed
5128 mov r3, r0, lsr #8 @ r3<- CC
5130 GET_VREG(r1, r3) @ r1<- vCC
5139 bl __aeabi_fsub @ r0<- op, r0-r3 changed
5169 mov r3, r0, lsr #8 @ r3<- CC
5171 GET_VREG(r1, r3) @ r1<- vCC
5180 bl __aeabi_fmul @ r0<- op, r0-r3 changed
5210 mov r3, r0, lsr #8 @ r3<- CC
5212 GET_VREG(r1, r3) @ r1<- vCC
5221 bl __aeabi_fdiv @ r0<- op, r0-r3 changed
5252 mov r3, r0, lsr #8 @ r3<- CC
5254 GET_VREG(r1, r3) @ r1<- vCC
5263 bl fmodf @ r0<- op, r0-r3 changed
5277 * specifies an instruction that performs "result = r0-r1 op r2-r3".
5294 mov r3, r0, lsr #8 @ r3<- CC
5297 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
5299 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
5301 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
5307 bl __aeabi_dadd @ result<- op, r0-r3 changed
5321 * specifies an instruction that performs "result = r0-r1 op r2-r3".
5338 mov r3, r0, lsr #8 @ r3<- CC
5341 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
5343 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
5345 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
5351 bl __aeabi_dsub @ result<- op, r0-r3 changed
5365 * specifies an instruction that performs "result = r0-r1 op r2-r3".
5382 mov r3, r0, lsr #8 @ r3<- CC
5385 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
5387 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
5389 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
5395 bl __aeabi_dmul @ result<- op, r0-r3 changed
5409 * specifies an instruction that performs "result = r0-r1 op r2-r3".
5426 mov r3, r0, lsr #8 @ r3<- CC
5429 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
5431 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
5433 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
5439 bl __aeabi_ddiv @ result<- op, r0-r3 changed
5454 * specifies an instruction that performs "result = r0-r1 op r2-r3".
5471 mov r3, r0, lsr #8 @ r3<- CC
5474 add r3, rFP, r3, lsl #2 @ r3<- &fp[CC]
5476 ldmia r3, {r2-r3} @ r2/r3<- vCC/vCC+1
5478 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
5484 bl fmod @ result<- op, r0-r3 changed
5512 mov r3, rINST, lsr #12 @ r3<- B
5514 GET_VREG(r1, r3) @ r1<- vB
5523 add r0, r0, r1 @ r0<- op, r0-r3 changed
5551 mov r3, rINST, lsr #12 @ r3<- B
5553 GET_VREG(r1, r3) @ r1<- vB
5562 sub r0, r0, r1 @ r0<- op, r0-r3 changed
5591 mov r3, rINST, lsr #12 @ r3<- B
5593 GET_VREG(r1, r3) @ r1<- vB
5602 mul r0, r1, r0 @ r0<- op, r0-r3 changed
5630 mov r3, rINST, lsr #12 @ r3<- B
5632 GET_VREG(r1, r3) @ r1<- vB
5641 bl __aeabi_idiv @ r0<- op, r0-r3 changed
5670 mov r3, rINST, lsr #12 @ r3<- B
5672 GET_VREG(r1, r3) @ r1<- vB
5681 bl __aeabi_idivmod @ r1<- op, r0-r3 changed
5709 mov r3, rINST, lsr #12 @ r3<- B
5711 GET_VREG(r1, r3) @ r1<- vB
5720 and r0, r0, r1 @ r0<- op, r0-r3 changed
5748 mov r3, rINST, lsr #12 @ r3<- B
5750 GET_VREG(r1, r3) @ r1<- vB
5759 orr r0, r0, r1 @ r0<- op, r0-r3 changed
5787 mov r3, rINST, lsr #12 @ r3<- B
5789 GET_VREG(r1, r3) @ r1<- vB
5798 eor r0, r0, r1 @ r0<- op, r0-r3 changed
5826 mov r3, rINST, lsr #12 @ r3<- B
5828 GET_VREG(r1, r3) @ r1<- vB
5837 mov r0, r0, asl r1 @ r0<- op, r0-r3 changed
5865 mov r3, rINST, lsr #12 @ r3<- B
5867 GET_VREG(r1, r3) @ r1<- vB
5876 mov r0, r0, asr r1 @ r0<- op, r0-r3 changed
5904 mov r3, rINST, lsr #12 @ r3<- B
5906 GET_VREG(r1, r3) @ r1<- vB
5915 mov r0, r0, lsr r1 @ r0<- op, r0-r3 changed
5929 * that specifies an instruction that performs "result = r0-r1 op r2-r3".
5947 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
5950 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
5956 adc r1, r1, r3 @ result<- op, r0-r3 changed
5970 * that specifies an instruction that performs "result = r0-r1 op r2-r3".
5988 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
5991 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
5997 sbc r1, r1, r3 @ result<- op, r0-r3 changed
6022 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
6026 mla r2, r0, r3, ip @ r2<- YxX + (ZxW)
6041 * that specifies an instruction that performs "result = r0-r1 op r2-r3".
6059 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
6062 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
6068 bl __aeabi_ldivmod @ result<- op, r0-r3 changed
6079 /* ldivmod returns quotient in r0/r1 and remainder in r2/r3 */
6083 * that specifies an instruction that performs "result = r0-r1 op r2-r3".
6101 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
6104 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
6110 bl __aeabi_ldivmod @ result<- op, r0-r3 changed
6112 stmia r9, {r2,r3} @ vAA/vAA+1<- r2/r3
6124 * that specifies an instruction that performs "result = r0-r1 op r2-r3".
6142 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
6145 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
6151 and r1, r1, r3 @ result<- op, r0-r3 changed
6165 * that specifies an instruction that performs "result = r0-r1 op r2-r3".
6183 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
6186 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
6192 orr r1, r1, r3 @ result<- op, r0-r3 changed
6206 * that specifies an instruction that performs "result = r0-r1 op r2-r3".
6224 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
6227 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
6233 eor r1, r1, r3 @ result<- op, r0-r3 changed
6250 mov r3, rINST, lsr #12 @ r3<- B
6252 GET_VREG(r2, r3) @ r2<- vB
6258 rsb r3, r2, #32 @ r3<- 32 - r2
6259 orr r1, r1, r0, lsr r3 @ r1<- r1 | (r0 << (32-r2))
6276 mov r3, rINST, lsr #12 @ r3<- B
6278 GET_VREG(r2, r3) @ r2<- vB
6284 rsb r3, r2, #32 @ r3<- 32 - r2
6285 orr r0, r0, r1, asl r3 @ r0<- r0 | (r1 << (32-r2))
6302 mov r3, rINST, lsr #12 @ r3<- B
6304 GET_VREG(r2, r3) @ r2<- vB
6310 rsb r3, r2, #32 @ r3<- 32 - r2
6311 orr r0, r0, r1, asl r3 @ r0<- r0 | (r1 << (32-r2))
6339 mov r3, rINST, lsr #12 @ r3<- B
6341 GET_VREG(r1, r3) @ r1<- vB
6350 bl __aeabi_fadd @ r0<- op, r0-r3 changed
6378 mov r3, rINST, lsr #12 @ r3<- B
6380 GET_VREG(r1, r3) @ r1<- vB
6389 bl __aeabi_fsub @ r0<- op, r0-r3 changed
6417 mov r3, rINST, lsr #12 @ r3<- B
6419 GET_VREG(r1, r3) @ r1<- vB
6428 bl __aeabi_fmul @ r0<- op, r0-r3 changed
6456 mov r3, rINST, lsr #12 @ r3<- B
6458 GET_VREG(r1, r3) @ r1<- vB
6467 bl __aeabi_fdiv @ r0<- op, r0-r3 changed
6496 mov r3, rINST, lsr #12 @ r3<- B
6498 GET_VREG(r1, r3) @ r1<- vB
6507 bl fmodf @ r0<- op, r0-r3 changed
6521 * that specifies an instruction that performs "result = r0-r1 op r2-r3".
6539 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
6542 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
6548 bl __aeabi_dadd @ result<- op, r0-r3 changed
6562 * that specifies an instruction that performs "result = r0-r1 op r2-r3".
6580 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
6583 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
6589 bl __aeabi_dsub @ result<- op, r0-r3 changed
6603 * that specifies an instruction that performs "result = r0-r1 op r2-r3".
6621 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
6624 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
6630 bl __aeabi_dmul @ result<- op, r0-r3 changed
6644 * that specifies an instruction that performs "result = r0-r1 op r2-r3".
6662 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
6665 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
6671 bl __aeabi_ddiv @ result<- op, r0-r3 changed
6686 * that specifies an instruction that performs "result = r0-r1 op r2-r3".
6704 ldmia r1, {r2-r3} @ r2/r3<- vBB/vBB+1
6707 orrs ip, r2, r3 @ second arg (r2-r3) is zero?
6713 bl fmod @ result<- op, r0-r3 changed
6749 add r0, r0, r1 @ r0<- op, r0-r3 changed
6786 rsb r0, r0, r1 @ r0<- op, r0-r3 changed
6823 mul r0, r1, r0 @ r0<- op, r0-r3 changed
6859 bl __aeabi_idiv @ r0<- op, r0-r3 changed
6896 bl __aeabi_idivmod @ r1<- op, r0-r3 changed
6932 and r0, r0, r1 @ r0<- op, r0-r3 changed
6968 orr r0, r0, r1 @ r0<- op, r0-r3 changed
7004 eor r0, r0, r1 @ r0<- op, r0-r3 changed
7030 FETCH_S(r3, 1) @ r3<- ssssCCBB (sign-extended for CC)
7032 and r2, r3, #255 @ r2<- BB
7034 movs r1, r3, asr #8 @ r1<- ssssssCC (sign extended)
7042 add r0, r0, r1 @ r0<- op, r0-r3 changed
7068 FETCH_S(r3, 1) @ r3<- ssssCCBB (sign-extended for CC)
7070 and r2, r3, #255 @ r2<- BB
7072 movs r1, r3, asr #8 @ r1<- ssssssCC (sign extended)
7080 rsb r0, r0, r1 @ r0<- op, r0-r3 changed
7107 FETCH_S(r3, 1) @ r3<- ssssCCBB (sign-extended for CC)
7109 and r2, r3, #255 @ r2<- BB
7111 movs r1, r3, asr #8 @ r1<- ssssssCC (sign extended)
7119 mul r0, r1, r0 @ r0<- op, r0-r3 changed
7145 FETCH_S(r3, 1) @ r3<- ssssCCBB (sign-extended for CC)
7147 and r2, r3, #255 @ r2<- BB
7149 movs r1, r3, asr #8 @ r1<- ssssssCC (sign extended)
7157 bl __aeabi_idiv @ r0<- op, r0-r3 changed
7184 FETCH_S(r3, 1) @ r3<- ssssCCBB (sign-extended for CC)
7186 and r2, r3, #255 @ r2<- BB
7188 movs r1, r3, asr #8 @ r1<- ssssssCC (sign extended)
7196 bl __aeabi_idivmod @ r1<- op, r0-r3 changed
7222 FETCH_S(r3, 1) @ r3<- ssssCCBB (sign-extended for CC)
7224 and r2, r3, #255 @ r2<- BB
7226 movs r1, r3, asr #8 @ r1<- ssssssCC (sign extended)
7234 and r0, r0, r1 @ r0<- op, r0-r3 changed
7260 FETCH_S(r3, 1) @ r3<- ssssCCBB (sign-extended for CC)
7262 and r2, r3, #255 @ r2<- BB
7264 movs r1, r3, asr #8 @ r1<- ssssssCC (sign extended)
7272 orr r0, r0, r1 @ r0<- op, r0-r3 changed
7298 FETCH_S(r3, 1) @ r3<- ssssCCBB (sign-extended for CC)
7300 and r2, r3, #255 @ r2<- BB
7302 movs r1, r3, asr #8 @ r1<- ssssssCC (sign extended)
7310 eor r0, r0, r1 @ r0<- op, r0-r3 changed
7336 FETCH_S(r3, 1) @ r3<- ssssCCBB (sign-extended for CC)
7338 and r2, r3, #255 @ r2<- BB
7340 movs r1, r3, asr #8 @ r1<- ssssssCC (sign extended)
7348 mov r0, r0, asl r1 @ r0<- op, r0-r3 changed
7374 FETCH_S(r3, 1) @ r3<- ssssCCBB (sign-extended for CC)
7376 and r2, r3, #255 @ r2<- BB
7378 movs r1, r3, asr #8 @ r1<- ssssssCC (sign extended)
7386 mov r0, r0, asr r1 @ r0<- op, r0-r3 changed
7412 FETCH_S(r3, 1) @ r3<- ssssCCBB (sign-extended for CC)
7414 and r2, r3, #255 @ r2<- BB
7416 movs r1, r3, asr #8 @ r1<- ssssssCC (sign extended)
7424 mov r0, r0, lsr r1 @ r0<- op, r0-r3 changed
7443 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
7445 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
7471 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
7473 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
7553 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
7555 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
7579 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
7581 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pResFields
7602 ldr r3, [rGLUE, #offGlue_methodClassDex] @ r3<- DvmDex
7604 ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pResFields
7713 * The first four args are in r0-r3, pointer to return value storage
7743 * The first four args are in r0-r3, pointer to return value storage
7788 GET_VREG(r3, r2) @ r3<- object we're operating on
7790 cmp r3, #0 @ check object for null
7793 ldr r0, [r3, r1] @ r0<- obj.field (always 32 bits)
7806 GET_VREG(r3, r2) @ r3<- object we're operating on
7808 cmp r3, #0 @ check object for null
7811 add r9, r3, r1 @ r9<- object + offset
7815 add r3, rFP, r2, lsl #2 @ r3<- &fp[A]
7817 stmia r3, {r0-r1} @ fp[A]<- r0/r1
7828 GET_VREG(r3, r2) @ r3<- object we're operating on
7830 cmp r3, #0 @ check object for null
7833 ldr r0, [r3, r1] @ r0<- obj.field (always 32 bits)
7848 GET_VREG(r3, r2) @ r3<- fp[B], the object pointer
7850 cmp r3, #0 @ check object for null
7856 str r0, [r3, r1] @ obj.field (always 32 bits)<- r0
7869 add r3, rFP, r0, lsl #2 @ r3<- &fp[A]
7871 ldmia r3, {r0-r1} @ r0/r1<- fp[A]
7873 FETCH(r3, 1) @ r3<- field byte offset
7875 add r2, r2, r3 @ r2<- object + byte offset
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}
8705 ldmia r0, {r2-r3} @ r2/r3 <- vBB[vCC]
8708 stmia r9, {r2-r3} @ vAA/vAA+1<- r2/r3
8715 ldmia r9, {r2-r3} @ r2/r3<- vAA/vAA+1
8718 stmia r0, {r2-r3} @ vBB[vCC] <- r2/r3
8760 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8762 ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
8780 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8783 add r0, r9, r3 @ r0<- address of field
8786 add r9, r9, r3 @ r9<- obj + field offset
8792 add r3, rFP, r2, lsl #2 @ r3<- &fp[A]
8794 stmia r3, {r0-r1} @ fp[A]<- r0/r1
8807 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8809 ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
8828 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8830 r3] @ r0<- obj.field (8/16/32 bits)
8849 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8851 ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
8870 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8872 ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
8891 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8893 ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
8912 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8920 str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
8934 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8935 add r2, rFP, r2, lsl #2 @ r3<- &fp[A]
8940 add r2, r9, r3 @ r2<- object + byte offset
8958 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8967 str r0, [r9, r3] @ obj.field (32 bits)<- r0
8982 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
8990 str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
9003 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
9011 str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
9024 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
9032 str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
9045 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
9053 str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
9283 ldr r3, [r1, #offObject_clazz] @ r1<- thisPtr->clazz
9284 ldr r3, [r3, #offClassObject_vtable] @ r3<- thisPtr->clazz->vtable
9285 ldr r0, [r3, r2, lsl #2] @ r3<- vtable[methodIndex]
9298 ldr r3, [r1, #offClassObject_vtableCount] @ r3<- super->vtableCount
9300 cmp r2, r3 @ compare (methodIndex, vtableCount)
9303 ldr r0, [r1, r2, lsl #2] @ r3<- vtable[methodIndex]
9330 ldr r3, [rGLUE, #offGlue_method] @ r3<- glue->method
9331 ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
9351 ldr r3, [r1, #offObject_clazz] @ r1<- thisPtr->clazz
9352 ldr r3, [r3, #offClassObject_vtable] @ r3<- thisPtr->clazz->vtable
9353 ldr r0, [r3, r2, lsl #2] @ r3<- vtable[methodIndex]
9366 ldr r3, [r1, #offClassObject_vtableCount] @ r3<- super->vtableCount
9368 cmp r2, r3 @ compare (methodIndex, vtableCount)
9371 ldr r0, [r1, r2, lsl #2] @ r3<- vtable[methodIndex]
9398 ldr r3, [rGLUE, #offGlue_method] @ r3<- glue->method
9399 ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
9454 mov r3, #0x43000000 @ maxlong, as a double (high word)
9455 add r3, #0x00e00000 @ 0x43e00000
9468 mov r3, #0xc3000000 @ minlong, as a double (high word)
9469 add r3, #0x00e00000 @ 0xc3e00000
9480 mov r3, r5
9556 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
9558 ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
9577 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
9585 str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
9628 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
9630 ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
9648 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
9651 add r0, r9, r3 @ r0<- address of field
9654 add r9, r9, r3 @ r9<- obj + field offset
9660 add r3, rFP, r2, lsl #2 @ r3<- &fp[A]
9662 stmia r3, {r0-r1} @ fp[A]<- r0/r1
9676 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
9677 add r2, rFP, r2, lsl #2 @ r3<- &fp[A]
9682 add r2, r9, r3 @ r2<- object + byte offset
9746 ldr r3, [rFP, ip, lsr #10] @ r3<- vF (shift right 12, left 2)
9775 GET_VREG(r3, ip) @ r3<- vBase[3]
9800 ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
9809 str r0, [r9, r3] @ obj.field (32 bits)<- r0
9866 mov r3, #0
9867 str r3, [r10, #offThread_inJitCodeCache] @ Back to the interp land
9882 mov r3, #0 @ 0 means !inJitCodeCache
9883 str r3, [r10, #offThread_inJitCodeCache] @ back to the interp land
9891 mov r3, #0 @ 0 means !inJitCodeCache
9892 str r3, [r10, #offThread_inJitCodeCache] @ Back to the interp land
9900 mov r3, #0 @ 0 means !inJitCodeCache
9901 str r3, [r10, #offThread_inJitCodeCache] @ Back to the interp land
9909 mov r3, #0 @ 0 means !inJitCodeCache
9910 str r3, [r10, #offThread_inJitCodeCache] @ Back to the interp land
9918 mov r3, #0 @ 0 means !inJitCodeCache
9919 str r3, [r10, #offThread_inJitCodeCache] @ Back to the interp land
9927 mov r3, #0 @ 0 means !inJitCodeCache
9928 str r3, [r10, #offThread_inJitCodeCache] @ Back to the interp land
10135 eor r3,rPC,rPC,lsr #12 @ cheap, but fast hash function
10136 lsl r3,r3,#(32 - JIT_PROF_SIZE_LOG_2) @ shift out excess bits
10137 ldrb r1,[r0,r3,lsr #(32 - JIT_PROF_SIZE_LOG_2)] @ get counter
10140 strb r1,[r0,r3,lsr #(32 - JIT_PROF_SIZE_LOG_2)] @ and store it
10151 strb r1,[r0,r3,lsr #(32 - JIT_PROF_SIZE_LOG_2)] @ reset counter
10177 mov r3, #0 @ 0 means not in the JIT code cache
10178 str r3, [r10, #offThread_inJitCodeCache] @ back to the interp land
10207 mov r3,r10 @ r3<- target translation
10290 ldr r3, [rGLUE, #offGlue_pSelfSuspendCount] @ r3<- &suspendCount
10295 ldr ip, [r3] @ ip<- suspendCount (int)
10312 ldr ip, [r3] @ ip<- suspendCount (int)
10322 ldr r3, [rGLUE, #offGlue_ppJitProfTable] @ r3<-&gDvmJit.pJitProfTable
10324 ldr r3, [r3] @ r3 <- pJitProfTable
10326 str r3, [rGLUE, #offGlue_pJitProfTable] @ refresh Jit's on/off switch
10396 add r3, rFP, r1, lsl #2 @ r3<- &fp[CCCC]
10399 1: ldr r1, [r3], #4 @ val = *fp++
10403 ldrh r3, [r0, #offMethod_outsSize] @ r3<- methodToCall->outsSize
10419 ldrh r3, [r0, #offMethod_outsSize] @ r3<- methodToCall->outsSize
10422 @ r0=methodToCall, r1=GFED, r3=outSize, r2=count, r9=regSize, r10=outs
10449 .LinvokeArgsDone: @ r0=methodToCall, r3=outSize, r9=regSize
10458 sub r3, r10, r3, lsl #2 @ r3<- bottom (newsave - outsSize)
10459 cmp r3, r9 @ bottom < interpStackEnd?
10460 ldr r3, [r0, #offMethod_accessFlags] @ r3<- methodToCall->accessFlags
10475 tst r3, #ACC_NATIVE
10479 stmfd sp!, {r0-r3}
10484 ldmfd sp!, {r0-r3}
10485 stmfd sp!, {r0-r3}
10490 ldmfd sp!, {r0-r3}
10494 ldr r3, [rINST, #offClassObject_pDvmDex] @ r3<- method->clazz->pDvmDex
10499 @ r0=methodToCall, r1=newFp, r2=self, r3=newMethodClass, r9=newINST
10501 str r3, [rGLUE, #offGlue_methodClassDex] @ glue->methodClassDex = ...
10522 ldr r3, [rGLUE, #offGlue_self] @ r3<- glue->self
10523 ldr r9, [r3, #offThread_jniLocal_topCookie] @ r9<- thread->localRef->...
10524 str r1, [r3, #offThread_curFrame] @ self->curFrame = newFp
10526 mov r9, r3 @ r9<- glue->self (preserve)
10548 ldr r3, [rGLUE, #offGlue_ppJitProfTable] @ Refresh Jit's on/off status
10556 ldr r3, [r3] @ r3 <- gDvmJit.pProfTable
10562 str r3, [rGLUE, #offGlue_pJitProfTable] @ refresh cached on/off switch
10599 mov r3, rINST, lsr #8 @ A3<- AA
10624 ldr r3, [rGLUE, #offGlue_self] @ r3<- glue->self
10633 str rFP, [r3, #offThread_curFrame] @ self->curFrame = fp
10638 str r10, [r3, #offThread_inJitCodeCache] @ may return to JIT'ed land
10684 mov r3, #0 @ r3<- NULL
10685 str r3, [r10, #offThread_exception] @ self->exception = NULL
10691 mov r3, #0 @ r3<- false
10725 ldr r3, [r1, #offMethod_insns] @ r3<- method->insns
10727 add rPC, r3, r0, asl #1 @ rPC<- method->insns + catchRelPc
10766 ldr r3, [r9, #offObject_clazz]
10767 ldr r3, [r3, #offClassObject_descriptor]
10882 stmfd sp!, {r0, r1, r2, r3, ip, lr}
10886 ldmfd sp!, {r0, r1, r2, r3, ip, lr}
10901 stmfd sp!, {r0, r1, r2, r3, ip, lr}
10905 ldmfd sp!, {r0, r1, r2, r3, ip, lr}
10912 stmfd sp!, {r0, r1, r2, r3, ip, lr}
10915 ldmfd sp!, {r0, r1, r2, r3, ip, lr}
10922 stmfd sp!, {r0, r1, r2, r3, ip, lr}
10926 ldmfd sp!, {r0, r1, r2, r3, ip, lr}
10933 stmfd sp!, {r0, r1, r2, r3, ip, lr}
10934 mov r3, r1
10938 ldmfd sp!, {r0, r1, r2, r3, ip, lr}
10945 stmfd sp!, {r0, r1, r2, r3, ip, lr}
10947 ldmfd sp!, {r0, r1, r2, r3, ip, lr}
10956 stmfd sp!, {r0, r1, r2, r3, ip, lr}
10958 ldmfd sp!, {r0, r1, r2, r3, ip, lr}