Home | History | Annotate | Download | only in x86
      1 %verify "executed"
      2 %verify "unknown method"
      3     /*
      4      * Handle a jumbo static method call.
      5      */
      6     /* invoke-static/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
      7     movl      rSELF,%ecx
      8     movl      2(rPC),%eax               # eax<- AAAAAAAA
      9     movl      offThread_methodClassDex(%ecx),%ecx # ecx<- pDvmDex
     10     EXPORT_PC
     11     movl      offDvmDex_pResMethods(%ecx),%ecx  # ecx<- pDvmDex->pResMethods
     12     movl      (%ecx,%eax,4),%eax        # eax<- resolved methodToCall
     13     testl     %eax,%eax
     14     jne       common_invokeMethodJumbo
     15     movl      rSELF,%ecx
     16     movl      offThread_method(%ecx),%ecx # ecx<- self->method
     17     movl      2(rPC),%eax               # eax<- AAAAAAAA
     18     movl      offMethod_clazz(%ecx),%ecx# ecx<- method->clazz
     19     movl      %eax,OUT_ARG1(%esp)       # arg1<- AAAAAAAA
     20     movl      %ecx,OUT_ARG0(%esp)       # arg0<- clazz
     21     movl      $$METHOD_STATIC,%eax
     22     movl      %eax,OUT_ARG2(%esp)       # arg2<- flags
     23     call      dvmResolveMethod          # call(clazz,ref,flags)
     24     testl     %eax,%eax                 # got null?
     25     jne       common_invokeMethodJumbo
     26     jmp       common_exceptionThrown
     27