diff options
| author | Alexander Monakov <amonakov@ispras.ru> | 2020-08-11 21:11:16 +0300 | 
|---|---|---|
| committer | Rich Felker <dalias@aerifal.cx> | 2020-08-11 14:43:20 -0400 | 
| commit | 59b64ff686cef2a87e9552658b2c8d2531f87176 (patch) | |
| tree | 7baac904e666314dbe3bbf0fbb1697e476952c73 /src | |
| parent | c6a6fe4ccdba92c518dfbf337cda1bf0f697527d (diff) | |
| download | musl-59b64ff686cef2a87e9552658b2c8d2531f87176.tar.gz | |
setjmp: optimize x86 longjmp epilogues
Diffstat (limited to 'src')
| -rw-r--r-- | src/setjmp/i386/longjmp.s | 6 | ||||
| -rw-r--r-- | src/setjmp/x32/longjmp.s | 6 | ||||
| -rw-r--r-- | src/setjmp/x86_64/longjmp.s | 6 | 
3 files changed, 6 insertions, 12 deletions
| diff --git a/src/setjmp/i386/longjmp.s b/src/setjmp/i386/longjmp.s index 772d28dd..b429f135 100644 --- a/src/setjmp/i386/longjmp.s +++ b/src/setjmp/i386/longjmp.s @@ -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) diff --git a/src/setjmp/x32/longjmp.s b/src/setjmp/x32/longjmp.s index e709acad..bb88afa1 100644 --- a/src/setjmp/x32/longjmp.s +++ b/src/setjmp/x32/longjmp.s @@ -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 */ diff --git a/src/setjmp/x86_64/longjmp.s b/src/setjmp/x86_64/longjmp.s index e709acad..bb88afa1 100644 --- a/src/setjmp/x86_64/longjmp.s +++ b/src/setjmp/x86_64/longjmp.s @@ -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 */ | 
