mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-16 15:40:31 +00:00
Add epoll and do more release readiness changes
This change also pays off some of the remaining technical debt with stdio, file descriptors, and memory managemnt polyfills.
This commit is contained in:
parent
a9ea949df8
commit
3e4fd4b0ad
271 changed files with 5706 additions and 1365 deletions
15
libc/nt/KernelBase/AcquireSRWLockExclusive.s
Normal file
15
libc/nt/KernelBase/AcquireSRWLockExclusive.s
Normal file
|
@ -0,0 +1,15 @@
|
|||
.include "o/libc/nt/codegen.inc"
|
||||
.imp KernelBase,__imp_AcquireSRWLockExclusive,AcquireSRWLockExclusive,683
|
||||
|
||||
.text.windows
|
||||
AcquireSRWLockExclusive:
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov %rdi,%rcx
|
||||
sub $32,%rsp
|
||||
call *__imp_AcquireSRWLockExclusive(%rip)
|
||||
leave
|
||||
ret
|
||||
.endfn AcquireSRWLockExclusive,globl
|
||||
.previous
|
15
libc/nt/KernelBase/AcquireSRWLockShared.s
Normal file
15
libc/nt/KernelBase/AcquireSRWLockShared.s
Normal file
|
@ -0,0 +1,15 @@
|
|||
.include "o/libc/nt/codegen.inc"
|
||||
.imp KernelBase,__imp_AcquireSRWLockShared,AcquireSRWLockShared,684
|
||||
|
||||
.text.windows
|
||||
AcquireSRWLockShared:
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov %rdi,%rcx
|
||||
sub $32,%rsp
|
||||
call *__imp_AcquireSRWLockShared(%rip)
|
||||
leave
|
||||
ret
|
||||
.endfn AcquireSRWLockShared,globl
|
||||
.previous
|
15
libc/nt/KernelBase/DeleteCriticalSection.s
Normal file
15
libc/nt/KernelBase/DeleteCriticalSection.s
Normal file
|
@ -0,0 +1,15 @@
|
|||
.include "o/libc/nt/codegen.inc"
|
||||
.imp KernelBase,__imp_DeleteCriticalSection,DeleteCriticalSection,0
|
||||
|
||||
.text.windows
|
||||
DeleteCriticalSection:
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov %rdi,%rcx
|
||||
sub $32,%rsp
|
||||
call *__imp_DeleteCriticalSection(%rip)
|
||||
leave
|
||||
ret
|
||||
.endfn DeleteCriticalSection,globl
|
||||
.previous
|
15
libc/nt/KernelBase/EnterCriticalSection.s
Normal file
15
libc/nt/KernelBase/EnterCriticalSection.s
Normal file
|
@ -0,0 +1,15 @@
|
|||
.include "o/libc/nt/codegen.inc"
|
||||
.imp KernelBase,__imp_EnterCriticalSection,EnterCriticalSection,0
|
||||
|
||||
.text.windows
|
||||
EnterCriticalSection:
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov %rdi,%rcx
|
||||
sub $32,%rsp
|
||||
call *__imp_EnterCriticalSection(%rip)
|
||||
leave
|
||||
ret
|
||||
.endfn EnterCriticalSection,globl
|
||||
.previous
|
|
@ -1,2 +1,14 @@
|
|||
.include "o/libc/nt/codegen.inc"
|
||||
.imp KernelBase,__imp_GetTickCount64,GetTickCount64,780
|
||||
|
||||
.text.windows
|
||||
GetTickCount64:
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
sub $32,%rsp
|
||||
call *__imp_GetTickCount64(%rip)
|
||||
leave
|
||||
ret
|
||||
.endfn GetTickCount64,globl
|
||||
.previous
|
||||
|
|
15
libc/nt/KernelBase/InitializeCriticalSection.s
Normal file
15
libc/nt/KernelBase/InitializeCriticalSection.s
Normal file
|
@ -0,0 +1,15 @@
|
|||
.include "o/libc/nt/codegen.inc"
|
||||
.imp KernelBase,__imp_InitializeCriticalSection,InitializeCriticalSection,0
|
||||
|
||||
.text.windows
|
||||
InitializeCriticalSection:
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov %rdi,%rcx
|
||||
sub $32,%rsp
|
||||
call *__imp_InitializeCriticalSection(%rip)
|
||||
leave
|
||||
ret
|
||||
.endfn InitializeCriticalSection,globl
|
||||
.previous
|
|
@ -1,5 +1,5 @@
|
|||
.include "o/libc/nt/codegen.inc"
|
||||
.imp KernelBase,__imp_InitializeCriticalSectionAndSpinCount,InitializeCriticalSectionAndSpinCount,856
|
||||
.imp KernelBase,__imp_InitializeCriticalSectionAndSpinCount,InitializeCriticalSectionAndSpinCount,0
|
||||
|
||||
.text.windows
|
||||
InitializeCriticalSectionAndSpinCount:
|
||||
|
|
15
libc/nt/KernelBase/InitializeSRWLock.s
Normal file
15
libc/nt/KernelBase/InitializeSRWLock.s
Normal file
|
@ -0,0 +1,15 @@
|
|||
.include "o/libc/nt/codegen.inc"
|
||||
.imp KernelBase,__imp_InitializeSRWLock,InitializeSRWLock,1128
|
||||
|
||||
.text.windows
|
||||
InitializeSRWLock:
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov %rdi,%rcx
|
||||
sub $32,%rsp
|
||||
call *__imp_InitializeSRWLock(%rip)
|
||||
leave
|
||||
ret
|
||||
.endfn InitializeSRWLock,globl
|
||||
.previous
|
15
libc/nt/KernelBase/LeaveCriticalSection.s
Normal file
15
libc/nt/KernelBase/LeaveCriticalSection.s
Normal file
|
@ -0,0 +1,15 @@
|
|||
.include "o/libc/nt/codegen.inc"
|
||||
.imp KernelBase,__imp_LeaveCriticalSection,LeaveCriticalSection,0
|
||||
|
||||
.text.windows
|
||||
LeaveCriticalSection:
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov %rdi,%rcx
|
||||
sub $32,%rsp
|
||||
call *__imp_LeaveCriticalSection(%rip)
|
||||
leave
|
||||
ret
|
||||
.endfn LeaveCriticalSection,globl
|
||||
.previous
|
15
libc/nt/KernelBase/ReleaseSRWLockExclusive.s
Normal file
15
libc/nt/KernelBase/ReleaseSRWLockExclusive.s
Normal file
|
@ -0,0 +1,15 @@
|
|||
.include "o/libc/nt/codegen.inc"
|
||||
.imp KernelBase,__imp_ReleaseSRWLockExclusive,ReleaseSRWLockExclusive,1341
|
||||
|
||||
.text.windows
|
||||
ReleaseSRWLockExclusive:
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov %rdi,%rcx
|
||||
sub $32,%rsp
|
||||
call *__imp_ReleaseSRWLockExclusive(%rip)
|
||||
leave
|
||||
ret
|
||||
.endfn ReleaseSRWLockExclusive,globl
|
||||
.previous
|
15
libc/nt/KernelBase/ReleaseSRWLockShared.s
Normal file
15
libc/nt/KernelBase/ReleaseSRWLockShared.s
Normal file
|
@ -0,0 +1,15 @@
|
|||
.include "o/libc/nt/codegen.inc"
|
||||
.imp KernelBase,__imp_ReleaseSRWLockShared,ReleaseSRWLockShared,1342
|
||||
|
||||
.text.windows
|
||||
ReleaseSRWLockShared:
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov %rdi,%rcx
|
||||
sub $32,%rsp
|
||||
call *__imp_ReleaseSRWLockShared(%rip)
|
||||
leave
|
||||
ret
|
||||
.endfn ReleaseSRWLockShared,globl
|
||||
.previous
|
12
libc/nt/KernelBase/SetCriticalSectionSpinCount.s
Normal file
12
libc/nt/KernelBase/SetCriticalSectionSpinCount.s
Normal file
|
@ -0,0 +1,12 @@
|
|||
.include "o/libc/nt/codegen.inc"
|
||||
.imp KernelBase,__imp_SetCriticalSectionSpinCount,SetCriticalSectionSpinCount,0
|
||||
|
||||
.text.windows
|
||||
SetCriticalSectionSpinCount:
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov __imp_SetCriticalSectionSpinCount(%rip),%rax
|
||||
jmp __sysv2nt
|
||||
.endfn SetCriticalSectionSpinCount,globl
|
||||
.previous
|
15
libc/nt/KernelBase/TryAcquireSRWLockExclusive.s
Normal file
15
libc/nt/KernelBase/TryAcquireSRWLockExclusive.s
Normal file
|
@ -0,0 +1,15 @@
|
|||
.include "o/libc/nt/codegen.inc"
|
||||
.imp KernelBase,__imp_TryAcquireSRWLockExclusive,TryAcquireSRWLockExclusive,1467
|
||||
|
||||
.text.windows
|
||||
TryAcquireSRWLockExclusive:
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov %rdi,%rcx
|
||||
sub $32,%rsp
|
||||
call *__imp_TryAcquireSRWLockExclusive(%rip)
|
||||
leave
|
||||
ret
|
||||
.endfn TryAcquireSRWLockExclusive,globl
|
||||
.previous
|
15
libc/nt/KernelBase/TryAcquireSRWLockShared.s
Normal file
15
libc/nt/KernelBase/TryAcquireSRWLockShared.s
Normal file
|
@ -0,0 +1,15 @@
|
|||
.include "o/libc/nt/codegen.inc"
|
||||
.imp KernelBase,__imp_TryAcquireSRWLockShared,TryAcquireSRWLockShared,1468
|
||||
|
||||
.text.windows
|
||||
TryAcquireSRWLockShared:
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov %rdi,%rcx
|
||||
sub $32,%rsp
|
||||
call *__imp_TryAcquireSRWLockShared(%rip)
|
||||
leave
|
||||
ret
|
||||
.endfn TryAcquireSRWLockShared,globl
|
||||
.previous
|
15
libc/nt/KernelBase/TryEnterCriticalSection.s
Normal file
15
libc/nt/KernelBase/TryEnterCriticalSection.s
Normal file
|
@ -0,0 +1,15 @@
|
|||
.include "o/libc/nt/codegen.inc"
|
||||
.imp KernelBase,__imp_TryEnterCriticalSection,TryEnterCriticalSection,0
|
||||
|
||||
.text.windows
|
||||
TryEnterCriticalSection:
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov %rdi,%rcx
|
||||
sub $32,%rsp
|
||||
call *__imp_TryEnterCriticalSection(%rip)
|
||||
leave
|
||||
ret
|
||||
.endfn TryEnterCriticalSection,globl
|
||||
.previous
|
Loading…
Add table
Add a link
Reference in a new issue