cosmopolitan/libc/intrin
Justine Tunney 2f48a02b44
Make recursive mutexes faster
Recursive mutexes now go as fast as normal mutexes. The tradeoff is they
are no longer safe to use in signal handlers. However you can still have
signal safe mutexes if you set your mutex to both recursive and pshared.
You can also make functions that use recursive mutexes signal safe using
sigprocmask to ensure recursion doesn't happen due to any signal handler

The impact of this change is that, on Windows, many functions which edit
the file descriptor table rely on recursive mutexes, e.g. open(). If you
develop your app so it uses pread() and pwrite() then your app should go
very fast when performing a heavily multithreaded and contended workload

For example, when scaling to 40+ cores, *NSYNC mutexes can go as much as
1000x faster (in CPU time) than the naive recursive lock implementation.
Now recursive will use *NSYNC under the hood when it's possible to do so
2024-09-10 00:08:59 -07:00
..
aarch64 Make atomics faster on aarch64 2024-08-16 11:14:46 -07:00
__getauxval.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
__getenv.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
abort.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
abs.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
armlse.c Make atomics faster on aarch64 2024-08-16 11:14:46 -07:00
armopt.c Release Cosmopolitan v3.3 2024-02-20 13:27:59 -08:00
ashlti3.c Clean up more code 2023-06-18 01:00:05 -07:00
asmflag.h Reduce header complexity 2023-11-28 14:39:42 -08:00
assertfail.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
atexit.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
atomic.h Make malloc scalable on all platforms 2024-08-15 23:32:53 -07:00
bcopy.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
bsf.c Rename _bsr/_bsf to bsr/bsf 2024-03-04 17:33:26 -08:00
bsf.h Add deprecated stubs for _bsf / _bsr 2024-03-05 09:45:51 -08:00
bsr.c Rename _bsr/_bsf to bsr/bsf 2024-03-04 17:33:26 -08:00
bsr.h Add deprecated stubs for _bsf / _bsr 2024-03-05 09:45:51 -08:00
bsrl.c Rename _bsr/_bsf to bsr/bsf 2024-03-04 17:33:26 -08:00
bswap.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
bswap.h Add dontthrow attribute to most libc functions 2024-01-09 01:26:03 -08:00
BUILD.mk Share file offset across execve() on Windows 2024-08-03 17:48:00 -07:00
bzero.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
chromium.c Release Cosmopolitan v3.3 2024-02-20 13:27:59 -08:00
clearenv.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
cmpxchg.h Reduce header complexity 2023-11-28 14:39:42 -08:00
comparetf2.c Make more code aarch64 friendly 2023-05-10 04:20:46 -07:00
cosmo_once.c Add much of C11 threads.h API 2024-04-28 07:04:08 -07:00
countbits.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
cp.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
createdirectory.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
createfile.c Fix handling of paths with dirfd on Windows 2024-09-01 17:52:30 -07:00
createfilemapping.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
createfilemappingnuma.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
createnamedpipe.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
createpipe.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
createprocess.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
createsymboliclink.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
createthread.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
cursor.c Share file offset across execve() on Windows 2024-08-03 17:48:00 -07:00
cxaatexit.c Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
cxaatexit.h Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
cxablocks.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
cxafinalize.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
cxalock.c Revert "Make spin locks go faster" 2024-07-25 22:24:32 -07:00
deletefile.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
demangle.c Refactor and improve CTL and other code 2024-06-04 05:45:48 -07:00
describearchprctlcode.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describebacktrace.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describebacktrace.h Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describecancelstate.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describecapability.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describeclockname.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describecontrolkeystate.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describedirfd.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describednotify.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describeerrnoresult.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describefcntlcmd.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describefdset.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describeflags.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describeflags.h Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describeflock.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describeflocktype.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describefutexop.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describegidlist.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describehow.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describeinoutint64.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describeiovec.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describeiovnt.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describeitimer.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describeitimerval.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describemagnums.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describemapflags.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describemapping.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describemremapflags.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describemsyncflags.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describentconsolemodeinputflags.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describentconsolemodeoutputflags.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describentcreationdisposition.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describentfileaccessflags.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describentfileflagattr.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describentfilemapflags.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describentfileshareflags.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describentfiletypeflags.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describentlockfileflags.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describentmovfileinpflags.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describentoverlapped.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describentoverlapped.h Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describentpageflags.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describentpipemodeflags.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describentpipeopenflags.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describentprocaccessflags.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describentsecurityattributes.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describentstartflags.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describentsymlinkflags.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describeopenflags.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describeopenmode.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describepersonalityflags.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describepollfds.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describepollflags.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describeprotflags.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describeptrace.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describeptraceevent.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describerlimit.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describerlimitname.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describeschedparam.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describeschedpolicy.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describeseccompoperation.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describesicode.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describesigaction.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describesigaltstack.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describesigaltstackflags.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describesiginfo.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describesigset.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describesleepflags.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describesocketfamily.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describesocketprotocol.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describesockettype.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describesocklevel.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describesockoptname.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describestat.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describestatfs.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describestdiostate.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describestringlist.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describetermios.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describethreadcreationflags.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describetimespec.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describetimeval.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describevirtualkeycode.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describewhence.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describewhichprio.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
describewinsize.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
deviceiocontrol.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
directmap-metal.c Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
directmap-nt.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
directmap.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
directmap.h Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
divmodti4.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
divti3.c Fix small matters and improve sysconf() 2023-08-17 00:32:11 -07:00
dll.c Make mmap() scalable 2024-07-05 23:26:00 -07:00
dll.h Rewrite memory manager 2024-06-22 05:45:11 -07:00
dos2errno.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
dos2errno.h Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
dsohandle.S Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
exit.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
exit1.greg.c Introduce FreeBSD ARM64 support 2023-12-29 20:14:02 -08:00
extend.c Create variables for page size 2024-07-18 21:16:53 -07:00
extend.h Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
extendbfsf2.c Implement bf16 compiler runtime library 2024-08-02 02:04:53 -07:00
fbclibm.c Make quality improvements 2024-02-25 19:08:43 -08:00
fblibm.c Release Cosmopolitan v3.3 2024-02-20 13:27:59 -08:00
fdlibm.c Release Cosmopolitan v3.3 2024-02-20 13:27:59 -08:00
fds.c Share file offset across execve() on Windows 2024-08-03 17:48:00 -07:00
fds.h Fix bugs in poll(), select(), ppoll(), and pselect() 2024-09-02 00:29:52 -07:00
fds_init.S Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
fds_lock.c Share file offset across execve() on Windows 2024-08-03 17:48:00 -07:00
fds_lock_obj.c Fix bugs with new memory manager 2024-06-29 10:53:57 -07:00
fedisableexcept.c Introduce support for trapping math 2024-04-30 13:38:43 -07:00
feenableexcept.c Avoid crash looping on AARCH64 2024-05-08 04:20:22 -07:00
feholdexcept.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
fenv.S Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
fesetround.c Make improvements 2024-02-12 10:23:00 -08:00
feupdateenv.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
ffs.c Fix gcc warning 2024-01-18 16:48:02 -08:00
findclose.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
findfirstfile.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
findnextfile.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
float16.c Rerun clang-format on the repo (#1217) 2024-06-15 16:34:48 -04:00
flushers.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
flushfilebuffers.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
flushviewoffile.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
fmax.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
fmaxf.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
fmaxl.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
fnv.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
folibm.c Release Cosmopolitan v3.3 2024-02-20 13:27:59 -08:00
formathex64.c Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
formatint32.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
formatint64.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
formatoctal32.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
ftrace.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
ftrace_enabled.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
ftrapv.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
futex.S Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
gcov.S Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
generateconsolectrlevent.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
getauxval.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
getauxval.h Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
getcpuidbrand.S Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
getcpuidemulator.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
getcpuidos.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
getenv.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
getenv.h Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
getexitcodeprocess.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
getfileattributes.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
getgransize.c Create variables for page size 2024-07-18 21:16:53 -07:00
getmainstack.c Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
getminsigstksz.c Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
getpagesize.c Create variables for page size 2024-07-18 21:16:53 -07:00
getpid.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
getsafesize.greg.c Rewrite memory manager 2024-06-22 05:45:11 -07:00
gettid.c Reduce code size of mandatory runtime 2024-07-04 02:50:20 -07:00
hilbert.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
hilbert.h Add dontthrow attribute to most libc functions 2024-01-09 01:26:03 -08:00
interrupts.S Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
iscall.c Make spinlocks faster (take two) 2024-07-26 00:45:24 -07:00
iscall.h Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
iscygwin.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
isdebuggerpresent.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
isgenuineblink.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
isloopbackip.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
isprivateip.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
ispublicip.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
isrunningundermake.c Release Cosmopolitan v3.3 2024-02-20 13:27:59 -08:00
isworker.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
iswsl.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
kclocknames.S Delve into clock rabbit hole 2024-09-04 01:32:46 -07:00
kdos2errno.S Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
kerrnodocs.S Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
kerrnonames.S Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
kfcntlcmds.S Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
kipoptnames.S Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
klog.c Rewrite memory manager 2024-06-22 05:45:11 -07:00
kmonthname.S Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
kmonthnameshort.S Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
kntisinheritable.greg.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
kntstdio.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
kopenflags.S Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
kpollnames.S Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
kprintf.greg.c Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
kprintf.h Run clang-format (#1197) 2024-06-01 16:30:43 -04:00
krlimitnames.S Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
ksignalnames.S Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
ksockoptnames.S Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
kstarttsc.c more modeline errata (#1019) 2023-12-16 23:07:10 -05:00
ktcpoptnames.S Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
kweekdayname.S Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
kweekdaynameshort.S Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
leaky.S Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
lengthuint64.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
likely.h Reduce header complexity 2023-11-28 14:39:42 -08:00
lockfileex.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
lshrti3.c Make considerably more progress on AARCH64 2023-05-12 22:42:57 -07:00
magicu.c Rerun clang-format on the repo (#1217) 2024-06-15 16:34:48 -04:00
magicu.h Rerun clang-format on the repo (#1217) 2024-06-15 16:34:48 -04:00
mapanon.c Share file offset across execve() on Windows 2024-08-03 17:48:00 -07:00
maps.c Make spinlocks faster (take two) 2024-07-26 00:45:24 -07:00
maps.h Introduce pthread_condattr_setclock() 2024-09-02 23:45:42 -07:00
maps_init.S Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
mapshared.c Share file offset across processes 2024-08-03 01:39:11 -07:00
mapviewoffileex.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
mapviewoffileexnuma.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
memchr.c Delete ASAN 2024-06-22 05:45:49 -07:00
memcmp.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
memmove.c Delete ASAN 2024-06-22 05:45:49 -07:00
mempcpy.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
memrchr.c Release Cosmopolitan v3.3 2024-02-20 13:27:59 -08:00
memset.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
mman.greg.c Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
mmap.c Introduce pthread_condattr_setclock() 2024-09-02 23:45:42 -07:00
movefileex.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
mprotect-sysv.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
mprotect.c Make more improvements to threads and mappings 2024-07-24 01:19:54 -07:00
msync-nt.c Create variables for page size 2024-07-18 21:16:53 -07:00
msync.c Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
mulodi4.c Clean up more code 2023-06-18 01:00:05 -07:00
mulosi4.c Clean up more code 2023-06-18 01:00:05 -07:00
muloti4.c Clean up more code 2023-06-18 01:00:05 -07:00
multf3.c Make more code aarch64 friendly 2023-05-10 04:20:46 -07:00
mulvti3.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
munmap-metal.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
munmap-sysv.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
musl.c Release Cosmopolitan v3.3 2024-02-20 13:27:59 -08:00
newbie.h Create ELF aliases for identical symbols 2023-06-06 03:33:49 -07:00
nocolor.c Rewrite memory manager 2024-06-22 05:45:11 -07:00
nomultics.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
nomultics.h Add missing ICANON features 2024-09-05 03:17:19 -07:00
ntcontext2linux.c Make MXCSR editable by signal handlers on Windows 2024-04-30 13:38:43 -07:00
oldstack.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
onarithmeticoverflow.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
openprocess.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
pagesize.c Create variables for page size 2024-07-18 21:16:53 -07:00
pagesize_init.S Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
personality.c Release Cosmopolitan v3.8.0 2024-08-30 20:14:07 -07:00
popcnt.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
popcnt.h Add dontthrow attribute to most libc functions 2024-01-09 01:26:03 -08:00
printmaps.c Avoid linker conflicts on DescribeFoo symbols 2024-08-24 18:10:22 -07:00
promises.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
promises.h Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
prot2nt.greg.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
pthread_atfork.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_atfork_actual.c Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
pthread_cleanup_pop.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_cleanup_push.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_delay_np.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
pthread_mutex_destroy.c Improve lock hierarchy 2024-07-24 16:05:48 -07:00
pthread_mutex_init.c Fix bugs with new memory manager 2024-06-29 10:53:57 -07:00
pthread_mutex_lock.c Make recursive mutexes faster 2024-09-10 00:08:59 -07:00
pthread_mutex_trylock.c Make recursive mutexes faster 2024-09-10 00:08:59 -07:00
pthread_mutex_unlock.c Make recursive mutexes faster 2024-09-10 00:08:59 -07:00
pthread_mutexattr_destroy.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_mutexattr_getpshared.c Fix bugs with new memory manager 2024-06-29 10:53:57 -07:00
pthread_mutexattr_gettype.c Fix bugs with new memory manager 2024-06-29 10:53:57 -07:00
pthread_mutexattr_init.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_mutexattr_setpshared.c Fix bugs with new memory manager 2024-06-29 10:53:57 -07:00
pthread_mutexattr_settype.c Make recursive mutexes faster 2024-09-10 00:08:59 -07:00
pthread_orphan_np.c Introduce ctl::set and ctl::map 2024-06-23 22:27:11 -07:00
pthread_pause_np.c Make improvements 2024-09-01 01:27:47 -07:00
pthread_setcancelstate.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
pthread_spin_destroy.c Revert "Make spin locks go faster" 2024-07-25 22:24:32 -07:00
pthread_spin_init.c Revert "Make spin locks go faster" 2024-07-25 22:24:32 -07:00
pthread_spin_lock.c Make Cosmo mutexes competitive with Apple Libc 2024-09-02 19:03:11 -07:00
pthread_spin_trylock.c Revert "Make spin locks go faster" 2024-07-25 22:24:32 -07:00
pthread_spin_unlock.c Make Cosmo mutexes competitive with Apple Libc 2024-09-02 19:03:11 -07:00
pthread_static.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthread_syshand.c Make mmap() scalable 2024-07-05 23:26:00 -07:00
pthread_tid.c Make mmap() scalable 2024-07-05 23:26:00 -07:00
pthread_yield_np.c Make more improvements to threads and mappings 2024-07-24 01:19:54 -07:00
pthreadlist.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
pthreadlock.c Make pthread mutex non-recursive 2024-09-01 02:05:17 -07:00
pushpop.h Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
rand64.c Use better memory strategy on Windows 2024-07-20 02:20:03 -07:00
removedirectory.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
reopenfile.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
repmovsb.h Run clang-format (#1197) 2024-06-01 16:30:43 -04:00
repstosb.h Run clang-format (#1197) 2024-06-01 16:30:43 -04:00
reservefd.c Make recursive mutexes faster 2024-09-10 00:08:59 -07:00
safemacros.h Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
scalblnl.c Release Cosmopolitan v3.3 2024-02-20 13:27:59 -08:00
scalbn.c Release Cosmopolitan v3.3 2024-02-20 13:27:59 -08:00
scalbnf.c Release Cosmopolitan v3.3 2024-02-20 13:27:59 -08:00
scalbnl.c Release Cosmopolitan v3.3 2024-02-20 13:27:59 -08:00
setcurrentdirectory.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
setjmp.h Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
sig.c Get deathstar demo working again on metal 2024-07-04 03:44:17 -07:00
sigaddset.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
sigandset.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
sigcountset.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
sigdelset.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
sigemptyset.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
sigfillset.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
sighandrvas.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
sigisemptyset.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
sigismember.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
sigorset.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
sigprocmask-nt.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
sigprocmask-sysv.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
sigprocmask.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
sizefmt.c Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
stackcall.S Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
stackchkfail.c Run clang-format (#1197) 2024-06-01 16:30:43 -04:00
stackchkfaillocal.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
stackchkguard.S Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
stpcpy.c Delete ASAN 2024-06-22 05:45:49 -07:00
strace.h Make Cosmo mutexes competitive with Apple Libc 2024-09-02 19:03:11 -07:00
strace_enabled.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
stracef.greg.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
strchr.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
strchrnul.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
strcmp.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
strcpy.c Make improvements 2024-02-12 10:23:00 -08:00
strerror.c Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
strerror_r.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
strlen.c Rerun clang-format on the repo (#1217) 2024-06-15 16:34:48 -04:00
strncmp.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
strnlen.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
strrchr.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
strsignal.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
strsignal_r.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
sys_gettid.greg.c Introduce FreeBSD ARM64 support 2023-12-29 20:14:02 -08:00
sys_sched_yield.S Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
sys_set_tls.S Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
sys_umtx_timedwait_uint.c Introduce pthread_condattr_setclock() 2024-09-02 23:45:42 -07:00
terminateprocess.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
terminatethisprocess.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
tlsmorphed.c Make cosmo_dlopen() safer and faster 2024-01-05 20:42:19 -08:00
tpenc.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
tree.c Make mmap() scalable 2024-07-05 23:26:00 -07:00
tree.h Make realloc() go 100x faster on Linux/NetBSD 2024-07-07 12:40:30 -07:00
truncdfbf2.c Implement bf16 compiler runtime library 2024-08-02 02:04:53 -07:00
truncsfbf2.c Implement bf16 compiler runtime library 2024-08-02 02:04:53 -07:00
typeinfo.S Remove .internal from more header filenames 2024-08-04 12:52:25 -07:00
ubsan.c Fix remove() directory on Windows 2024-07-28 17:31:21 -07:00
ubsan.h Implement proper time zone support 2024-05-04 23:06:37 -07:00
ubsanconf.c Implement proper time zone support 2024-05-04 23:06:37 -07:00
udivmodti4.c Apply clang-format update to repo (#1154) 2024-04-25 10:38:00 -07:00
ulock.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
ulock.h Add dontthrow attribute to most libc functions 2024-01-09 01:26:03 -08:00
umask.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
unassert.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
unleaf.c Introduce support for trapping math 2024-04-30 13:38:43 -07:00
unlockfileex.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
unmapviewoffile.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
unsetenv.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
virtualmax.c Rewrite memory manager 2024-06-22 05:45:11 -07:00
virtualprotect.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
waitformultipleobjects.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
waitforsingleobject.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
weaken.h Reduce header complexity 2023-11-28 14:39:42 -08:00
winerr.greg.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
winsockerr.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
wintlsinit.c flip et / noet in modelines 2023-12-07 22:17:11 -05:00
wsagetoverlappedresult.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
wsarecv.c Fix the build 2024-08-26 16:44:05 -07:00
wsarecvfrom.c Fix handling of paths with dirfd on Windows 2024-09-01 17:52:30 -07:00
wsawaitformultipleevents.c Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00
x86.c Detect more x86 features 2024-07-29 00:16:29 -07:00
x86.h Detect more x86 features 2024-07-29 00:16:29 -07:00
x86march.c Improve AVX512 feature detection 2024-05-07 03:19:49 -07:00
x86names.c Add more Intel microarchitectures 2024-01-09 01:54:26 -08:00
xchg.h Get rid of .internal.h convention in LIBC_INTRIN 2024-07-19 19:38:00 -07:00