Home | History | Annotate | Download | only in x86
      1     /* For: iget-object-quick */
      2     /* op vA, vB, offset@CCCC */
      3     movzbl  rINSTbl, %ecx                   # ecx <- BA
      4     sarl    $$4, %ecx                       # ecx <- B
      5     GET_VREG %ecx, %ecx                     # vB (object we're operating on)
      6     movzwl  2(rPC), %eax                    # eax <- field byte offset
      7     movl    %ecx, OUT_ARG0(%esp)
      8     movl    %eax, OUT_ARG1(%esp)
      9     EXPORT_PC
     10     call    SYMBOL(artIGetObjectFromMterp)  # (obj, offset)
     11     movl    rSELF, %ecx
     12     RESTORE_IBASE_FROM_SELF %ecx
     13     cmpl    $$0, THREAD_EXCEPTION_OFFSET(%ecx)
     14     jnz     MterpException                  # bail out
     15     andb    $$0xf,rINSTbl                   # rINST <- A
     16     SET_VREG_OBJECT %eax, rINST             # fp[A] <- value
     17     ADVANCE_PC_FETCH_AND_GOTO_NEXT 2
     18