diff options
Diffstat (limited to 'contrib/asm686')
-rw-r--r-- | contrib/asm686/match.S | 16 |
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 | ||
87 | longest_match: | 88 | longest_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 | ||
343 | match_init: ret | 357 | match_init: ret |