• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Return a 64-bit value.
3 */
4    /* return-wide vAA */
5    .extern MterpThreadFenceForConstructor
6    call    SYMBOL(MterpThreadFenceForConstructor)
7    movl    rSELF, %eax
8    testl   $$(THREAD_SUSPEND_REQUEST | THREAD_CHECKPOINT_REQUEST), THREAD_FLAGS_OFFSET(%eax)
9    jz      1f
10    movl    %eax, OUT_ARG0(%esp)
11    call    SYMBOL(MterpSuspendCheck)
121:
13    GET_VREG %eax, rINST                    # eax <- v[AA+0]
14    GET_VREG_HIGH %ecx, rINST               # ecx <- v[AA+1]
15    jmp     MterpReturn
16