mirror of
git://git.musl-libc.org/musl
synced 2025-01-11 00:59:46 +00:00
setjmp: optimize x86 longjmp epilogues
This commit is contained in:
parent
c6a6fe4ccd
commit
59b64ff686
@ -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)
|
||||
|
@ -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 */
|
||||
|
@ -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 */
|
||||
|
Loading…
Reference in New Issue
Block a user