Home | History | Annotate | Download | only in armv5te
      1 %verify "executed"
      2 %verify "unknown method"
      3 %verify "null object"
      4     /*
      5      * Handle an interface method call.
      6      */
      7     /* invoke-interface/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
      8     FETCH(r2, 4)                        @ r2<- CCCC
      9     FETCH(r0, 1)                        @ r0<- aaaa (lo)
     10     FETCH(r1, 2)                        @ r1<- AAAA (hi)
     11     EXPORT_PC()                         @ must export for invoke
     12     orr     r1, r0, r1, lsl #16         @ r1<- AAAAaaaa
     13     GET_VREG(r9, r2)                    @ r9<- first arg ("this")
     14     ldr     r3, [rSELF, #offThread_methodClassDex]    @ r3<- methodClassDex
     15     cmp     r9, #0                      @ null obj?
     16     ldr     r2, [rSELF, #offThread_method]  @ r2<- method
     17     beq     common_errNullObject        @ yes, fail
     18     ldr     r0, [r9, #offObject_clazz]  @ r0<- thisPtr->clazz
     19     bl      dvmFindInterfaceMethodInCache @ r0<- call(class, ref, method, dex)
     20     cmp     r0, #0                      @ failed?
     21     beq     common_exceptionThrown      @ yes, handle exception
     22     b       common_invokeMethodJumbo    @ (r0=method, r9="this")
     23