Home | History | Annotate | Download | only in x86_64
      1 /*
      2  * Array object get.  vAA <- vBB[vCC].
      3  *
      4  * for: aget-object
      5  */
      6     /* op vAA, vBB, vCC */
      7     movzbq  2(rPC), %rax                    # rax <- BB
      8     movzbq  3(rPC), %rcx                    # rcx <- CC
      9     GET_VREG OUT_32_ARG0, %rax              # eax <- vBB (array object)
     10     GET_VREG OUT_32_ARG1, %rcx              # ecx <- vCC (requested index)
     11     EXPORT_PC
     12     call    SYMBOL(artAGetObjectFromMterp)  # (array, index)
     13     movq    rSELF, %rcx
     14     cmpq    $$0, THREAD_EXCEPTION_OFFSET(%rcx)
     15     jnz     MterpException
     16     SET_VREG_OBJECT %eax, rINSTq
     17     ADVANCE_PC_FETCH_AND_GOTO_NEXT 2
     18