clarify the purpose of this project
[nyanglibc.git] / libio / wfiledoalloc.s
blob85235945bb32d13efb708cc98e4db01c0b2330c7
1 .text
2 .p2align 4,,15
3 .globl _IO_wfile_doallocate
4 .type _IO_wfile_doallocate, @function
5 _IO_wfile_doallocate:
6 pushq %rbp
7 pushq %rbx
8 movq %rdi, %rbp
9 subq $8, %rsp
10 movq 56(%rdi), %rax
11 testq %rax, %rax
12 je .L11
13 .L2:
14 movq 64(%rbp), %rdx
15 subq %rax, %rdx
16 leaq 3(%rdx), %rax
17 shrq $2, %rax
18 testb $1, 0(%rbp)
19 cmovne %rax, %rdx
20 leaq 0(,%rdx,4), %rbx
21 movq %rbx, %rdi
22 call malloc@PLT
23 movq %rax, %rsi
24 movl $-1, %eax
25 testq %rsi, %rsi
26 je .L1
27 leaq (%rsi,%rbx), %rdx
28 movl $1, %ecx
29 movq %rbp, %rdi
30 call _IO_wsetb
31 movl $1, %eax
32 .L1:
33 addq $8, %rsp
34 popq %rbx
35 popq %rbp
36 ret
37 .p2align 4,,10
38 .p2align 3
39 .L11:
40 call _IO_file_doallocate
41 movq 56(%rbp), %rax
42 jmp .L2
43 .size _IO_wfile_doallocate, .-_IO_wfile_doallocate
44 .hidden _IO_file_doallocate
45 .hidden _IO_wsetb