Home | History | Annotate | Download | only in arm64
      1     /*
      2      * Return a 64-bit value.
      3      */
      4     /* return-wide vAA */
      5     /* op vAA */
      6     .extern MterpThreadFenceForConstructor
      7     bl      MterpThreadFenceForConstructor
      8     ldr     w7, [xSELF, #THREAD_FLAGS_OFFSET]
      9     mov     x0, xSELF
     10     ands    w7, w7, #THREAD_SUSPEND_OR_CHECKPOINT_REQUEST
     11     b.ne    .L${opcode}_check
     12 .L${opcode}_return:
     13     lsr     w2, wINST, #8               // w2<- AA
     14     GET_VREG_WIDE x0, w2                // x0<- vAA
     15     b       MterpReturn
     16 .L${opcode}_check:
     17     bl      MterpSuspendCheck           // (self)
     18     b       .L${opcode}_return
     19