1 /* 2 * This handler transfers control to the interpeter without performing 3 * any lookups. It may be called either as part of a normal chaining 4 * operation, or from the transition code in header.S. We distinquish 5 * the two cases by looking at the link register. If called from a 6 * translation chain, it will point to the chaining Dalvik PC -3. 7 * On entry: 8 * lr - if NULL: 9 * r1 - the Dalvik PC to begin interpretation. 10 * else 11 * [lr, #3] contains Dalvik PC to begin interpretation 12 * rSELF - pointer to thread 13 * rFP - Dalvik frame pointer 14 */ 15 cmp lr, #0 16 #if defined(WORKAROUND_CORTEX_A9_745320) 17 /* Don't use conditional loads if the HW defect exists */ 18 beq 101f 19 ldr r1,[lr, #3] 20 101: 21 #else 22 ldrne r1,[lr, #3] 23 #endif 24 ldr r2, .LinterpPunt 25 mov r0, r1 @ set Dalvik PC 26 bx r2 27 @ doesn't return 28 29 .LinterpPunt: 30 .word dvmJitToInterpPunt 31