• Home
  • Raw
  • Download

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]
1004 cmp r0, #0 @ already resolved?
1006 .LOP_NEW_INSTANCE_resolved: @ r0=class
1007 ldrb r1, [r0, #offClassObject_status] @ r1<- ClassStatus enum
1010 .LOP_NEW_INSTANCE_initialized: @ r0=class
1012 bl dvmAllocObject @ r0<- new object
1027 mov r0, rINST, lsr #12 @ r0<- B
1030 GET_VREG(r1, r0) @ r1<- vB (array length)
1033 ldr r0, [r3, r2, lsl #2] @ r0<- resolved class
1035 cmp r0, #0 @ already resolved?
1205 FETCH(r0, 1) @ r0<- aaaa (lo)
1208 orrs r0, r0, r1, lsl #16 @ r0<- AAAAaaaa, check sign
1209 mov r9, r0, asl #1 @ r9<- byte offset
1212 GET_JIT_PROF_TABLE(r0)
1214 cmp r0,#0
1238 FETCH(r0, 1) @ r0<- bbbb (lo)
1241 orr r0, r0, r1, lsl #16 @ r0<- BBBBbbbb
1243 add r0, rPC, r0, lsl #1 @ r0<- PC + BBBBbbbb*2
1244 bl dvmInterpHandlePackedSwitch @ r0<- code-unit branch offset
1245 movs r9, r0, asl #1 @ r9<- branch byte offset, check sign
1249 GET_JIT_PROF_TABLE(r0)
1251 cmp r0,#0
1277 FETCH(r0, 1) @ r0<- bbbb (lo)
1280 orr r0, r0, r1, lsl #16 @ r0<- BBBBbbbb
1282 add r0, rPC, r0, lsl #1 @ r0<- PC + BBBBbbbb*2
1283 bl dvmInterpHandleSparseSwitch @ r0<- code-unit branch offset
1284 movs r9, r0, asl #1 @ r9<- branch byte offset, check sign
1288 GET_JIT_PROF_TABLE(r0)
1290 cmp r0,#0
1337 FETCH(r0, 1) @ r0<- CCBB
1338 and r2, r0, #255 @ r2<- BB
1339 mov r3, r0, lsr #8 @ r3<- CC
1342 mov r0, r9 @ copy to arg registers
1391 FETCH(r0, 1) @ r0<- CCBB
1392 and r2, r0, #255 @ r2<- BB
1393 mov r3, r0, lsr #8 @ r3<- CC
1396 mov r0, r9 @ copy to arg registers
1426 FETCH(r0, 1) @ r0<- CCBB
1427 and r9, r0, #255 @ r9<- BB
1428 mov r10, r0, lsr #8 @ r10<- CC
1431 ldmia r9, {r0-r1} @ r0/r1<- vBB/vBB+1
1461 FETCH(r0, 1) @ r0<- CCBB
1462 and r9, r0, #255 @ r9<- BB
1463 mov r10, r0, lsr #8 @ r10<- CC
1466 ldmia r9, {r0-r1} @ r0/r1<- vBB/vBB+1
1505 FETCH(r0, 1) @ r0<- CCBB
1507 and r2, r0, #255 @ r2<- BB
1508 mov r3, r0, lsr #8 @ r3<- CC
1511 ldmia r2, {r0-r1} @ r0/r1<- vBB/vBB+1
1516 subs r1, r0, r2 @ r1<- r0 - r2
1534 mov r0, rINST, lsr #8 @ r0<- A+
1536 and r0, r0, #15
1538 GET_VREG(r2, r0) @ r2<- vA
1539 mov r9, #4 @ r0<- BYTE branch dist for not-taken
1547 GET_JIT_PROF_TABLE(r0)
1571 mov r0, rINST, lsr #8 @ r0<- A+
1573 and r0, r0, #15
1575 GET_VREG(r2, r0) @ r2<- vA
1576 mov r9, #4 @ r0<- BYTE branch dist for not-taken
1584 GET_JIT_PROF_TABLE(r0)
1608 mov r0, rINST, lsr #8 @ r0<- A+
1610 and r0, r0, #15
1612 GET_VREG(r2, r0) @ r2<- vA
1613 mov r9, #4 @ r0<- BYTE branch dist for not-taken
1621 GET_JIT_PROF_TABLE(r0)
1645 mov r0, rINST, lsr #8 @ r0<- A+
1647 and r0, r0, #15
1649 GET_VREG(r2, r0) @ r2<- vA
1650 mov r9, #4 @ r0<- BYTE branch dist for not-taken
1658 GET_JIT_PROF_TABLE(r0)
1682 mov r0, rINST, lsr #8 @ r0<- A+
1684 and r0, r0, #15
1686 GET_VREG(r2, r0) @ r2<- vA
1687 mov r9, #4 @ r0<- BYTE branch dist for not-taken
1695 GET_JIT_PROF_TABLE(r0)
1719 mov r0, rINST, lsr #8 @ r0<- A+
1721 and r0, r0, #15
1723 GET_VREG(r2, r0) @ r2<- vA
1724 mov r9, #4 @ r0<- BYTE branch dist for not-taken
1732 GET_JIT_PROF_TABLE(r0)
1756 mov r0, rINST, lsr #8 @ r0<- AA
1757 GET_VREG(r2, r0) @ r2<- vAA
1758 mov r9, #4 @ r0<- BYTE branch dist for not-taken
1766 GET_JIT_PROF_TABLE(r0)
1768 cmp r0,#0
1793 mov r0, rINST, lsr #8 @ r0<- AA
1794 GET_VREG(r2, r0) @ r2<- vAA
1795 mov r9, #4 @ r0<- BYTE branch dist for not-taken
1803 GET_JIT_PROF_TABLE(r0)
1805 cmp r0,#0
1830 mov r0, rINST, lsr #8 @ r0<- AA
1831 GET_VREG(r2, r0) @ r2<- vAA
1832 mov r9, #4 @ r0<- BYTE branch dist for not-taken
1840 GET_JIT_PROF_TABLE(r0)
1842 cmp r0,#0
1867 mov r0, rINST, lsr #8 @ r0<- AA
1868 GET_VREG(r2, r0) @ r2<- vAA
1869 mov r9, #4 @ r0<- BYTE branch dist for not-taken
1877 GET_JIT_PROF_TABLE(r0)
1879 cmp r0,#0
1904 mov r0, rINST, lsr #8 @ r0<- AA
1905 GET_VREG(r2, r0) @ r2<- vAA
1906 mov r9, #4 @ r0<- BYTE branch dist for not-taken
1914 GET_JIT_PROF_TABLE(r0)
1916 cmp r0,#0
1941 mov r0, rINST, lsr #8 @ r0<- AA
1942 GET_VREG(r2, r0) @ r2<- vAA
1943 mov r9, #4 @ r0<- BYTE branch dist for not-taken
1951 GET_JIT_PROF_TABLE(r0)
1953 cmp r0,#0
2035 GET_VREG(r0, r2) @ r0<- vBB (array object)
2037 cmp r0, #0 @ null array object?
2039 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2040 add r0, r0, r1, lsl #2 @ r0<- arrayObj + index*width
2044 ldr r2, [r0, #offArrayObject_contents] @ r2<- vBB[vCC]
2060 FETCH(r0, 1) @ r0<- CCBB
2062 and r2, r0, #255 @ r2<- BB
2063 mov r3, r0, lsr #8 @ r3<- CC
2064 GET_VREG(r0, r2) @ r0<- vBB (array object)
2066 cmp r0, #0 @ null array object?
2068 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2069 add r0, r0, r1, lsl #3 @ r0<- arrayObj + index*width
2094 GET_VREG(r0, r2) @ r0<- vBB (array object)
2096 cmp r0, #0 @ null array object?
2098 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2099 add r0, r0, r1, lsl #2 @ r0<- arrayObj + index*width
2103 ldr r2, [r0, #offArrayObject_contents] @ r2<- vBB[vCC]
2127 GET_VREG(r0, r2) @ r0<- vBB (array object)
2129 cmp r0, #0 @ null array object?
2131 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2132 add r0, r0, r1, lsl #0 @ r0<- arrayObj + index*width
2136 ldrb r2, [r0, #offArrayObject_contents] @ r2<- vBB[vCC]
2160 GET_VREG(r0, r2) @ r0<- vBB (array object)
2162 cmp r0, #0 @ null array object?
2164 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2165 add r0, r0, r1, lsl #0 @ r0<- arrayObj + index*width
2169 ldrsb r2, [r0, #offArrayObject_contents] @ r2<- vBB[vCC]
2193 GET_VREG(r0, r2) @ r0<- vBB (array object)
2195 cmp r0, #0 @ null array object?
2197 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2198 add r0, r0, r1, lsl #1 @ r0<- arrayObj + index*width
2202 ldrh 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 #1 @ r0<- arrayObj + index*width
2235 ldrsh r2, [r0, #offArrayObject_contents] @ r2<- vBB[vCC]
2258 GET_VREG(r0, r2) @ r0<- vBB (array object)
2260 cmp r0, #0 @ null array object?
2262 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2263 add r0, r0, r1, lsl #2 @ r0<- arrayObj + index*width
2269 str r2, [r0, #offArrayObject_contents] @ vBB[vCC]<- r2
2281 FETCH(r0, 1) @ r0<- CCBB
2283 and r2, r0, #255 @ r2<- BB
2284 mov r3, r0, lsr #8 @ r3<- CC
2285 GET_VREG(r0, r2) @ r0<- vBB (array object)
2287 cmp r0, #0 @ null array object?
2289 ldr r3, [r0, #offArrayObject_length] @ r3<- arrayObj->length
2290 add r0, r0, r1, lsl #3 @ r0<- arrayObj + index*width
2310 FETCH(r0, 1) @ r0<- CCBB
2312 and r2, r0, #255 @ r2<- BB
2313 mov r3, r0, lsr #8 @ r3<- CC
2315 GET_VREG(r0, r3) @ r0<- vCC (requested index)
2320 add r10, r1, r0, lsl #2 @ r10<- arrayObj + index*width
2321 cmp r0, r3 @ compare unsigned index, length
3278 ldr r0, [r3, r1, lsl #2] @ r0<- resolved methodToCall
3282 cmp r0, #0 @ already resolved?
3305 ldr r0, [r3, r1, lsl #2] @ r0<- resolved methodToCall
3306 cmp r0, #0 @ already resolved?
3310 ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
3312 bl dvmResolveMethod @ r0<- call(clazz, ref, flags)
3313 cmp r0, #0 @ got null?
3335 GET_VREG(r0, r2) @ r0<- first arg ("this")
3337 cmp r0, #0 @ null obj?
3340 ldr r0, [r0, #offObject_clazz] @ r0<- thisPtr->clazz
3341 bl dvmFindInterfaceMethodInCache @ r0<- call(class, ref, method, dex)
3342 cmp r0, #0 @ failed?
3372 ldr r0, [r3, r1, lsl #2] @ r0<- resolved baseMethod
3376 cmp r0, #0 @ already resolved?
3380 ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
3382 bl dvmResolveMethod @ r0<- call(clazz, ref, flags)
3383 cmp r0, #0 @ got null?
3408 ldr r0, [r3, r1, lsl #2] @ r0<- resolved baseMethod
3412 cmp r0, #0 @ already resolved?
3440 ldr r0, [r3, r1, lsl #2] @ r0<- resolved methodToCall
3444 cmp r0, #0 @ already resolved?
3469 ldr r0, [r3, r1, lsl #2] @ r0<- resolved methodToCall
3470 cmp r0, #0 @ already resolved?
3474 ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
3476 bl dvmResolveMethod @ r0<- call(clazz, ref, flags)
3477 cmp r0, #0 @ got null?
3501 GET_VREG(r0, r2) @ r0<- first arg ("this")
3503 cmp r0, #0 @ null obj?
3506 ldr r0, [r0, #offObject_clazz] @ r0<- thisPtr->clazz
3507 bl dvmFindInterfaceMethodInCache @ r0<- call(class, ref, method, dex)
3508 cmp r0, #0 @ failed?
3548 GET_VREG(r0, r3) @ r0<- vB
3552 rsb r0, r0, #0 @ r0<- op, r0-r3 changed
3554 SET_VREG(r0, r9) @ vAA<- r0
3575 GET_VREG(r0, r3) @ r0<- vB
3579 mvn r0, r0 @ r0<- op, r0-r3 changed
3581 SET_VREG(r0, r9) @ vAA<- r0
3604 ldmia r3, {r0-r1} @ r0/r1<- vAA
3606 rsbs r0, r0, #0 @ optional op; may set condition codes
3607 rsc r1, r1, #0 @ r0/r1<- op, r2-r3 changed
3609 stmia r9, {r0-r1} @ vAA<- r0/r1
3633 ldmia r3, {r0-r1} @ r0/r1<- vAA
3635 mvn r0, r0 @ optional op; may set condition codes
3636 mvn r1, r1 @ r0/r1<- op, r2-r3 changed
3638 stmia r9, {r0-r1} @ vAA<- r0/r1
3660 GET_VREG(r0, r3) @ r0<- vB
3664 add r0, r0, #0x80000000 @ r0<- op, r0-r3 changed
3666 SET_VREG(r0, r9) @ vAA<- r0
3689 ldmia r3, {r0-r1} @ r0/r1<- vAA
3692 add r1, r1, #0x80000000 @ r0/r1<- op, r2-r3 changed
3694 stmia r9, {r0-r1} @ vAA<- r0/r1
3716 GET_VREG(r0, r3) @ r0<- vB
3720 mov r1, r0, asr #31 @ r0<- op, r0-r3 changed
3722 stmia r9, {r0-r1} @ vA/vA+1<- r0/r1
3743 GET_VREG(r0, r3) @ r0<- vB
3747 bl __aeabi_i2f @ r0<- op, r0-r3 changed
3749 SET_VREG(r0, r9) @ vAA<- r0
3770 GET_VREG(r0, r3) @ r0<- vB
3774 bl __aeabi_i2d @ r0<- op, r0-r3 changed
3776 stmia r9, {r0-r1} @ vA/vA+1<- r0/r1
3790 mov r0, rINST, lsr #8 @ r0<- A from 11:8
3793 and r0, r0, #15
3795 SET_VREG(r2, r0) @ fp[A]<- r2
3820 ldmia r3, {r0-r1} @ r0/r1<- vB/vB+1
3823 bl __aeabi_l2f @ r0<- op, r0-r3 changed
3825 SET_VREG(r0, r9) @ vA<- r0
3848 ldmia r3, {r0-r1} @ r0/r1<- vAA
3851 bl __aeabi_l2d @ r0/r1<- op, r2-r3 changed
3853 stmia r9, {r0-r1} @ vAA<- r0/r1
3876 GET_VREG(r0, r3) @ r0<- vB
3880 bl __aeabi_f2iz @ r0<- op, r0-r3 changed
3882 SET_VREG(r0, r9) @ vAA<- r0
3900 mov r4, r0
3902 cmp r0, #0 @ nonzero == yes
3903 mvnne r0, #0x80000000 @ return maxint (7fffffff)
3906 mov r0, r4 @ recover arg
3909 cmp r0, #0 @ nonzero == yes
3910 movne r0, #0x80000000 @ return minint (80000000)
3913 mov r0, r4 @ recover arg
3916 cmp r0, #0 @ zero == no
3919 mov r0, r4 @ recover arg
3942 GET_VREG(r0, r3) @ r0<- vB
3946 bl f2l_doconv @ r0<- op, r0-r3 changed
3948 stmia r9, {r0-r1} @ vA/vA+1<- r0/r1
3970 GET_VREG(r0, r3) @ r0<- vB
3974 bl __aeabi_f2d @ r0<- op, r0-r3 changed
3976 stmia r9, {r0-r1} @ vA/vA+1<- r0/r1
4002 ldmia r3, {r0-r1} @ r0/r1<- vB/vB+1
4005 bl __aeabi_d2iz @ r0<- op, r0-r3 changed
4007 SET_VREG(r0, r9) @ vA<- r0
4029 mov r4, r0 @ save a copy of r0
4032 cmp r0, #0 @ nonzero == yes
4033 mvnne r0, #0x80000000 @ return maxint (0x7fffffff)
4036 mov r0, r4 @ recover arg
4042 cmp r0, #0 @ nonzero == yes
4043 movne r0, #0x80000000 @ return minint (80000000)
4046 mov r0, r4 @ recover arg
4051 cmp r0, #0 @ zero == no
4054 mov r0, r4 @ recover arg
4083 ldmia r3, {r0-r1} @ r0/r1<- vAA
4086 bl d2l_doconv @ r0/r1<- op, r2-r3 changed
4088 stmia r9, {r0-r1} @ vAA<- r0/r1
4115 ldmia r3, {r0-r1} @ r0/r1<- vB/vB+1
4118 bl __aeabi_d2f @ r0<- op, r0-r3 changed
4120 SET_VREG(r0, r9) @ vA<- r0
4141 GET_VREG(r0, r3) @ r0<- vB
4143 mov r0, r0, asl #24 @ optional op; may set condition codes
4145 mov r0, r0, asr #24 @ r0<- op, r0-r3 changed
4147 SET_VREG(r0, r9) @ vAA<- r0
4168 GET_VREG(r0, r3) @ r0<- vB
4170 mov r0, r0, asl #16 @ optional op; may set condition codes
4172 mov r0, r0, lsr #16 @ r0<- op, r0-r3 changed
4174 SET_VREG(r0, r9) @ vAA<- r0
4195 GET_VREG(r0, r3) @ r0<- vB
4197 mov r0, r0, asl #16 @ optional op; may set condition codes
4199 mov r0, r0, asr #16 @ r0<- op, r0-r3 changed
4201 SET_VREG(r0, r9) @ vAA<- r0
4227 FETCH(r0, 1) @ r0<- CCBB
4229 mov r3, r0, lsr #8 @ r3<- CC
4230 and r2, r0, #255 @ r2<- BB
4232 GET_VREG(r0, r2) @ r0<- vBB
4240 add r0, r0, r1 @ r0<- op, r0-r3 changed
4242 SET_VREG(r0, r9) @ vAA<- r0
4269 FETCH(r0, 1) @ r0<- CCBB
4271 mov r3, r0, lsr #8 @ r3<- CC
4272 and r2, r0, #255 @ r2<- BB
4274 GET_VREG(r0, r2) @ r0<- vBB
4282 sub r0, r0, r1 @ r0<- op, r0-r3 changed
4284 SET_VREG(r0, r9) @ vAA<- r0
4312 FETCH(r0, 1) @ r0<- CCBB
4314 mov r3, r0, lsr #8 @ r3<- CC
4315 and r2, r0, #255 @ r2<- BB
4317 GET_VREG(r0, r2) @ r0<- vBB
4325 mul r0, r1, r0 @ r0<- op, r0-r3 changed
4327 SET_VREG(r0, r9) @ vAA<- r0
4354 FETCH(r0, 1) @ r0<- CCBB
4356 mov r3, r0, lsr #8 @ r3<- CC
4357 and r2, r0, #255 @ r2<- BB
4359 GET_VREG(r0, r2) @ r0<- vBB
4367 bl __aeabi_idiv @ r0<- op, r0-r3 changed
4369 SET_VREG(r0, r9) @ vAA<- r0
4397 FETCH(r0, 1) @ r0<- CCBB
4399 mov r3, r0, lsr #8 @ r3<- CC
4400 and r2, r0, #255 @ r2<- BB
4402 GET_VREG(r0, r2) @ r0<- vBB
4410 bl __aeabi_idivmod @ r1<- op, r0-r3 changed
4439 FETCH(r0, 1) @ r0<- CCBB
4441 mov r3, r0, lsr #8 @ r3<- CC
4442 and r2, r0, #255 @ r2<- BB
4444 GET_VREG(r0, r2) @ r0<- vBB
4452 and r0, r0, r1 @ r0<- op, r0-r3 changed
4454 SET_VREG(r0, r9) @ vAA<- r0
4481 FETCH(r0, 1) @ r0<- CCBB
4483 mov r3, r0, lsr #8 @ r3<- CC
4484 and r2, r0, #255 @ r2<- BB
4486 GET_VREG(r0, r2) @ r0<- vBB
4494 orr r0, r0, r1 @ r0<- op, r0-r3 changed
4496 SET_VREG(r0, r9) @ vAA<- r0
4523 FETCH(r0, 1) @ r0<- CCBB
4525 mov r3, r0, lsr #8 @ r3<- CC
4526 and r2, r0, #255 @ r2<- BB
4528 GET_VREG(r0, r2) @ r0<- vBB
4536 eor r0, r0, r1 @ r0<- op, r0-r3 changed
4538 SET_VREG(r0, r9) @ vAA<- r0
4565 FETCH(r0, 1) @ r0<- CCBB
4567 mov r3, r0, lsr #8 @ r3<- CC
4568 and r2, r0, #255 @ r2<- BB
4570 GET_VREG(r0, r2) @ r0<- vBB
4578 mov r0, r0, asl r1 @ r0<- op, r0-r3 changed
4580 SET_VREG(r0, r9) @ vAA<- r0
4607 FETCH(r0, 1) @ r0<- CCBB
4609 mov r3, r0, lsr #8 @ r3<- CC
4610 and r2, r0, #255 @ r2<- BB
4612 GET_VREG(r0, r2) @ r0<- vBB
4620 mov r0, r0, asr r1 @ r0<- op, r0-r3 changed
4622 SET_VREG(r0, r9) @ vAA<- r0
4649 FETCH(r0, 1) @ r0<- CCBB
4651 mov r3, r0, lsr #8 @ r3<- CC
4652 and r2, r0, #255 @ r2<- BB
4654 GET_VREG(r0, r2) @ r0<- vBB
4662 mov r0, r0, lsr r1 @ r0<- op, r0-r3 changed
4664 SET_VREG(r0, r9) @ vAA<- r0
4691 FETCH(r0, 1) @ r0<- CCBB
4693 and r2, r0, #255 @ r2<- BB
4694 mov r3, r0, lsr #8 @ r3<- CC
4698 ldmia r2, {r0-r1} @ r0/r1<- vBB/vBB+1
4706 adds r0, r0, r2 @ optional op; may set condition codes
4707 adc r1, r1, r3 @ result<- op, r0-r3 changed
4709 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
4736 FETCH(r0, 1) @ r0<- CCBB
4738 and r2, r0, #255 @ r2<- BB
4739 mov r3, r0, lsr #8 @ r3<- CC
4743 ldmia r2, {r0-r1} @ r0/r1<- vBB/vBB+1
4751 subs r0, r0, r2 @ optional op; may set condition codes
4752 sbc r1, r1, r3 @ result<- op, r0-r3 changed
4754 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
4783 FETCH(r0, 1) @ r0<- CCBB
4784 and r2, r0, #255 @ r2<- BB
4785 mov r3, r0, lsr #8 @ r3<- CC
4788 ldmia r2, {r0-r1} @ r0/r1<- vBB/vBB+1
4791 umull r9, r10, r2, r0 @ r9/r10 <- ZxX
4792 mla r2, r0, r3, ip @ r2<- YxX + (ZxW)
4793 mov r0, rINST, lsr #8 @ r0<- AA
4795 add r0, rFP, r0, lsl #2 @ r0<- &fp[AA]
4820 FETCH(r0, 1) @ r0<- CCBB
4822 and r2, r0, #255 @ r2<- BB
4823 mov r3, r0, lsr #8 @ r3<- CC
4827 ldmia r2, {r0-r1} @ r0/r1<- vBB/vBB+1
4836 bl __aeabi_ldivmod @ result<- op, r0-r3 changed
4838 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
4866 FETCH(r0, 1) @ r0<- CCBB
4868 and r2, r0, #255 @ r2<- BB
4869 mov r3, r0, lsr #8 @ r3<- CC
4873 ldmia r2, {r0-r1} @ r0/r1<- vBB/vBB+1
4882 bl __aeabi_ldivmod @ result<- op, r0-r3 changed
4911 FETCH(r0, 1) @ r0<- CCBB
4913 and r2, r0, #255 @ r2<- BB
4914 mov r3, r0, lsr #8 @ r3<- CC
4918 ldmia r2, {r0-r1} @ r0/r1<- vBB/vBB+1
4926 and r0, r0, r2 @ optional op; may set condition codes
4927 and r1, r1, r3 @ result<- op, r0-r3 changed
4929 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
4956 FETCH(r0, 1) @ r0<- CCBB
4958 and r2, r0, #255 @ r2<- BB
4959 mov r3, r0, lsr #8 @ r3<- CC
4963 ldmia r2, {r0-r1} @ r0/r1<- vBB/vBB+1
4971 orr r0, r0, r2 @ optional op; may set condition codes
4972 orr r1, r1, r3 @ result<- op, r0-r3 changed
4974 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
5001 FETCH(r0, 1) @ r0<- CCBB
5003 and r2, r0, #255 @ r2<- BB
5004 mov r3, r0, lsr #8 @ r3<- CC
5008 ldmia r2, {r0-r1} @ r0/r1<- vBB/vBB+1
5016 eor r0, r0, r2 @ optional op; may set condition codes
5017 eor r1, r1, r3 @ result<- op, r0-r3 changed
5019 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
5036 FETCH(r0, 1) @ r0<- CCBB
5038 and r3, r0, #255 @ r3<- BB
5039 mov r0, r0, lsr #8 @ r0<- CC
5041 GET_VREG(r2, r0) @ r2<- vCC
5042 ldmia r3, {r0-r1} @ r0/r1<- vBB/vBB+1
5048 orr r1, r1, r0, lsr r3 @ r1<- r1 | (r0 << (32-r2))
5050 movpl r1, r0, asl ip @ if r2 >= 32, r1<- r0 << (r2-32)
5065 FETCH(r0, 1) @ r0<- CCBB
5067 and r3, r0, #255 @ r3<- BB
5068 mov r0, r0, lsr #8 @ r0<- CC
5070 GET_VREG(r2, r0) @ r2<- vCC
5071 ldmia r3, {r0-r1} @ r0/r1<- vBB/vBB+1
5072 and r2, r2, #63 @ r0<- r0 & 0x3f
5075 mov r0, r0, lsr r2 @ r0<- r2 >> r2
5077 orr r0, r0, r1, asl r3 @ r0<- r0 | (r1 << (32-r2))
5079 movpl r0, r1, asr ip @ if r2 >= 32, r0<-r1 >> (r2-32)
5094 FETCH(r0, 1) @ r0<- CCBB
5096 and r3, r0, #255 @ r3<- BB
5097 mov r0, r0, lsr #8 @ r0<- CC
5099 GET_VREG(r2, r0) @ r2<- vCC
5100 ldmia r3, {r0-r1} @ r0/r1<- vBB/vBB+1
5101 and r2, r2, #63 @ r0<- r0 & 0x3f
5104 mov r0, r0, lsr r2 @ r0<- r2 >> r2
5106 orr r0, r0, r1, asl r3 @ r0<- r0 | (r1 << (32-r2))
5108 movpl r0, r1, lsr ip @ if r2 >= 32, r0<-r1 >>> (r2-32)
5133 FETCH(r0, 1) @ r0<- CCBB
5135 mov r3, r0, lsr #8 @ r3<- CC
5136 and r2, r0, #255 @ r2<- BB
5138 GET_VREG(r0, r2) @ r0<- vBB
5146 bl __aeabi_fadd @ r0<- op, r0-r3 changed
5148 SET_VREG(r0, r9) @ vAA<- r0
5175 FETCH(r0, 1) @ r0<- CCBB
5177 mov r3, r0, lsr #8 @ r3<- CC
5178 and r2, r0, #255 @ r2<- BB
5180 GET_VREG(r0, r2) @ r0<- vBB
5188 bl __aeabi_fsub @ r0<- op, r0-r3 changed
5190 SET_VREG(r0, r9) @ vAA<- r0
5217 FETCH(r0, 1) @ r0<- CCBB
5219 mov r3, r0, lsr #8 @ r3<- CC
5220 and r2, r0, #255 @ r2<- BB
5222 GET_VREG(r0, r2) @ r0<- vBB
5230 bl __aeabi_fmul @ r0<- op, r0-r3 changed
5232 SET_VREG(r0, r9) @ vAA<- r0
5259 FETCH(r0, 1) @ r0<- CCBB
5261 mov r3, r0, lsr #8 @ r3<- CC
5262 and r2, r0, #255 @ r2<- BB
5264 GET_VREG(r0, r2) @ r0<- vBB
5272 bl __aeabi_fdiv @ r0<- op, r0-r3 changed
5274 SET_VREG(r0, r9) @ vAA<- r0
5302 FETCH(r0, 1) @ r0<- CCBB
5304 mov r3, r0, lsr #8 @ r3<- CC
5305 and r2, r0, #255 @ r2<- BB
5307 GET_VREG(r0, r2) @ r0<- vBB
5315 bl fmodf @ r0<- op, r0-r3 changed
5317 SET_VREG(r0, r9) @ vAA<- r0
5344 FETCH(r0, 1) @ r0<- CCBB
5346 and r2, r0, #255 @ r2<- BB
5347 mov r3, r0, lsr #8 @ r3<- CC
5351 ldmia r2, {r0-r1} @ r0/r1<- vBB/vBB+1
5360 bl __aeabi_dadd @ result<- op, r0-r3 changed
5362 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
5389 FETCH(r0, 1) @ r0<- CCBB
5391 and r2, r0, #255 @ r2<- BB
5392 mov r3, r0, lsr #8 @ r3<- CC
5396 ldmia r2, {r0-r1} @ r0/r1<- vBB/vBB+1
5405 bl __aeabi_dsub @ result<- op, r0-r3 changed
5407 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
5434 FETCH(r0, 1) @ r0<- CCBB
5436 and r2, r0, #255 @ r2<- BB
5437 mov r3, r0, lsr #8 @ r3<- CC
5441 ldmia r2, {r0-r1} @ r0/r1<- vBB/vBB+1
5450 bl __aeabi_dmul @ result<- op, r0-r3 changed
5452 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
5479 FETCH(r0, 1) @ r0<- CCBB
5481 and r2, r0, #255 @ r2<- BB
5482 mov r3, r0, lsr #8 @ r3<- CC
5486 ldmia r2, {r0-r1} @ r0/r1<- vBB/vBB+1
5495 bl __aeabi_ddiv @ result<- op, r0-r3 changed
5497 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
5525 FETCH(r0, 1) @ r0<- CCBB
5527 and r2, r0, #255 @ r2<- BB
5528 mov r3, r0, lsr #8 @ r3<- CC
5532 ldmia r2, {r0-r1} @ r0/r1<- vBB/vBB+1
5541 bl fmod @ result<- op, r0-r3 changed
5543 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
5573 GET_VREG(r0, r9) @ r0<- vA
5581 add r0, r0, r1 @ r0<- op, r0-r3 changed
5583 SET_VREG(r0, r9) @ vAA<- r0
5613 GET_VREG(r0, r9) @ r0<- vA
5621 sub r0, r0, r1 @ r0<- op, r0-r3 changed
5623 SET_VREG(r0, r9) @ vAA<- r0
5654 GET_VREG(r0, r9) @ r0<- vA
5662 mul r0, r1, r0 @ r0<- op, r0-r3 changed
5664 SET_VREG(r0, r9) @ vAA<- r0
5694 GET_VREG(r0, r9) @ r0<- vA
5702 bl __aeabi_idiv @ r0<- op, r0-r3 changed
5704 SET_VREG(r0, r9) @ vAA<- r0
5735 GET_VREG(r0, r9) @ r0<- vA
5743 bl __aeabi_idivmod @ r1<- op, r0-r3 changed
5775 GET_VREG(r0, r9) @ r0<- vA
5783 and r0, r0, r1 @ r0<- op, r0-r3 changed
5785 SET_VREG(r0, r9) @ vAA<- r0
5815 GET_VREG(r0, r9) @ r0<- vA
5823 orr r0, r0, r1 @ r0<- op, r0-r3 changed
5825 SET_VREG(r0, r9) @ vAA<- r0
5855 GET_VREG(r0, r9) @ r0<- vA
5863 eor r0, r0, r1 @ r0<- op, r0-r3 changed
5865 SET_VREG(r0, r9) @ vAA<- r0
5895 GET_VREG(r0, r9) @ r0<- vA
5903 mov r0, r0, asl r1 @ r0<- op, r0-r3 changed
5905 SET_VREG(r0, r9) @ vAA<- r0
5935 GET_VREG(r0, r9) @ r0<- vA
5943 mov r0, r0, asr r1 @ r0<- op, r0-r3 changed
5945 SET_VREG(r0, r9) @ vAA<- r0
5975 GET_VREG(r0, r9) @ r0<- vA
5983 mov r0, r0, lsr r1 @ r0<- op, r0-r3 changed
5985 SET_VREG(r0, r9) @ vAA<- r0
6017 ldmia r9, {r0-r1} @ r0/r1<- vAA/vAA+1
6024 adds r0, r0, r2 @ optional op; may set condition codes
6025 adc r1, r1, r3 @ result<- op, r0-r3 changed
6027 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
6059 ldmia r9, {r0-r1} @ r0/r1<- vAA/vAA+1
6066 subs r0, r0, r2 @ optional op; may set condition codes
6067 sbc r1, r1, r3 @ result<- op, r0-r3 changed
6069 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
6094 ldmia rINST, {r0-r1} @ r0/r1<- vAA/vAA+1
6096 umull r9, r10, r2, r0 @ r9/r10 <- ZxX
6097 mla r2, r0, r3, ip @ r2<- YxX + (ZxW)
6098 mov r0, rINST @ r0<- &fp[A] (free up rINST)
6102 stmia r0, {r9-r10} @ vAA/vAA+1<- r9/r10
6132 ldmia r9, {r0-r1} @ r0/r1<- vAA/vAA+1
6140 bl __aeabi_ldivmod @ result<- op, r0-r3 changed
6142 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
6175 ldmia r9, {r0-r1} @ r0/r1<- vAA/vAA+1
6183 bl __aeabi_ldivmod @ result<- op, r0-r3 changed
6217 ldmia r9, {r0-r1} @ r0/r1<- vAA/vAA+1
6224 and r0, r0, r2 @ optional op; may set condition codes
6225 and r1, r1, r3 @ result<- op, r0-r3 changed
6227 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
6259 ldmia r9, {r0-r1} @ r0/r1<- vAA/vAA+1
6266 orr r0, r0, r2 @ optional op; may set condition codes
6267 orr r1, r1, r3 @ result<- op, r0-r3 changed
6269 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
6301 ldmia r9, {r0-r1} @ r0/r1<- vAA/vAA+1
6308 eor r0, r0, r2 @ optional op; may set condition codes
6309 eor r1, r1, r3 @ result<- op, r0-r3 changed
6311 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
6332 ldmia r9, {r0-r1} @ r0/r1<- vAA/vAA+1
6336 orr r1, r1, r0, lsr r3 @ r1<- r1 | (r0 << (32-r2))
6339 movpl r1, r0, asl ip @ if r2 >= 32, r1<- r0 << (r2-32)
6340 mov r0, r0, asl r2 @ r0<- r0 << r2
6358 ldmia r9, {r0-r1} @ r0/r1<- vAA/vAA+1
6360 mov r0, r0, lsr r2 @ r0<- r2 >> r2
6362 orr r0, r0, r1, asl r3 @ r0<- r0 | (r1 << (32-r2))
6365 movpl r0, r1, asr ip @ if r2 >= 32, r0<-r1 >> (r2-32)
6384 ldmia r9, {r0-r1} @ r0/r1<- vAA/vAA+1
6386 mov r0, r0, lsr r2 @ r0<- r2 >> r2
6388 orr r0, r0, r1, asl r3 @ r0<- r0 | (r1 << (32-r2))
6391 movpl r0, r1, lsr ip @ if r2 >= 32, r0<-r1 >>> (r2-32)
6419 GET_VREG(r0, r9) @ r0<- vA
6427 bl __aeabi_fadd @ r0<- op, r0-r3 changed
6429 SET_VREG(r0, r9) @ vAA<- r0
6459 GET_VREG(r0, r9) @ r0<- vA
6467 bl __aeabi_fsub @ r0<- op, r0-r3 changed
6469 SET_VREG(r0, r9) @ vAA<- r0
6499 GET_VREG(r0, r9) @ r0<- vA
6507 bl __aeabi_fmul @ r0<- op, r0-r3 changed
6509 SET_VREG(r0, r9) @ vAA<- r0
6539 GET_VREG(r0, r9) @ r0<- vA
6547 bl __aeabi_fdiv @ r0<- op, r0-r3 changed
6549 SET_VREG(r0, r9) @ vAA<- r0
6580 GET_VREG(r0, r9) @ r0<- vA
6588 bl fmodf @ r0<- op, r0-r3 changed
6590 SET_VREG(r0, r9) @ vAA<- r0
6622 ldmia r9, {r0-r1} @ r0/r1<- vAA/vAA+1
6630 bl __aeabi_dadd @ result<- op, r0-r3 changed
6632 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
6664 ldmia r9, {r0-r1} @ r0/r1<- vAA/vAA+1
6672 bl __aeabi_dsub @ result<- op, r0-r3 changed
6674 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
6706 ldmia r9, {r0-r1} @ r0/r1<- vAA/vAA+1
6714 bl __aeabi_dmul @ result<- op, r0-r3 changed
6716 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
6748 ldmia r9, {r0-r1} @ r0/r1<- vAA/vAA+1
6756 bl __aeabi_ddiv @ result<- op, r0-r3 changed
6758 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
6791 ldmia r9, {r0-r1} @ r0/r1<- vAA/vAA+1
6799 bl fmod @ result<- op, r0-r3 changed
6801 stmia r9, {r0,r1} @ vAA/vAA+1<- r0/r1
6828 GET_VREG(r0, r2) @ r0<- vB
6836 add r0, r0, r1 @ r0<- op, r0-r3 changed
6838 SET_VREG(r0, r9) @ vAA<- r0
6866 GET_VREG(r0, r2) @ r0<- vB
6874 rsb r0, r0, r1 @ r0<- op, r0-r3 changed
6876 SET_VREG(r0, r9) @ vAA<- r0
6904 GET_VREG(r0, r2) @ r0<- vB
6912 mul r0, r1, r0 @ r0<- op, r0-r3 changed
6914 SET_VREG(r0, r9) @ vAA<- r0
6941 GET_VREG(r0, r2) @ r0<- vB
6949 bl __aeabi_idiv @ r0<- op, r0-r3 changed
6951 SET_VREG(r0, r9) @ vAA<- r0
6979 GET_VREG(r0, r2) @ r0<- vB
6987 bl __aeabi_idivmod @ r1<- op, r0-r3 changed
7016 GET_VREG(r0, r2) @ r0<- vB
7024 and r0, r0, r1 @ r0<- op, r0-r3 changed
7026 SET_VREG(r0, r9) @ vAA<- r0
7053 GET_VREG(r0, r2) @ r0<- vB
7061 orr r0, r0, r1 @ r0<- op, r0-r3 changed
7063 SET_VREG(r0, r9) @ vAA<- r0
7090 GET_VREG(r0, r2) @ r0<- vB
7098 eor r0, r0, r1 @ r0<- op, r0-r3 changed
7100 SET_VREG(r0, r9) @ vAA<- r0
7128 GET_VREG(r0, r2) @ r0<- vBB
7137 add r0, r0, r1 @ r0<- op, r0-r3 changed
7139 SET_VREG(r0, r9) @ vAA<- r0
7167 GET_VREG(r0, r2) @ r0<- vBB
7176 rsb r0, r0, r1 @ r0<- op, r0-r3 changed
7178 SET_VREG(r0, r9) @ vAA<- r0
7207 GET_VREG(r0, r2) @ r0<- vBB
7216 mul r0, r1, r0 @ r0<- op, r0-r3 changed
7218 SET_VREG(r0, r9) @ vAA<- r0
7246 GET_VREG(r0, r2) @ r0<- vBB
7255 bl __aeabi_idiv @ r0<- op, r0-r3 changed
7257 SET_VREG(r0, r9) @ vAA<- r0
7286 GET_VREG(r0, r2) @ r0<- vBB
7295 bl __aeabi_idivmod @ r1<- op, r0-r3 changed
7325 GET_VREG(r0, r2) @ r0<- vBB
7334 and r0, r0, r1 @ r0<- op, r0-r3 changed
7336 SET_VREG(r0, r9) @ vAA<- r0
7364 GET_VREG(r0, r2) @ r0<- vBB
7373 orr r0, r0, r1 @ r0<- op, r0-r3 changed
7375 SET_VREG(r0, r9) @ vAA<- r0
7403 GET_VREG(r0, r2) @ r0<- vBB
7412 eor r0, r0, r1 @ r0<- op, r0-r3 changed
7414 SET_VREG(r0, r9) @ vAA<- r0
7442 GET_VREG(r0, r2) @ r0<- vBB
7451 mov r0, r0, asl r1 @ r0<- op, r0-r3 changed
7453 SET_VREG(r0, r9) @ vAA<- r0
7481 GET_VREG(r0, r2) @ r0<- vBB
7490 mov r0, r0, asr r1 @ r0<- op, r0-r3 changed
7492 SET_VREG(r0, r9) @ vAA<- r0
7520 GET_VREG(r0, r2) @ r0<- vBB
7529 mov r0, r0, lsr r1 @ r0<- op, r0-r3 changed
7531 SET_VREG(r0, r9) @ vAA<- r0
7637 ldr r0, [rGLUE, #offGlue_method] @ r0<- glue->method
7663 mov r0, rINST, lsr #12 @ r0<- B
7667 cmp r0, #0 @ test boolean result of inline
7734 ldmia r9, {r0-r1} @ r0/r1<- obj.field (64 bits, aligned)
7739 stmia r3, {r0-r1} @ fp[A]<- r0/r1
8225 bl dvmAllocArrayByClass @ r0<- call(clazz, length, flags)
8226 cmp r0, #0 @ failed?
8232 SET_VREG(r0, r2) @ vA<- r0
8244 ldr r3, [r0, #offClassObject_descriptor] @ r3<- arrayClass->descriptor
8257 bl dvmAllocArrayByClass @ r0<- call(arClass, length, flags)
8258 cmp r0, #0 @ null return?
8262 str r0, [rGLUE, #offGlue_retval] @ retval.l <- new array
8263 add r0, r0, #offArrayObject_contents @ r0<- newArray->contents
8269 @ r0=array, r1=CCCC/FEDC, r9=length (from AA or B), r10=AA/BA
8274 str r3, [r0], #4 @ *contents++ = vX
8283 str r3, [r0, #16] @ contents[4] = vA
8288 str r3, [r0], #4 @ *contents++ = vX
8302 ldr r0, .L_strInternalError
8323 ldr r3, [r0, #offClassObject_descriptor] @ r3<- arrayClass->descriptor
8336 bl dvmAllocArrayByClass @ r0<- call(arClass, length, flags)
8337 cmp r0, #0 @ null return?
8341 str r0, [rGLUE, #offGlue_retval] @ retval.l <- new array
8342 add r0, r0, #offArrayObject_contents @ r0<- newArray->contents
8348 @ r0=array, r1=CCCC/FEDC, r9=length (from AA or B), r10=AA/BA
8353 str r3, [r0], #4 @ *contents++ = vX
8362 str r3, [r0, #16] @ contents[4] = vA
8367 str r3, [r0], #4 @ *contents++ = vX
8381 ldr r0, .L_strInternalError
8465 mov r0, r10
8466 bl __aeabi_cfcmple @ r0<- Z set if eq, C clear if <
8475 FETCH(r0, 1) @ r0<- CCBB
8476 and r2, r0, #255 @ r2<- BB
8477 mov r3, r0, lsr #8 @ r3<- CC
8480 mov r0, r9 @ r0<- vBB
8482 bl __aeabi_fcmpeq @ r0<- (vBB == vCC)
8483 cmp r0, #0 @ equal?
8486 mov r0, r9 @ r0<- vBB
8488 bl __aeabi_fcmplt @ r0<- (vBB < vCC)
8489 cmp r0, #0 @ less than?
8496 mov r0, r9 @ r0<- vBB
8498 bl __aeabi_fcmpgt @ r0<- (vBB > vCC)
8499 cmp r0, #0 @ greater than?
8544 ldmia r10, {r0-r1} @ reverse order
8546 bl __aeabi_cdcmple @ r0<- Z set if eq, C clear if <
9295 mov r4, r0
9297 cmp r0, #0 @ nonzero == yes
9298 mvnne r0, #0 @ return maxlong (7fffffff)
9302 mov r0, r4 @ recover arg
9305 cmp r0, #0 @ nonzero == yes
9306 movne r0, #0 @ return minlong (80000000)
9310 mov r0, r4 @ recover arg
9313 cmp r0, #0 @ zero == no
9317 mov r0, r4 @ recover arg
9336 mov r4, r0 @ save a copy of r0
9339 cmp r0, #0 @ nonzero == yes
9340 mvnne r0, #0 @ return maxlong (7fffffffffffffff)
9344 mov r0, r4 @ recover arg
9350 cmp r0, #0 @ nonzero == yes
9351 movne r0, #0 @ return minlong (8000000000000000)
9355 mov r0, r4 @ recover arg
9360 cmp r0, #0 @ zero == no
9364 mov r0, r4 @ recover arg
9377 stmia r0, {r9-r10} @ vAA/vAA+1<- r9/r10
9384 mov r0, r0, asl r2 @ r0<- r0 << r2
9386 stmia r9, {r0-r1} @ vAA/vAA+1<- r0/r1
9395 stmia r9, {r0-r1} @ vAA/vAA+1<- r0/r1
9404 stmia r9, {r0-r1} @ vAA/vAA+1<- r0/r1
9412 stmia r9, {r0-r1} @ vAA/vAA+1<- r0/r1
9420 stmia r9, {r0-r1} @ vAA/vAA+1<- r0/r1
9428 stmia r9, {r0-r1} @ vAA/vAA+1<- r0/r1
9447 rsb r0, r0, #4 @ r0<- 4-r0
9449 add pc, pc, r0, lsl #3 @ computed goto, 2 instrs each
9458 ldr r0, [rFP, ip, lsl #2] @ r0<- vC
9495 mov rPC, r0
9497 mov r0,lr
9520 mov rPC,r0
9538 mov r0,rPC
9540 cmp r0,#0
9543 bl dvmJitChain @ r0<- dvmJitChain(codeAddr,chainAddr)
9544 cmp r0,#0 @ successful chain?
9545 bxne r0 @ continue native execution
9551 GET_JIT_PROF_TABLE(r0)
9553 cmp r0, #0
9579 mov r0,rPC
9581 cmp r0,#0
9584 bl dvmJitChain @ r0<- dvmJitChain(codeAddr,chainAddr)
9585 cmp r0,#0 @ successful chain?
9586 bxne r0 @ continue native execution
9598 mov r0,rPC
9600 cmp r0,#0
9601 bxne r0 @ continue native execution if so
9613 GET_JIT_PROF_TABLE(r0)
9623 cmp r0,#0
9630 ldrb r1,[r0,r3,lsr #23] @ get counter
9633 strb r1,[r0,r3,lsr #23] @ and store it
9643 strb r1,[r0,r3,lsr #23] @ reset counter
9645 mov r0,rPC
9646 bl dvmJitGetCodeAddr @ r0<- dvmJitGetCodeAddr(rPC)
9647 cmp r0,#0
9649 bxne r0 @ jump to the translation
9665 mov r0, #kInterpEntryInstr
9668 GET_JIT_PROF_TABLE(r0)
9670 cmp r0,#0
9731 ldr r0, [rGLUE, #offGlue_self] @ r0<- glue->self
9737 str r0, [rGLUE, #offGlue_entryPoint]
9753 mov r0, rGLUE @ r0<- glue ptr
9757 @add r0, rGLUE, #offGlue_jmpBuf @ r0<- &glue->jmpBuf
9776 @ r0=methodToCall, r1=CCCC, r2=count, r10=outs
9780 ldrh r9, [r0, #offMethod_registersSize] @ r9<- methodToCall->regsSize
9785 ldrh r3, [r0, #offMethod_outsSize] @ r3<- methodToCall->outsSize
9800 ldrh r9, [r0, #offMethod_registersSize] @ r9<- methodToCall->regsSize
9801 ldrh r3, [r0, #offMethod_outsSize] @ r3<- methodToCall->outsSize
9804 @ r0=methodToCall, r1=GFED, r3=outSize, r2=count, r9=regSize, r10=outs
9811 mov r0, r0 @ nop
9815 mov r0, r0 @ nop
9819 mov r0, r0 @ nop
9823 mov r0, r0 @ nop
9827 mov r0, r0 @ nop
9831 .LinvokeArgsDone: @ r0=methodToCall, r3=outSize, r9=regSize
9832 ldr r2, [r0, #offMethod_insns] @ r2<- method->insns
9833 ldr rINST, [r0, #offMethod_clazz] @ rINST<- method->clazz
9842 ldr r3, [r0, #offMethod_accessFlags] @ r3<- methodToCall->accessFlags
9856 str r0, [r10, #offStackSaveArea_method]
9881 @ r0=methodToCall, r1=newFp, r2=self, r3=newMethodClass, r9=newINST
9882 str r0, [rGLUE, #offGlue_method] @ glue->method = methodToCall
9885 GET_JIT_PROF_TABLE(r0)
9890 cmp r0,#0
9903 @ r0=methodToCall, r1=newFp, r10=newSaveArea
9910 mov r2, r0 @ r2<- methodToCall
9911 mov r0, r1 @ r0<- newFp (points to args)
9931 ldr r0, [r10, #offStackSaveArea_localRefCookie] @ r0<- saved top
9935 str r0, [r9, #offThread_jniLocal_topCookie] @ new top <- old top
9943 ldr r0, [rGLUE, #offGlue_self] @ r0<- self
9966 mov r2, r0 @ A2<- methodToCall
9967 mov r0, rGLUE @ A0<- glue
9986 mov r0, #kInterpEntryReturn
9990 SAVEAREA_FROM_FP(r0, rFP) @ r0<- saveArea (old)
9991 ldr rFP, [r0, #offStackSaveArea_prevFrame] @ fp = saveArea->prevFrame
9992 ldr r9, [r0, #offStackSaveArea_savedPc] @ r9 = saveArea->savedPc
10072 mov r0, r10 @ r0<- self
10085 mov rFP, r0 @ save relPc result in rFP
10086 mov r0, r10 @ r0<- self
10088 mov r0, rFP @ restore result
10093 cmp r0, #0 @ is catchRelPc < 0?
10104 add rPC, r3, r0, asl #1 @ rPC<- method->insns + catchRelPc
10108 mov r0, r9 @ r0<- exception
10123 movne r0, r10 @ if yes: r0<- self
10131 ldr r0, [rGLUE, #offGlue_method]
10132 ldr r1, [r0, #offMethod_insns]
10136 str r0, [sp, #-4]!
10138 ldr r0, [rGLUE, #offGlue_method]
10140 str r0, [sp, #-4]!
10147 mov r0, #3 @ LOG_DEBUG
10151 mov r0, r9 @ r0<- exception
10164 mov r0, rGLUE @ arg to function
10185 ldr r0, strArrayIndexException
10195 ldr r0, strArrayStoreException
10205 ldr r0, strArithmeticException
10215 ldr r0, strNegativeArraySizeException
10225 ldr r0, strNoSuchMethodError
10237 ldr r0, strNullPointerException
10258 stmfd sp!, {r0, r1, r2, r3, ip, lr}
10259 ldr r0, strSqueak
10262 ldmfd sp!, {r0, r1, r2, r3, ip, lr}
10277 stmfd sp!, {r0, r1, r2, r3, ip, lr}
10278 mov r1, r0
10279 ldr r0, strSqueak
10281 ldmfd sp!, {r0, r1, r2, r3, ip, lr}
10288 stmfd sp!, {r0, r1, r2, r3, ip, lr}
10289 ldr r0, strNewline
10291 ldmfd sp!, {r0, r1, r2, r3, ip, lr}
10298 stmfd sp!, {r0, r1, r2, r3, ip, lr}
10299 mov r1, r0
10300 ldr r0, strPrintHex
10302 ldmfd sp!, {r0, r1, r2, r3, ip, lr}
10309 stmfd sp!, {r0, r1, r2, r3, ip, lr}
10311 mov r2, r0
10312 ldr r0, strPrintLong
10314 ldmfd sp!, {r0, r1, r2, r3, ip, lr}
10321 stmfd sp!, {r0, r1, r2, r3, ip, lr}
10323 ldmfd sp!, {r0, r1, r2, r3, ip, lr}
10332 stmfd sp!, {r0, r1, r2, r3, ip, lr}
10334 ldmfd sp!, {r0, r1, r2, r3, ip, lr}
10347 and r0, r0, r1 @ make sure no stray bits are set
10351 orr r2, r2, r0 @ set specified bits
10353 mov r0, r2 @ return new value
10364 mov r0, #0x03000000 @ r0<- 0x03000000
10365 add r1, r0, #0x9f00 @ r1<- 0x03009f00