5 // save callee saved regs
13 mov %rdi, %rax // first arg goes to rax for vm*
14 push %rsi // store pointer to register struct
21 // restore guest GP regs
40 // rax used as implicit operand for vm* instructions
46 mov 8(%rsp), %rsi // get previously saved register struct pointer
71 // restore callee saved registers