Home | History | Annotate | Download | only in armv5te-vfp
      1 #if defined(WITH_SELF_VERIFICATION)
      2     /*
      3      * This handler encapsulates heap memory ops for selfVerification mode.
      4      *
      5      * The call to the handler is inserted prior to a heap memory operation.
      6      * This handler then calls a function to decode the memory op, and process
      7      * it accordingly. Afterwards, the handler changes the return address to
      8      * skip the memory op so it never gets executed.
      9      */
     10     vpush   {d0-d15}                    @ save out all fp registers
     11     push    {r0-r12,lr}                 @ save out all registers
     12     ldr     r2, .LdvmSelfVerificationMemOpDecode @ defined in footer.S
     13     mov     r0, lr                      @ arg0 <- link register
     14     mov     r1, sp                      @ arg1 <- stack pointer
     15     blx     r2                          @ decode and handle the mem op
     16     pop     {r0-r12,lr}                 @ restore all registers
     17     vpop    {d0-d15}                    @ restore all fp registers
     18     bx      lr                          @ return to compiled code
     19 #endif
     20