summaryrefslogtreecommitdiff
path: root/contrib/asm686
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/asm686')
-rw-r--r--contrib/asm686/match.S16
1 files changed, 15 insertions, 1 deletions
diff --git a/contrib/asm686/match.S b/contrib/asm686/match.S
index 06817e1..fa42109 100644
--- a/contrib/asm686/match.S
+++ b/contrib/asm686/match.S
@@ -83,17 +83,25 @@
83.text 83.text
84 84
85/* uInt longest_match(deflate_state *deflatestate, IPos curmatch) */ 85/* uInt longest_match(deflate_state *deflatestate, IPos curmatch) */
86.cfi_sections .debug_frame
86 87
87longest_match: 88longest_match:
88 89
90.cfi_startproc
89/* Save registers that the compiler may be using, and adjust %esp to */ 91/* Save registers that the compiler may be using, and adjust %esp to */
90/* make room for our stack frame. */ 92/* make room for our stack frame. */
91 93
92 pushl %ebp 94 pushl %ebp
95 .cfi_def_cfa_offset 8
96 .cfi_offset ebp, -8
93 pushl %edi 97 pushl %edi
98 .cfi_def_cfa_offset 12
94 pushl %esi 99 pushl %esi
100 .cfi_def_cfa_offset 16
95 pushl %ebx 101 pushl %ebx
102 .cfi_def_cfa_offset 20
96 subl $LocalVarsSize, %esp 103 subl $LocalVarsSize, %esp
104 .cfi_def_cfa_offset LocalVarsSize+20
97 105
98/* Retrieve the function arguments. %ecx will hold cur_match */ 106/* Retrieve the function arguments. %ecx will hold cur_match */
99/* throughout the entire function. %edx will hold the pointer to the */ 107/* throughout the entire function. %edx will hold the pointer to the */
@@ -108,7 +116,7 @@ longest_match:
108/* if (s->prev_length >= s->good_match) { */ 116/* if (s->prev_length >= s->good_match) { */
109/* chain_length >>= 2; */ 117/* chain_length >>= 2; */
110/* } */ 118/* } */
111 119
112 movl dsPrevLen(%edx), %eax 120 movl dsPrevLen(%edx), %eax
113 movl dsGoodMatch(%edx), %ebx 121 movl dsGoodMatch(%edx), %ebx
114 cmpl %ebx, %eax 122 cmpl %ebx, %eax
@@ -336,8 +344,14 @@ LookaheadRet:
336/* Restore the stack and return from whence we came. */ 344/* Restore the stack and return from whence we came. */
337 345
338 addl $LocalVarsSize, %esp 346 addl $LocalVarsSize, %esp
347 .cfi_def_cfa_offset 20
339 popl %ebx 348 popl %ebx
349 .cfi_def_cfa_offset 16
340 popl %esi 350 popl %esi
351 .cfi_def_cfa_offset 12
341 popl %edi 352 popl %edi
353 .cfi_def_cfa_offset 8
342 popl %ebp 354 popl %ebp
355 .cfi_def_cfa_offset 4
356.cfi_endproc
343match_init: ret 357match_init: ret