Lines Matching refs:r0
302 str sp, [r0, #offGlue_bailPtr] @ save SP for eventual return
305 mov rGLUE, r0 @ set rGLUE
306 ldrb r1, [r0, #offGlue_entryPoint] @ InterpEntry enum is char
315 GET_JIT_PROF_TABLE(r0)
317 cmp r0,#0
338 ldr r0,[rGLUE, #offGlue_jitResume]
1000 cmp r0, #0 @ already resolved?
1002 .LOP_NEW_INSTANCE_resolved: @ r0=class
1003 ldrb r1, [r0, #offClassObject_status] @ r1<- ClassStatus enum
1006 .LOP_NEW_INSTANCE_initialized: @ r0=class
1008 bl dvmAllocObject @ r0<- new object
1023 mov r0, rINST, lsr #12 @ r0<- B
1026 GET_VREG(r1, r0) @ r1<- vB (array length)
1029 ldr r0, [r3, r2, lsl #2] @ r0<- resolved class
1031 cmp r0, #0 @ already resolved?
1201 FETCH(r0, 1) @ r0<- aaaa (lo)
1204 orrs r0, r0, r1, lsl #16 @ r0<- AAAAaaaa, check sign
1205 mov r9, r0, asl #1 @ r9<- byte offset
1208 GET_JIT_PROF_TABLE(r0)
1210 cmp r0,#0
1234 FETCH(r0, 1) @ r0<- bbbb (lo)
1237 orr r0, r0, r1, lsl #16 @ r0<- BBBBbbbb
1239 add r0, rPC, r0, lsl #1 @ r0<- PC + BBBBbbbb*2
1240 bl dvmInterpHandlePackedSwitch @ r0<- code-unit branch offset
1241 movs r9, r0, asl #1 @ r9<- branch byte offset, check sign
1245 GET_JIT_PROF_TABLE(r0)
1247 cmp r0,#0
1273 FETCH(r0, 1) @ r0<- bbbb (lo)
1276 orr r0, r0, r1, lsl #16 @ r0<- BBBBbbbb
1278 add r0, rPC, r0, lsl #1 @ r0<- PC + BBBBbbbb*2
1279 bl dvmInterpHandleSparseSwitch @ r0<- code-unit branch offset
1280 movs r9, r0, asl #1 @ r9<- branch byte offset, check sign
1284 GET_JIT_PROF_TABLE(r0)
1286 cmp r0,#0
1319 FETCH(r0, 1) @ r0<- CCBB
1321 and r2, r0, #255 @ r2<- BB
1322 mov r3, r0, lsr #8 @ r3<- CC
1329 mvn r0, #0 @ r0<- -1 (default)
1332 movgt r0, #1 @ (greater than) r1<- 1
1333 moveq r0, #0 @ (equal) r1<- 0
1358 FETCH(r0, 1) @ r0<- CCBB
1360 and r2, r0, #255 @ r2<- BB
1361 mov r3, r0, lsr #8 @ r3<- CC
1368 mov r0, #1 @ r0<- 1 (default)
1371 mvnmi r0, #0 @ (less than) r1<- -1
1372 moveq r0, #0 @ (equal) r1<- 0
1397 FETCH(r0, 1) @ r0<- CCBB
1399 and r2, r0, #255 @ r2<- BB
1400 mov r3, r0, lsr #8 @ r3<- CC
1407 mvn r0, #0 @ r0<- -1 (default)
1410 movgt r0, #1 @ (greater than) r1<- 1
1411 moveq r0, #0 @ (equal) r1<- 0
1436 FETCH(r0, 1) @ r0<- CCBB
1438 and r2, r0, #255 @ r2<- BB
1439 mov r3, r0, lsr #8 @ r3<- CC
1446 mov r0, #1 @ r0<- 1 (default)
1449 mvnmi r0, #0 @ (less than) r1<- -1
1450 moveq r0, #0 @ (equal) r1<- 0
1479 FETCH(r0, 1) @ r0<- CCBB
1481 and r2, r0, #255 @ r2<- BB
1482 mov r3, r0, lsr #8 @ r3<- CC
1485 ldmia r2, {r0-r1} @ r0/r1<- vBB/vBB+1
1490 subs r1, r0, r2 @ r1<- r0 - r2
1509 ubfx r0, rINST, #8, #4 @ r0<- A
1511 GET_VREG(r2, r0) @ r2<- vA
1512 mov r9, #4 @ r0<- BYTE branch dist for not-taken
1520 GET_JIT_PROF_TABLE(r0)
1545 ubfx r0, rINST, #8, #4 @ r0<- A
1547 GET_VREG(r2, r0) @ r2<- vA
1548 mov r9, #4 @ r0<- BYTE branch dist for not-taken
1556 GET_JIT_PROF_TABLE(r0)
1581 ubfx r0, rINST, #8, #4 @ r0<- A
1583 GET_VREG(r2, r0) @ r2<- vA
1584 mov r9, #4 @ r0<- BYTE branch dist for not-taken
1592 GET_JIT_PROF_TABLE(r0)
1617 ubfx r0, rINST, #8, #4 @ r0<- A
1619 GET_VREG(r2, r0) @ r2<- vA
1620 mov r9, #4 @ r0<- BYTE branch dist for not-taken
1628 GET_JIT_PROF_TABLE(r0)
1653 ubfx r0, rINST, #8, #4 @ r0<- A
1655 GET_VREG(r2, r0) @ r2<- vA
1656 mov r9, #4 @ r0<- BYTE branch dist for not-taken
1664 GET_JIT_PROF_TABLE(r0)
1689 ubfx r0, rINST, #8, #4 @ r0<- A
1691 GET_VREG(r2, r0) @ r2<- vA
1692 mov r9, #4 @ r0<- BYTE branch dist for not-taken
1700 GET_JIT_PROF_TABLE(r0)
1724 mov r0, rINST, lsr #8 @ r0<- AA
1725 GET_VREG(r2, r0) @ r2<- vAA
1726 mov r9, #4 @ r0<- BYTE branch dist for not-taken
1734 GET_JIT_PROF_TABLE(r0)
1736 cmp r0,#0
1761 mov r0, rINST, lsr #8 @ r0<- AA
1762 GET_VREG(r2, r0) @ r2<- vAA
1763 mov r9, #4 @ r0<- BYTE branch dist for not-taken
1771 GET_JIT_PROF_TABLE(r0)
1773 cmp r0,#0
1798 mov r0, rINST, lsr #8 @ r0<- AA
1799 GET_VREG(r2, r0) @ r2<- vAA
1800 mov r9, #4 @ r0<- BYTE branch dist for not-taken
1808 GET_JIT_PROF_TABLE(r0)
1810 cmp r0,#0
1835 mov r0, rINST, lsr #8 @ r0<- AA
1836 GET_VREG(r2, r0) @ r2<- vAA
1837 mov r9, #4 @ r0<- BYTE branch dist for not-taken
1845 GET_JIT_PROF_TABLE(r0)
1847 cmp r0,#0
1872 mov r0, rINST, lsr #8 @ r0<- AA
1873 GET_VREG(r2, r0) @ r2<- vAA
1874 mov r9, #4 @ r0<- BYTE branch dist for not-taken
1882 GET_JIT_PROF_TABLE(r0)
1884 cmp r0,#0
1909 mov r0, rINST, lsr #8 @ r0<- AA
1910 GET_VREG(r2, r0) @ r2<- vAA
1911 mov r9, #4 @ r0<- BYTE branch dist for not-taken
1919 GET_JIT_PROF_TABLE(r0)
1921 cmp r0,#0
2003 GET_VREG(r0, r2) @ r0<- vBB (array object)
2005 cmp r0, #0 @ null array object?
2007 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2008 add r0, r0, r1, lsl #2 @ r0<- arrayObj + index*width
2012 ldr r2, [r0, #offArrayObject_contents] @ r2<- vBB[vCC]
2028 FETCH(r0, 1) @ r0<- CCBB
2030 and r2, r0, #255 @ r2<- BB
2031 mov r3, r0, lsr #8 @ r3<- CC
2032 GET_VREG(r0, r2) @ r0<- vBB (array object)
2034 cmp r0, #0 @ null array object?
2036 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2037 add r0, r0, r1, lsl #3 @ r0<- arrayObj + index*width
2062 GET_VREG(r0, r2) @ r0<- vBB (array object)
2064 cmp r0, #0 @ null array object?
2066 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2067 add r0, r0, r1, lsl #2 @ r0<- arrayObj + index*width
2071 ldr r2, [r0, #offArrayObject_contents] @ r2<- vBB[vCC]
2095 GET_VREG(r0, r2) @ r0<- vBB (array object)
2097 cmp r0, #0 @ null array object?
2099 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2100 add r0, r0, r1, lsl #0 @ r0<- arrayObj + index*width
2104 ldrb r2, [r0, #offArrayObject_contents] @ r2<- vBB[vCC]
2128 GET_VREG(r0, r2) @ r0<- vBB (array object)
2130 cmp r0, #0 @ null array object?
2132 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2133 add r0, r0, r1, lsl #0 @ r0<- arrayObj + index*width
2137 ldrsb r2, [r0, #offArrayObject_contents] @ r2<- vBB[vCC]
2161 GET_VREG(r0, r2) @ r0<- vBB (array object)
2163 cmp r0, #0 @ null array object?
2165 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2166 add r0, r0, r1, lsl #1 @ r0<- arrayObj + index*width
2170 ldrh r2, [r0, #offArrayObject_contents] @ r2<- vBB[vCC]
2194 GET_VREG(r0, r2) @ r0<- vBB (array object)
2196 cmp r0, #0 @ null array object?
2198 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2199 add r0, r0, r1, lsl #1 @ r0<- arrayObj + index*width
2203 ldrsh r2, [r0, #offArrayObject_contents] @ r2<- vBB[vCC]
2226 GET_VREG(r0, r2) @ r0<- vBB (array object)
2228 cmp r0, #0 @ null array object?
2230 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2231 add r0, r0, r1, lsl #2 @ r0<- arrayObj + index*width
2237 str r2, [r0, #offArrayObject_contents] @ vBB[vCC]<- r2
2251 FETCH(r0, 1) @ r0<- CCBB
2253 and r2, r0, #255 @ r2<- BB
2254 mov r3, r0, lsr #8 @ r3<- CC
2255 GET_VREG(r0, r2) @ r0<- vBB (array object)
2257 cmp r0, #0 @ null array object?
2259 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2260 add r0, r0, r1, lsl #3 @ r0<- arrayObj + index*width
2280 FETCH(r0, 1) @ r0<- CCBB
2282 and r2, r0, #255 @ r2<- BB
2283 mov r3, r0, lsr #8 @ r3<- CC
2285 GET_VREG(r0, r3) @ r0<- vCC (requested index)
2290 add r10, r1, r0, lsl #2 @ r10<- arrayObj + index*width
2291 cmp r0, r3 @ compare unsigned index, length
3246 ldr r0, [r3, r1, lsl #2] @ r0<- resolved methodToCall
3250 cmp r0, #0 @ already resolved?
3273 ldr r0, [r3, r1, lsl #2] @ r0<- resolved methodToCall
3274 cmp r0, #0 @ already resolved?
3278 ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
3280 bl dvmResolveMethod @ r0<- call(clazz, ref, flags)
3281 cmp r0, #0 @ got null?
3303 GET_VREG(r0, r2) @ r0<- first arg ("this")
3305 cmp r0, #0 @ null obj?
3308 ldr r0, [r0, #offObject_clazz] @ r0<- thisPtr->clazz
3309 bl dvmFindInterfaceMethodInCache @ r0<- call(class, ref, method, dex)
3310 cmp r0, #0 @ failed?
3340 ldr r0, [r3, r1, lsl #2] @ r0<- resolved baseMethod
3344 cmp r0, #0 @ already resolved?
3348 ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
3350 bl dvmResolveMethod @ r0<- call(clazz, ref, flags)
3351 cmp r0, #0 @ got null?
3376 ldr r0, [r3, r1, lsl #2] @ r0<- resolved baseMethod
3380 cmp r0, #0 @ already resolved?
3408 ldr r0, [r3, r1, lsl #2] @ r0<- resolved methodToCall
3412 cmp r0, #0 @ already resolved?
3437 ldr r0, [r3, r1, lsl #2] @ r0<- resolved methodToCall
3438 cmp r0, #0 @ already resolved?
3442 ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
3444 bl dvmResolveMethod @ r0<- call(clazz, ref, flags)
3445 cmp r0, #0 @ got null?
3469 GET_VREG(r0, r2) @ r0<- first arg ("this")
3471 cmp r0, #0 @ null obj?
3474 ldr r0, [r0, #offObject_clazz] @ r0<- thisPtr->clazz
3475 bl dvmFindInterfaceMethodInCache @ r0<- call(class, ref, method, dex)
3476 cmp r0, #0 @ failed?
3516 GET_VREG(r0, r3) @ r0<- vB
3519 rsb r0, r0, #0 @ r0<- op, r0-r3 changed
3521 SET_VREG(r0, r9) @ vAA<- r0
3542 GET_VREG(r0, r3) @ r0<- vB
3545 mvn r0, r0 @ r0<- op, r0-r3 changed
3547 SET_VREG(r0, r9) @ vAA<- r0
3569 ldmia r3, {r0-r1} @ r0/r1<- vAA
3571 rsbs r0, r0, #0 @ optional op; may set condition codes
3572 rsc r1, r1, #0 @ r0/r1<- op, r2-r3 changed
3574 stmia r9, {r0-r1} @ vAA<- r0/r1
3597 ldmia r3, {r0-r1} @ r0/r1<- vAA
3599 mvn r0, r0 @ optional op; may set condition codes
3600 mvn r1, r1 @ r0/r1<- op, r2-r3 changed
3602 stmia r9, {r0-r1} @ vAA<- r0/r1
3624 GET_VREG(r0, r3) @ r0<- vB
3627 add r0, r0, #0x80000000 @ r0<- op, r0-r3 changed
3629 SET_VREG(r0, r9) @ vAA<- r0
3651 ldmia r3, {r0-r1} @ r0/r1<- vAA
3654 add r1, r1, #0x80000000 @ r0/r1<- op, r2-r3 changed
3656 stmia r9, {r0-r1} @ vAA<- r0/r1
3677 GET_VREG(r0, r3) @ r0<- vB
3681 mov r1, r0, asr #31 @ r0<- op, r0-r3 changed
3683 stmia r9, {r0-r1} @ vA/vA+1<- r0/r1
3747 mov r0, rINST, lsr #8 @ r0<- A from 11:8
3750 and r0, r0, #15
3752 SET_VREG(r2, r0) @ fp[A]<- r2
3776 ldmia r3, {r0-r1} @ r0/r1<- vB/vB+1
3779 bl __aeabi_l2f @ r0<- op, r0-r3 changed
3781 SET_VREG(r0, r9) @ vA<- r0
3803 ldmia r3, {r0-r1} @ r0/r1<- vAA
3806 bl __aeabi_l2d @ r0/r1<- op, r2-r3 changed
3808 stmia r9, {r0-r1} @ vAA<- r0/r1
3855 GET_VREG(r0, r3) @ r0<- vB
3859 bl f2l_doconv @ r0<- op, r0-r3 changed
3861 stmia r9, {r0-r1} @ vA/vA+1<- r0/r1
3935 ldmia r3, {r0-r1} @ r0/r1<- vAA
3938 bl d2l_doconv @ r0/r1<- op, r2-r3 changed
3940 stmia r9, {r0-r1} @ vAA<- r0/r1
3988 GET_VREG(r0, r3) @ r0<- vB
3991 sxtb r0, r0 @ r0<- op, r0-r3 changed
3993 SET_VREG(r0, r9) @ vAA<- r0
4014 GET_VREG(r0, r3) @ r0<- vB
4017 uxth r0, r0 @ r0<- op, r0-r3 changed
4019 SET_VREG(r0, r9) @ vAA<- r0
4040 GET_VREG(r0, r3) @ r0<- vB
4043 sxth r0, r0 @ r0<- op, r0-r3 changed
4045 SET_VREG(r0, r9) @ vAA<- r0
4071 FETCH(r0, 1) @ r0<- CCBB
4073 mov r3, r0, lsr #8 @ r3<- CC
4074 and r2, r0, #255 @ r2<- BB
4076 GET_VREG(r0, r2) @ r0<- vBB
4084 add r0, r0, r1 @ r0<- op, r0-r3 changed
4086 SET_VREG(r0, r9) @ vAA<- r0
4113 FETCH(r0, 1) @ r0<- CCBB
4115 mov r3, r0, lsr #8 @ r3<- CC
4116 and r2, r0, #255 @ r2<- BB
4118 GET_VREG(r0, r2) @ r0<- vBB
4126 sub r0, r0, r1 @ r0<- op, r0-r3 changed
4128 SET_VREG(r0, r9) @ vAA<- r0
4156 FETCH(r0, 1) @ r0<- CCBB
4158 mov r3, r0, lsr #8 @ r3<- CC
4159 and r2, r0, #255 @ r2<- BB
4161 GET_VREG(r0, r2) @ r0<- vBB
4169 mul r0, r1, r0 @ r0<- op, r0-r3 changed
4171 SET_VREG(r0, r9) @ vAA<- r0
4198 FETCH(r0, 1) @ r0<- CCBB
4200 mov r3, r0, lsr #8 @ r3<- CC
4201 and r2, r0, #255 @ r2<- BB
4203 GET_VREG(r0, r2) @ r0<- vBB
4211 bl __aeabi_idiv @ r0<- op, r0-r3 changed
4213 SET_VREG(r0, r9) @ vAA<- r0
4241 FETCH(r0, 1) @ r0<- CCBB
4243 mov r3, r0, lsr #8 @ r3<- CC
4244 and r2, r0, #255 @ r2<- BB
4246 GET_VREG(r0, r2) @ r0<- vBB
4254 bl __aeabi_idivmod @ r1<- op, r0-r3 changed
4283 FETCH(r0, 1) @ r0<- CCBB
4285 mov r3, r0, lsr #8 @ r3<- CC
4286 and r2, r0, #255 @ r2<- BB
4288 GET_VREG(r0, r2) @ r0<- vBB
4296 and r0, r0, r1 @ r0<- op, r0-r3 changed
4298 SET_VREG(r0, r9) @ vAA<- r0
4325 FETCH(r0, 1) @ r0<- CCBB
4327 mov r3, r0, lsr #8 @ r3<- CC
4328 and r2, r0, #255 @ r2<- BB
4330 GET_VREG(r0, r2) @ r0<- vBB
4338 orr r0, r0, r1 @ r0<- op, r0-r3 changed
4340 SET_VREG(r0, r9) @ vAA<- r0
4367 FETCH(r0, 1) @ r0<- CCBB
4369 mov r3, r0, lsr #8 @ r3<- CC
4370 and r2, r0, #255 @ r2<- BB
4372 GET_VREG(r0, r2) @ r0<- vBB
4380 eor r0, r0, r1 @ r0<- op, r0-r3 changed
4382 SET_VREG(r0, r9) @ vAA<- r0
4409 FETCH(r0, 1) @ r0<- CCBB
4411 mov r3, r0, lsr #8 @ r3<- CC
4412 and r2, r0, #255 @ r2<- BB
4414 GET_VREG(r0, r2) @ r0<- vBB
4422 mov r0, r0, asl r1 @ r0<- op, r0-r3 changed
4424 SET_VREG(r0, r9) @ vAA<- r0
4451 FETCH(r0, 1) @ r0<- CCBB
4453 mov r3, r0, lsr #8 @ r3<- CC
4454 and r2, r0, #255 @ r2<- BB
4456 GET_VREG(r0, r2) @ r0<- vBB
4464 mov r0, r0, asr r1 @ r0<- op, r0-r3 changed
4466 SET_VREG(r0, r9) @ vAA<- r0
4493 FETCH(r0, 1) @ r0<- CCBB
4495 mov r3, r0, lsr #8 @ r3<- CC
4496 and r2, r0, #255 @ r2<- BB
4498 GET_VREG(r0, r2) @ r0<- vBB
4506 mov r0, r0, lsr r1 @ r0<- op, r0-r3 changed
4508 SET_VREG(r0, r9) @ vAA<- r0
4535 FETCH(r0, 1) @ r0<- CCBB
4537 and r2, r0, #255 @ r2<- BB
4538 mov r3, r0, lsr #8 @ r3<- CC
4542 ldmia r2, {r0-r1} @ r0/r1<- vBB/vBB+1
4550 adds r0, r0, r2 @ optional op; may set condition codes
4551 adc r1, r1, r3 @ result<- op, r0-r3 changed
4553 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
4580 FETCH(r0, 1) @ r0<- CCBB
4582 and r2, r0, #255 @ r2<- BB
4583 mov r3, r0, lsr #8 @ r3<- CC
4587 ldmia r2, {r0-r1} @ r0/r1<- vBB/vBB+1
4595 subs r0, r0, r2 @ optional op; may set condition codes
4596 sbc r1, r1, r3 @ result<- op, r0-r3 changed
4598 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
4627 FETCH(r0, 1) @ r0<- CCBB
4628 and r2, r0, #255 @ r2<- BB
4629 mov r3, r0, lsr #8 @ r3<- CC
4632 ldmia r2, {r0-r1} @ r0/r1<- vBB/vBB+1
4635 umull r9, r10, r2, r0 @ r9/r10 <- ZxX
4636 mla r2, r0, r3, ip @ r2<- YxX + (ZxW)
4637 mov r0, rINST, lsr #8 @ r0<- AA
4639 add r0, rFP, r0, lsl #2 @ r0<- &fp[AA]
4664 FETCH(r0, 1) @ r0<- CCBB
4666 and r2, r0, #255 @ r2<- BB
4667 mov r3, r0, lsr #8 @ r3<- CC
4671 ldmia r2, {r0-r1} @ r0/r1<- vBB/vBB+1
4680 bl __aeabi_ldivmod @ result<- op, r0-r3 changed
4682 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
4710 FETCH(r0, 1) @ r0<- CCBB
4712 and r2, r0, #255 @ r2<- BB
4713 mov r3, r0, lsr #8 @ r3<- CC
4717 ldmia r2, {r0-r1} @ r0/r1<- vBB/vBB+1
4726 bl __aeabi_ldivmod @ result<- op, r0-r3 changed
4755 FETCH(r0, 1) @ r0<- CCBB
4757 and r2, r0, #255 @ r2<- BB
4758 mov r3, r0, lsr #8 @ r3<- CC
4762 ldmia r2, {r0-r1} @ r0/r1<- vBB/vBB+1
4770 and r0, r0, r2 @ optional op; may set condition codes
4771 and r1, r1, r3 @ result<- op, r0-r3 changed
4773 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
4800 FETCH(r0, 1) @ r0<- CCBB
4802 and r2, r0, #255 @ r2<- BB
4803 mov r3, r0, lsr #8 @ r3<- CC
4807 ldmia r2, {r0-r1} @ r0/r1<- vBB/vBB+1
4815 orr r0, r0, r2 @ optional op; may set condition codes
4816 orr r1, r1, r3 @ result<- op, r0-r3 changed
4818 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
4845 FETCH(r0, 1) @ r0<- CCBB
4847 and r2, r0, #255 @ r2<- BB
4848 mov r3, r0, lsr #8 @ r3<- CC
4852 ldmia r2, {r0-r1} @ r0/r1<- vBB/vBB+1
4860 eor r0, r0, r2 @ optional op; may set condition codes
4861 eor r1, r1, r3 @ result<- op, r0-r3 changed
4863 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
4880 FETCH(r0, 1) @ r0<- CCBB
4882 and r3, r0, #255 @ r3<- BB
4883 mov r0, r0, lsr #8 @ r0<- CC
4885 GET_VREG(r2, r0) @ r2<- vCC
4886 ldmia r3, {r0-r1} @ r0/r1<- vBB/vBB+1
4892 orr r1, r1, r0, lsr r3 @ r1<- r1 | (r0 << (32-r2))
4894 movpl r1, r0, asl ip @ if r2 >= 32, r1<- r0 << (r2-32)
4909 FETCH(r0, 1) @ r0<- CCBB
4911 and r3, r0, #255 @ r3<- BB
4912 mov r0, r0, lsr #8 @ r0<- CC
4914 GET_VREG(r2, r0) @ r2<- vCC
4915 ldmia r3, {r0-r1} @ r0/r1<- vBB/vBB+1
4916 and r2, r2, #63 @ r0<- r0 & 0x3f
4919 mov r0, r0, lsr r2 @ r0<- r2 >> r2
4921 orr r0, r0, r1, asl r3 @ r0<- r0 | (r1 << (32-r2))
4923 movpl r0, r1, asr ip @ if r2 >= 32, r0<-r1 >> (r2-32)
4938 FETCH(r0, 1) @ r0<- CCBB
4940 and r3, r0, #255 @ r3<- BB
4941 mov r0, r0, lsr #8 @ r0<- CC
4943 GET_VREG(r2, r0) @ r2<- vCC
4944 ldmia r3, {r0-r1} @ r0/r1<- vBB/vBB+1
4945 and r2, r2, #63 @ r0<- r0 & 0x3f
4948 mov r0, r0, lsr r2 @ r0<- r2 >> r2
4950 orr r0, r0, r1, asl r3 @ r0<- r0 | (r1 << (32-r2))
4952 movpl r0, r1, lsr ip @ if r2 >= 32, r0<-r1 >>> (r2-32)
4969 FETCH(r0, 1) @ r0<- CCBB
4971 mov r3, r0, lsr #8 @ r3<- CC
4972 and r2, r0, #255 @ r2<- BB
4999 FETCH(r0, 1) @ r0<- CCBB
5001 mov r3, r0, lsr #8 @ r3<- CC
5002 and r2, r0, #255 @ r2<- BB
5029 FETCH(r0, 1) @ r0<- CCBB
5031 mov r3, r0, lsr #8 @ r3<- CC
5032 and r2, r0, #255 @ r2<- BB
5059 FETCH(r0, 1) @ r0<- CCBB
5061 mov r3, r0, lsr #8 @ r3<- CC
5062 and r2, r0, #255 @ r2<- BB
5098 FETCH(r0, 1) @ r0<- CCBB
5100 mov r3, r0, lsr #8 @ r3<- CC
5101 and r2, r0, #255 @ r2<- BB
5103 GET_VREG(r0, r2) @ r0<- vBB
5111 bl fmodf @ r0<- op, r0-r3 changed
5113 SET_VREG(r0, r9) @ vAA<- r0
5132 FETCH(r0, 1) @ r0<- CCBB
5134 mov r3, r0, lsr #8 @ r3<- CC
5135 and r2, r0, #255 @ r2<- BB
5162 FETCH(r0, 1) @ r0<- CCBB
5164 mov r3, r0, lsr #8 @ r3<- CC
5165 and r2, r0, #255 @ r2<- BB
5192 FETCH(r0, 1) @ r0<- CCBB
5194 mov r3, r0, lsr #8 @ r3<- CC
5195 and r2, r0, #255 @ r2<- BB
5222 FETCH(r0, 1) @ r0<- CCBB
5224 mov r3, r0, lsr #8 @ r3<- CC
5225 and r2, r0, #255 @ r2<- BB
5261 FETCH(r0, 1) @ r0<- CCBB
5263 and r2, r0, #255 @ r2<- BB
5264 mov r3, r0, lsr #8 @ r3<- CC
5268 ldmia r2, {r0-r1} @ r0/r1<- vBB/vBB+1
5277 bl fmod @ result<- op, r0-r3 changed
5279 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
5308 GET_VREG(r0, r9) @ r0<- vA
5316 add r0, r0, r1 @ r0<- op, r0-r3 changed
5318 SET_VREG(r0, r9) @ vAA<- r0
5347 GET_VREG(r0, r9) @ r0<- vA
5355 sub r0, r0, r1 @ r0<- op, r0-r3 changed
5357 SET_VREG(r0, r9) @ vAA<- r0
5387 GET_VREG(r0, r9) @ r0<- vA
5395 mul r0, r1, r0 @ r0<- op, r0-r3 changed
5397 SET_VREG(r0, r9) @ vAA<- r0
5426 GET_VREG(r0, r9) @ r0<- vA
5434 bl __aeabi_idiv @ r0<- op, r0-r3 changed
5436 SET_VREG(r0, r9) @ vAA<- r0
5466 GET_VREG(r0, r9) @ r0<- vA
5474 bl __aeabi_idivmod @ r1<- op, r0-r3 changed
5505 GET_VREG(r0, r9) @ r0<- vA
5513 and r0, r0, r1 @ r0<- op, r0-r3 changed
5515 SET_VREG(r0, r9) @ vAA<- r0
5544 GET_VREG(r0, r9) @ r0<- vA
5552 orr r0, r0, r1 @ r0<- op, r0-r3 changed
5554 SET_VREG(r0, r9) @ vAA<- r0
5583 GET_VREG(r0, r9) @ r0<- vA
5591 eor r0, r0, r1 @ r0<- op, r0-r3 changed
5593 SET_VREG(r0, r9) @ vAA<- r0
5622 GET_VREG(r0, r9) @ r0<- vA
5630 mov r0, r0, asl r1 @ r0<- op, r0-r3 changed
5632 SET_VREG(r0, r9) @ vAA<- r0
5661 GET_VREG(r0, r9) @ r0<- vA
5669 mov r0, r0, asr r1 @ r0<- op, r0-r3 changed
5671 SET_VREG(r0, r9) @ vAA<- r0
5700 GET_VREG(r0, r9) @ r0<- vA
5708 mov r0, r0, lsr r1 @ r0<- op, r0-r3 changed
5710 SET_VREG(r0, r9) @ vAA<- r0
5741 ldmia r9, {r0-r1} @ r0/r1<- vAA/vAA+1
5748 adds r0, r0, r2 @ optional op; may set condition codes
5749 adc r1, r1, r3 @ result<- op, r0-r3 changed
5751 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
5782 ldmia r9, {r0-r1} @ r0/r1<- vAA/vAA+1
5789 subs r0, r0, r2 @ optional op; may set condition codes
5790 sbc r1, r1, r3 @ result<- op, r0-r3 changed
5792 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
5816 ldmia rINST, {r0-r1} @ r0/r1<- vAA/vAA+1
5818 umull r9, r10, r2, r0 @ r9/r10 <- ZxX
5819 mla r2, r0, r3, ip @ r2<- YxX + (ZxW)
5820 mov r0, rINST @ r0<- &fp[A] (free up rINST)
5824 stmia r0, {r9-r10} @ vAA/vAA+1<- r9/r10
5853 ldmia r9, {r0-r1} @ r0/r1<- vAA/vAA+1
5861 bl __aeabi_ldivmod @ result<- op, r0-r3 changed
5863 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
5895 ldmia r9, {r0-r1} @ r0/r1<- vAA/vAA+1
5903 bl __aeabi_ldivmod @ result<- op, r0-r3 changed
5936 ldmia r9, {r0-r1} @ r0/r1<- vAA/vAA+1
5943 and r0, r0, r2 @ optional op; may set condition codes
5944 and r1, r1, r3 @ result<- op, r0-r3 changed
5946 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
5977 ldmia r9, {r0-r1} @ r0/r1<- vAA/vAA+1
5984 orr r0, r0, r2 @ optional op; may set condition codes
5985 orr r1, r1, r3 @ result<- op, r0-r3 changed
5987 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
6018 ldmia r9, {r0-r1} @ r0/r1<- vAA/vAA+1
6025 eor r0, r0, r2 @ optional op; may set condition codes
6026 eor r1, r1, r3 @ result<- op, r0-r3 changed
6028 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
6048 ldmia r9, {r0-r1} @ r0/r1<- vAA/vAA+1
6052 orr r1, r1, r0, lsr r3 @ r1<- r1 | (r0 << (32-r2))
6055 movpl r1, r0, asl ip @ if r2 >= 32, r1<- r0 << (r2-32)
6056 mov r0, r0, asl r2 @ r0<- r0 << r2
6073 ldmia r9, {r0-r1} @ r0/r1<- vAA/vAA+1
6075 mov r0, r0, lsr r2 @ r0<- r2 >> r2
6077 orr r0, r0, r1, asl r3 @ r0<- r0 | (r1 << (32-r2))
6080 movpl r0, r1, asr ip @ if r2 >= 32, r0<-r1 >> (r2-32)
6098 ldmia r9, {r0-r1} @ r0/r1<- vAA/vAA+1
6100 mov r0, r0, lsr r2 @ r0<- r2 >> r2
6102 orr r0, r0, r1, asl r3 @ r0<- r0 | (r1 << (32-r2))
6105 movpl r0, r1, lsr ip @ if r2 >= 32, r0<-r1 >>> (r2-32)
6245 GET_VREG(r0, r9) @ r0<- vA
6253 bl fmodf @ r0<- op, r0-r3 changed
6255 SET_VREG(r0, r9) @ vAA<- r0
6403 ldmia r9, {r0-r1} @ r0/r1<- vAA/vAA+1
6411 bl fmod @ result<- op, r0-r3 changed
6413 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
6440 GET_VREG(r0, r2) @ r0<- vB
6447 add r0, r0, r1 @ r0<- op, r0-r3 changed
6449 SET_VREG(r0, r9) @ vAA<- r0
6477 GET_VREG(r0, r2) @ r0<- vB
6484 rsb r0, r0, r1 @ r0<- op, r0-r3 changed
6486 SET_VREG(r0, r9) @ vAA<- r0
6514 GET_VREG(r0, r2) @ r0<- vB
6521 mul r0, r1, r0 @ r0<- op, r0-r3 changed
6523 SET_VREG(r0, r9) @ vAA<- r0
6550 GET_VREG(r0, r2) @ r0<- vB
6557 bl __aeabi_idiv @ r0<- op, r0-r3 changed
6559 SET_VREG(r0, r9) @ vAA<- r0
6587 GET_VREG(r0, r2) @ r0<- vB
6594 bl __aeabi_idivmod @ r1<- op, r0-r3 changed
6623 GET_VREG(r0, r2) @ r0<- vB
6630 and r0, r0, r1 @ r0<- op, r0-r3 changed
6632 SET_VREG(r0, r9) @ vAA<- r0
6659 GET_VREG(r0, r2) @ r0<- vB
6666 orr r0, r0, r1 @ r0<- op, r0-r3 changed
6668 SET_VREG(r0, r9) @ vAA<- r0
6695 GET_VREG(r0, r2) @ r0<- vB
6702 eor r0, r0, r1 @ r0<- op, r0-r3 changed
6704 SET_VREG(r0, r9) @ vAA<- r0
6732 GET_VREG(r0, r2) @ r0<- vBB
6741 add r0, r0, r1 @ r0<- op, r0-r3 changed
6743 SET_VREG(r0, r9) @ vAA<- r0
6771 GET_VREG(r0, r2) @ r0<- vBB
6780 rsb r0, r0, r1 @ r0<- op, r0-r3 changed
6782 SET_VREG(r0, r9) @ vAA<- r0
6811 GET_VREG(r0, r2) @ r0<- vBB
6820 mul r0, r1, r0 @ r0<- op, r0-r3 changed
6822 SET_VREG(r0, r9) @ vAA<- r0
6850 GET_VREG(r0, r2) @ r0<- vBB
6859 bl __aeabi_idiv @ r0<- op, r0-r3 changed
6861 SET_VREG(r0, r9) @ vAA<- r0
6890 GET_VREG(r0, r2) @ r0<- vBB
6899 bl __aeabi_idivmod @ r1<- op, r0-r3 changed
6929 GET_VREG(r0, r2) @ r0<- vBB
6938 and r0, r0, r1 @ r0<- op, r0-r3 changed
6940 SET_VREG(r0, r9) @ vAA<- r0
6968 GET_VREG(r0, r2) @ r0<- vBB
6977 orr r0, r0, r1 @ r0<- op, r0-r3 changed
6979 SET_VREG(r0, r9) @ vAA<- r0
7007 GET_VREG(r0, r2) @ r0<- vBB
7016 eor r0, r0, r1 @ r0<- op, r0-r3 changed
7018 SET_VREG(r0, r9) @ vAA<- r0
7046 GET_VREG(r0, r2) @ r0<- vBB
7055 mov r0, r0, asl r1 @ r0<- op, r0-r3 changed
7057 SET_VREG(r0, r9) @ vAA<- r0
7085 GET_VREG(r0, r2) @ r0<- vBB
7094 mov r0, r0, asr r1 @ r0<- op, r0-r3 changed
7096 SET_VREG(r0, r9) @ vAA<- r0
7124 GET_VREG(r0, r2) @ r0<- vBB
7133 mov r0, r0, lsr r1 @ r0<- op, r0-r3 changed
7135 SET_VREG(r0, r9) @ vAA<- r0
7241 ldr r0, [rGLUE, #offGlue_method] @ r0<- glue->method
7267 mov r0, rINST, lsr #12 @ r0<- B
7271 cmp r0, #0 @ test boolean result of inline
7336 ldrd r0, [r3, r1] @ r0<- obj.field (64 bits, aligned)
7340 stmia r3, {r0-r1} @ fp[A]<- r0/r1
7823 bl dvmAllocArrayByClass @ r0<- call(clazz, length, flags)
7824 cmp r0, #0 @ failed?
7830 SET_VREG(r0, r2) @ vA<- r0
7842 ldr r3, [r0, #offClassObject_descriptor] @ r3<- arrayClass->descriptor
7855 bl dvmAllocArrayByClass @ r0<- call(arClass, length, flags)
7856 cmp r0, #0 @ null return?
7860 str r0, [rGLUE, #offGlue_retval] @ retval.l <- new array
7861 add r0, r0, #offArrayObject_contents @ r0<- newArray->contents
7867 @ r0=array, r1=CCCC/FEDC, r9=length (from AA or B), r10=AA/BA
7872 str r3, [r0], #4 @ *contents++ = vX
7881 str r3, [r0, #16] @ contents[4] = vA
7886 str r3, [r0], #4 @ *contents++ = vX
7900 ldr r0, .L_strInternalError
7921 ldr r3, [r0, #offClassObject_descriptor] @ r3<- arrayClass->descriptor
7934 bl dvmAllocArrayByClass @ r0<- call(arClass, length, flags)
7935 cmp r0, #0 @ null return?
7939 str r0, [rGLUE, #offGlue_retval] @ retval.l <- new array
7940 add r0, r0, #offArrayObject_contents @ r0<- newArray->contents
7946 @ r0=array, r1=CCCC/FEDC, r9=length (from AA or B), r10=AA/BA
7951 str r3, [r0], #4 @ *contents++ = vX
7960 str r3, [r0, #16] @ contents[4] = vA
7965 str r3, [r0], #4 @ *contents++ = vX
7979 ldr r0, .L_strInternalError
7994 SET_VREG(r0, r9) @ vAA<- r0
8000 SET_VREG(r0, r9) @ vAA<- r0
8006 SET_VREG(r0, r9) @ vAA<- r0
8012 SET_VREG(r0, r9) @ vAA<- r0
8749 mov r4, r0
8751 cmp r0, #0 @ nonzero == yes
8752 mvnne r0, #0 @ return maxlong (7fffffff)
8756 mov r0, r4 @ recover arg
8759 cmp r0, #0 @ nonzero == yes
8760 movne r0, #0 @ return minlong (80000000)
8764 mov r0, r4 @ recover arg
8767 cmp r0, #0 @ zero == no
8771 mov r0, r4 @ recover arg
8790 mov r4, r0 @ save a copy of r0
8793 cmp r0, #0 @ nonzero == yes
8794 mvnne r0, #0 @ return maxlong (7fffffffffffffff)
8798 mov r0, r4 @ recover arg
8804 cmp r0, #0 @ nonzero == yes
8805 movne r0, #0 @ return minlong (8000000000000000)
8809 mov r0, r4 @ recover arg
8814 cmp r0, #0 @ zero == no
8818 mov r0, r4 @ recover arg
8831 stmia r0, {r9-r10} @ vAA/vAA+1<- r9/r10
8838 mov r0, r0, asl r2 @ r0<- r0 << r2
8840 stmia r9, {r0-r1} @ vAA/vAA+1<- r0/r1
8849 stmia r9, {r0-r1} @ vAA/vAA+1<- r0/r1
8858 stmia r9, {r0-r1} @ vAA/vAA+1<- r0/r1
8866 stmia r9, {r0-r1} @ vAA/vAA+1<- r0/r1
8874 stmia r9, {r0-r1} @ vAA/vAA+1<- r0/r1
8882 stmia r9, {r0-r1} @ vAA/vAA+1<- r0/r1
8901 rsb r0, r0, #4 @ r0<- 4-r0
8903 add pc, pc, r0, lsl #3 @ computed goto, 2 instrs each
8912 ldr r0, [rFP, ip, lsl #2] @ r0<- vC
8949 mov rPC, r0
8951 mov r0,lr
8974 mov rPC,r0
8992 mov r0,rPC
8994 cmp r0,#0
8997 bl dvmJitChain @ r0<- dvmJitChain(codeAddr,chainAddr)
8998 cmp r0,#0 @ successful chain?
8999 bxne r0 @ continue native execution
9005 GET_JIT_PROF_TABLE(r0)
9007 cmp r0, #0
9033 mov r0,rPC
9035 cmp r0,#0
9038 bl dvmJitChain @ r0<- dvmJitChain(codeAddr,chainAddr)
9039 cmp r0,#0 @ successful chain?
9040 bxne r0 @ continue native execution
9052 mov r0,rPC
9054 cmp r0,#0
9055 bxne r0 @ continue native execution if so
9067 GET_JIT_PROF_TABLE(r0)
9077 cmp r0,#0
9084 ldrb r1,[r0,r3,lsr #23] @ get counter
9087 strb r1,[r0,r3,lsr #23] @ and store it
9097 strb r1,[r0,r3,lsr #23] @ reset counter
9099 mov r0,rPC
9100 bl dvmJitGetCodeAddr @ r0<- dvmJitGetCodeAddr(rPC)
9101 cmp r0,#0
9103 bxne r0 @ jump to the translation
9119 mov r0, #kInterpEntryInstr
9122 GET_JIT_PROF_TABLE(r0)
9124 cmp r0,#0
9185 ldr r0, [rGLUE, #offGlue_self] @ r0<- glue->self
9191 str r0, [rGLUE, #offGlue_entryPoint]
9207 mov r0, rGLUE @ r0<- glue ptr
9211 @add r0, rGLUE, #offGlue_jmpBuf @ r0<- &glue->jmpBuf
9230 @ r0=methodToCall, r1=CCCC, r2=count, r10=outs
9234 ldrh r9, [r0, #offMethod_registersSize] @ r9<- methodToCall->regsSize
9239 ldrh r3, [r0, #offMethod_outsSize] @ r3<- methodToCall->outsSize
9254 ldrh r9, [r0, #offMethod_registersSize] @ r9<- methodToCall->regsSize
9255 ldrh r3, [r0, #offMethod_outsSize] @ r3<- methodToCall->outsSize
9258 @ r0=methodToCall, r1=GFED, r3=outSize, r2=count, r9=regSize, r10=outs
9265 mov r0, r0 @ nop
9269 mov r0, r0 @ nop
9273 mov r0, r0 @ nop
9277 mov r0, r0 @ nop
9281 mov r0, r0 @ nop
9285 .LinvokeArgsDone: @ r0=methodToCall, r3=outSize, r9=regSize
9286 ldr r2, [r0, #offMethod_insns] @ r2<- method->insns
9287 ldr rINST, [r0, #offMethod_clazz] @ rINST<- method->clazz
9296 ldr r3, [r0, #offMethod_accessFlags] @ r3<- methodToCall->accessFlags
9310 str r0, [r10, #offStackSaveArea_method]
9335 @ r0=methodToCall, r1=newFp, r2=self, r3=newMethodClass, r9=newINST
9336 str r0, [rGLUE, #offGlue_method] @ glue->method = methodToCall
9339 GET_JIT_PROF_TABLE(r0)
9344 cmp r0,#0
9357 @ r0=methodToCall, r1=newFp, r10=newSaveArea
9364 mov r2, r0 @ r2<- methodToCall
9365 mov r0, r1 @ r0<- newFp (points to args)
9385 ldr r0, [r10, #offStackSaveArea_localRefCookie] @ r0<- saved top
9389 str r0, [r9, #offThread_jniLocal_topCookie] @ new top <- old top
9397 ldr r0, [rGLUE, #offGlue_self] @ r0<- self
9420 mov r2, r0 @ A2<- methodToCall
9421 mov r0, rGLUE @ A0<- glue
9440 mov r0, #kInterpEntryReturn
9444 SAVEAREA_FROM_FP(r0, rFP) @ r0<- saveArea (old)
9445 ldr rFP, [r0, #offStackSaveArea_prevFrame] @ fp = saveArea->prevFrame
9446 ldr r9, [r0, #offStackSaveArea_savedPc] @ r9 = saveArea->savedPc
9526 mov r0, r10 @ r0<- self
9539 mov rFP, r0 @ save relPc result in rFP
9540 mov r0, r10 @ r0<- self
9542 mov r0, rFP @ restore result
9547 cmp r0, #0 @ is catchRelPc < 0?
9558 add rPC, r3, r0, asl #1 @ rPC<- method->insns + catchRelPc
9562 mov r0, r9 @ r0<- exception
9577 movne r0, r10 @ if yes: r0<- self
9585 ldr r0, [rGLUE, #offGlue_method]
9586 ldr r1, [r0, #offMethod_insns]
9590 str r0, [sp, #-4]!
9592 ldr r0, [rGLUE, #offGlue_method]
9594 str r0, [sp, #-4]!
9601 mov r0, #3 @ LOG_DEBUG
9605 mov r0, r9 @ r0<- exception
9618 mov r0, rGLUE @ arg to function
9639 ldr r0, strArrayIndexException
9649 ldr r0, strArrayStoreException
9659 ldr r0, strArithmeticException
9669 ldr r0, strNegativeArraySizeException
9679 ldr r0, strNoSuchMethodError
9691 ldr r0, strNullPointerException
9712 stmfd sp!, {r0, r1, r2, r3, ip, lr}
9713 ldr r0, strSqueak
9716 ldmfd sp!, {r0, r1, r2, r3, ip, lr}
9731 stmfd sp!, {r0, r1, r2, r3, ip, lr}
9732 mov r1, r0
9733 ldr r0, strSqueak
9735 ldmfd sp!, {r0, r1, r2, r3, ip, lr}
9742 stmfd sp!, {r0, r1, r2, r3, ip, lr}
9743 ldr r0, strNewline
9745 ldmfd sp!, {r0, r1, r2, r3, ip, lr}
9752 stmfd sp!, {r0, r1, r2, r3, ip, lr}
9753 mov r1, r0
9754 ldr r0, strPrintHex
9756 ldmfd sp!, {r0, r1, r2, r3, ip, lr}
9763 stmfd sp!, {r0, r1, r2, r3, ip, lr}
9765 mov r2, r0
9766 ldr r0, strPrintLong
9768 ldmfd sp!, {r0, r1, r2, r3, ip, lr}
9775 stmfd sp!, {r0, r1, r2, r3, ip, lr}
9777 ldmfd sp!, {r0, r1, r2, r3, ip, lr}
9786 stmfd sp!, {r0, r1, r2, r3, ip, lr}
9788 ldmfd sp!, {r0, r1, r2, r3, ip, lr}
9801 and r0, r0, r1 @ make sure no stray bits are set
9805 orr r2, r2, r0 @ set specified bits
9807 mov r0, r2 @ return new value
9818 mov r0, #0x03000000 @ r0<- 0x03000000
9819 add r1, r0, #0x9f00 @ r1<- 0x03009f00