Home | History | Annotate | Download | only in x86_64
      1     /* For: iget-object-quick */
      2     /* op vA, vB, offset@CCCC */
      3     .extern artIGetObjectFromMterp
      4     movzbq  rINSTbl, %rcx                   # rcx <- BA
      5     sarl    $$4, %ecx                       # ecx <- B
      6     GET_VREG OUT_32_ARG0, %rcx              # vB (object we're operating on)
      7     movzwl  2(rPC), OUT_32_ARG1             # eax <- field byte offset
      8     EXPORT_PC
      9     callq   SYMBOL(artIGetObjectFromMterp)  # (obj, offset)
     10     movq    rSELF, %rcx
     11     cmpq    $$0, THREAD_EXCEPTION_OFFSET(%rcx)
     12     jnz     MterpException                  # bail out
     13     andb    $$0xf, rINSTbl                  # rINST <- A
     14     SET_VREG_OBJECT %eax, rINSTq            # fp[A] <- value
     15     ADVANCE_PC_FETCH_AND_GOTO_NEXT 2
     16