setjmp: optimize x86 longjmp epilogues

This commit is contained in:
Alexander Monakov 2020-08-11 21:11:16 +03:00 committed by Rich Felker
parent c6a6fe4ccd
commit 59b64ff686
3 changed files with 6 additions and 12 deletions

View File

@ -14,7 +14,5 @@ longjmp:
mov 4(%edx),%esi
mov 8(%edx),%edi
mov 12(%edx),%ebp
mov 16(%edx),%ecx
mov %ecx,%esp
mov 20(%edx),%ecx
jmp *%ecx
mov 16(%edx),%esp
jmp *20(%edx)

View File

@ -16,7 +16,5 @@ longjmp:
mov 24(%rdi),%r13
mov 32(%rdi),%r14
mov 40(%rdi),%r15
mov 48(%rdi),%rdx /* this ends up being the stack pointer */
mov %rdx,%rsp
mov 56(%rdi),%rdx /* this is the instruction pointer */
jmp *%rdx /* goto saved address without altering rsp */
mov 48(%rdi),%rsp
jmp *56(%rdi) /* goto saved address without altering rsp */

View File

@ -16,7 +16,5 @@ longjmp:
mov 24(%rdi),%r13
mov 32(%rdi),%r14
mov 40(%rdi),%r15
mov 48(%rdi),%rdx /* this ends up being the stack pointer */
mov %rdx,%rsp
mov 56(%rdi),%rdx /* this is the instruction pointer */
jmp *%rdx /* goto saved address without altering rsp */
mov 48(%rdi),%rsp
jmp *56(%rdi) /* goto saved address without altering rsp */