17c58bd41046bb9f87642caa0c2b094dc98be29caBill Buzbee/*
27c58bd41046bb9f87642caa0c2b094dc98be29caBill Buzbee * SGET_WIDE handler wrapper.
37c58bd41046bb9f87642caa0c2b094dc98be29caBill Buzbee *
47c58bd41046bb9f87642caa0c2b094dc98be29caBill Buzbee */
57c58bd41046bb9f87642caa0c2b094dc98be29caBill Buzbee    /* sget-wide vAA, field@BBBB */
67c58bd41046bb9f87642caa0c2b094dc98be29caBill Buzbee    .extern artGet64StaticFromCode
77c58bd41046bb9f87642caa0c2b094dc98be29caBill Buzbee    EXPORT_PC
87c58bd41046bb9f87642caa0c2b094dc98be29caBill Buzbee    movzwl  2(rPC), %eax
97c58bd41046bb9f87642caa0c2b094dc98be29caBill Buzbee    movl    %eax, OUT_ARG0(%esp)            # field ref CCCC
107c58bd41046bb9f87642caa0c2b094dc98be29caBill Buzbee    movl    OFF_FP_METHOD(rFP), %eax
117c58bd41046bb9f87642caa0c2b094dc98be29caBill Buzbee    movl    %eax, OUT_ARG1(%esp)            # referrer
127c58bd41046bb9f87642caa0c2b094dc98be29caBill Buzbee    movl    rSELF, %ecx
137c58bd41046bb9f87642caa0c2b094dc98be29caBill Buzbee    movl    %ecx, OUT_ARG2(%esp)            # self
1405dfaaa8d1783bcf8fe603dd8ed260a939e846c0Serguei Katkov    call    SYMBOL(artGet64StaticFromCode)
157c58bd41046bb9f87642caa0c2b094dc98be29caBill Buzbee    movl    rSELF, %ecx
167c58bd41046bb9f87642caa0c2b094dc98be29caBill Buzbee    cmpl    $$0, THREAD_EXCEPTION_OFFSET(%ecx)
177c58bd41046bb9f87642caa0c2b094dc98be29caBill Buzbee    jnz     MterpException
1805dfaaa8d1783bcf8fe603dd8ed260a939e846c0Serguei Katkov    SET_VREG %eax, rINST                    # fp[A]<- low part
1905dfaaa8d1783bcf8fe603dd8ed260a939e846c0Serguei Katkov    SET_VREG_HIGH %edx, rINST               # fp[A+1]<- high part
20ff8579efb24457bb2f2b451a4e735b8bc4d0200cSerguei Katkov    RESTORE_IBASE_FROM_SELF %ecx
217c58bd41046bb9f87642caa0c2b094dc98be29caBill Buzbee    ADVANCE_PC_FETCH_AND_GOTO_NEXT 2
22