mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-30 06:20:28 +00:00
Improve threading support further
This commit is contained in:
parent
8bfb70ca3f
commit
ce71677156
61 changed files with 882 additions and 747 deletions
|
@ -2,7 +2,7 @@
|
|||
.imp kernel32,__imp_TlsAlloc,TlsAlloc,0
|
||||
|
||||
.text.windows
|
||||
__TlsAlloc:
|
||||
TlsAlloc:
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
|
@ -10,5 +10,5 @@ __TlsAlloc:
|
|||
call *__imp_TlsAlloc(%rip)
|
||||
leave
|
||||
ret
|
||||
.endfn __TlsAlloc,globl
|
||||
.endfn TlsAlloc,globl
|
||||
.previous
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
.imp kernel32,__imp_TlsFree,TlsFree,0
|
||||
|
||||
.text.windows
|
||||
__TlsFree:
|
||||
TlsFree:
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
|
@ -11,5 +11,5 @@ __TlsFree:
|
|||
call *__imp_TlsFree(%rip)
|
||||
leave
|
||||
ret
|
||||
.endfn __TlsFree,globl
|
||||
.endfn TlsFree,globl
|
||||
.previous
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
.imp kernel32,__imp_TlsGetValue,TlsGetValue,0
|
||||
|
||||
.text.windows
|
||||
__TlsGetValue:
|
||||
TlsGetValue:
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
|
@ -11,5 +11,5 @@ __TlsGetValue:
|
|||
call *__imp_TlsGetValue(%rip)
|
||||
leave
|
||||
ret
|
||||
.endfn __TlsGetValue,globl
|
||||
.endfn TlsGetValue,globl
|
||||
.previous
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
.imp kernel32,__imp_TlsSetValue,TlsSetValue,0
|
||||
|
||||
.text.windows
|
||||
__TlsSetValue:
|
||||
TlsSetValue:
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
.profilable
|
||||
mov __imp_TlsSetValue(%rip),%rax
|
||||
jmp __sysv2nt
|
||||
.endfn __TlsSetValue,globl
|
||||
.endfn TlsSetValue,globl
|
||||
.previous
|
||||
|
|
|
@ -302,8 +302,8 @@ imp 'EnumerateLocalComputerNamesA' EnumerateLocalComputerNamesA kernel32 3
|
|||
imp 'EraseTape' EraseTape kernel32 352
|
||||
imp 'EscapeCommFunction' EscapeCommFunction kernel32 0
|
||||
imp 'ExecuteUmsThread' ExecuteUmsThread kernel32 354
|
||||
imp 'ExitThread' ExitThread kernel32 0 1
|
||||
imp 'ExitProcess' ExitProcess kernel32 0 1 # a.k.a. RtlExitUserProcess
|
||||
imp 'ExitThread' ExitThread kernel32 0 1
|
||||
imp 'ExitVDM' ExitVDM kernel32 357
|
||||
imp 'ExpandEnvironmentStrings' ExpandEnvironmentStringsW kernel32 0
|
||||
imp 'ExpandEnvironmentStringsA' ExpandEnvironmentStringsA kernel32 0
|
||||
|
@ -1225,6 +1225,10 @@ imp 'TermsrvSetValueKey' TermsrvSetValueKey kernel32 1441
|
|||
imp 'TermsrvSyncUserIniFileExt' TermsrvSyncUserIniFileExt kernel32 1442
|
||||
imp 'Thread32First' Thread32First kernel32 1443
|
||||
imp 'Thread32Next' Thread32Next kernel32 1444
|
||||
imp 'TlsAlloc' TlsAlloc kernel32 0 0
|
||||
imp 'TlsFree' TlsFree kernel32 0 1
|
||||
imp 'TlsGetValue' TlsGetValue kernel32 0 1
|
||||
imp 'TlsSetValue' TlsSetValue kernel32 0 2
|
||||
imp 'Toolhelp32ReadProcessMemory' Toolhelp32ReadProcessMemory kernel32 1449
|
||||
imp 'TransactNamedPipe' TransactNamedPipe kernel32 0 7
|
||||
imp 'TransmitCommChar' TransmitCommChar kernel32 0
|
||||
|
@ -1364,10 +1368,6 @@ imp '__ReOpenFile' ReOpenFile kernel32 0 4 # TODO(jart): 6.2 and highe
|
|||
imp '__RemoveDirectory' RemoveDirectoryW kernel32 0 1
|
||||
imp '__SetCurrentDirectory' SetCurrentDirectoryW kernel32 0 1
|
||||
imp '__TerminateProcess' TerminateProcess kernel32 0 2
|
||||
imp '__TlsAlloc' TlsAlloc kernel32 0 0
|
||||
imp '__TlsFree' TlsFree kernel32 0 1
|
||||
imp '__TlsGetValue' TlsGetValue kernel32 0 1
|
||||
imp '__TlsSetValue' TlsSetValue kernel32 0 2
|
||||
imp '__UnmapViewOfFile' UnmapViewOfFile kernel32 0 1
|
||||
imp '__VirtualProtect' VirtualProtect kernel32 0 4
|
||||
imp '__WaitForMultipleObjects' WaitForMultipleObjects kernel32 0 4
|
||||
|
|
|
@ -57,6 +57,11 @@ bool32 CancelSynchronousIo(int64_t hThread);
|
|||
bool32 CancelIo(int64_t hFile);
|
||||
bool32 CancelIoEx(int64_t hFile, struct NtOverlapped *opt_lpOverlapped);
|
||||
|
||||
uint32_t TlsAlloc(void);
|
||||
bool32 TlsFree(uint32_t);
|
||||
bool32 TlsSetValue(uint32_t, void *);
|
||||
void *TlsGetValue(uint32_t);
|
||||
|
||||
#if ShouldUseMsabiAttribute()
|
||||
#include "libc/nt/thunk/thread.inc"
|
||||
#endif /* ShouldUseMsabiAttribute() */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue