mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-23 18:26:15 +00:00
5fd1d453a9
This change moves us away from NSPR primitives for our primary synchronization primitives. We're still using PRMonitor for ReentrantMonitor, however. The benefits of this change: * Slightly faster, as we don't have to deal with some of NSPR's overhead; * Smaller datatypes. On POSIX platforms in particular, PRLock is enormous. PRCondVar also has some unnecessary overhead. * Less dynamic memory allocation. Out of necessity, Mutex and CondVar allocated the NSPR data structures they needed, which lead to unnecessary checks for failure. While sizeof(Mutex) and sizeof(CondVar) may get bigger, since they're embedding structures now, the total memory usage should be less. * Less NSPR usage. This shouldn't need any explanation. |
||
---|---|---|
.. | ||
base | ||
build | ||
components | ||
doc | ||
ds | ||
glue | ||
idl-parser | ||
io | ||
libxpt/xptcall | ||
reflect | ||
rust/nsstring | ||
string | ||
system | ||
tests | ||
threads | ||
typelib | ||
windbgdlg | ||
xpidl | ||
moz.build | ||
xpcom-config.h.in | ||
xpcom-private.h.in |