Lines Matching full:rsp
55 # Win64 prologue copies %rsp value to %rax. For further details
150 $epilogue = "movq 8(%rsp),%rdi\n\t" .
151 "movq 16(%rsp),%rsi\n\t";
164 $self->{op} = "mov rdi,QWORD${PTR}[8+rsp]\t;WIN64 epilogue\n\t".
165 "mov rsi,QWORD${PTR}[16+rsp]\n\t";
351 $func .= " movq %rdi,8(%rsp)\n";
352 $func .= " movq %rsi,16(%rsp)\n";
353 $func .= " movq %rsp,%rax\n";
361 $func .= " movq 40(%rsp),%r8\n" if ($narg>4);
362 $func .= " movq 48(%rsp),%r9\n" if ($narg>5);
372 $func .= " mov QWORD${PTR}[8+rsp],rdi\t;WIN64 prologue\n";
373 $func .= " mov QWORD${PTR}[16+rsp],rsi\n";
374 $func .= " mov rax,rsp\n";
384 $func .= " mov r8,QWORD${PTR}[40+rsp]\n" if ($narg>4);
385 $func .= " mov r9,QWORD${PTR}[48+rsp]\n" if ($narg>5);
428 "%rsp"=>0x01258d48, "%rbp"=>0x012d8d48,
709 # %rsp - -
725 # [integer] argument resides at 8(%rsp) upon function entry point.
726 # 128 bytes above %rsp constitute a "red zone" which is not touched
733 # upon function entry point 5th argument resides at 40(%rsp), as well
734 # as that 32 bytes from 8(%rsp) can always be used as temporal
747 # movq %rdi,8(%rsp)
748 # movq %rsi,16(%rsp)
753 # movq 40(%rsp),%r8 ; if 5th ...
754 # movq 48(%rsp),%r9 ; if 6th ...
758 # movq 8(%rsp),%rdi
759 # movq 16(%rsp),%rsi
783 # movq %rsp,%rax # copy rsp to volatile register
787 # movq %rsp,%r11
791 # movq %r11,%rsp # allocate [variable] stack frame
792 # movq %rax,0(%rsp) # save original rsp value
795 # movq 0(%rsp),%rcx # pull original rsp value
799 # movq %rcx,%rsp # restore original rsp
803 # The key is that up to magic_point copy of original rsp value remains
805 # rsp, is modified. While past magic_point rsp remains constant till
811 # { ULONG64 *rsp = (ULONG64 *)context->Rax;
813 # { rsp = ((ULONG64 **)context->Rsp)[0];
814 # context->Rbp = rsp[-3];
815 # context->Rbx = rsp[-2];
816 # context->R15 = rsp[-1];
818 # context->Rsp = (ULONG64)rsp;
819 # context->Rdi = rsp[1];
820 # context->Rsi = rsp[2];
838 # CONTEXT.Rsp 152
877 # prologue copies rsp value to rax and denotes next instruction with
898 # %rsp,%rax" above is redundant. It is not! Keep in mind that on Unix