• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1    /*
2     * Return a 64-bit value.
3     */
4    /* return-wide vAA */
5    .extern MterpThreadFenceForConstructor
6    bl      MterpThreadFenceForConstructor
7    ldr     lr, [rSELF, #THREAD_FLAGS_OFFSET]
8    mov     r0, rSELF
9    ands    lr, #(THREAD_SUSPEND_REQUEST | THREAD_CHECKPOINT_REQUEST)
10    blne    MterpSuspendCheck                       @ (self)
11    mov     r2, rINST, lsr #8           @ r2<- AA
12    VREG_INDEX_TO_ADDR r2, r2           @ r2<- &fp[AA]
13    ldmia   r2, {r0-r1}                 @ r0/r1 <- vAA/vAA+1
14    b       MterpReturn
15