gecko-dev/memory
Mike Hommey 1f75d81c1c Bug 1417234 - Use SRWLock as Mutex for mozjemalloc on Windows. r=njn
SRWLock is more lightweight than CriticalSection, but is only available
on Windows Vista and more. So until we actually dropped support Windows
XP, we had to use CriticalSection.

Now that all supported Windows versions do have SRWLock, this is a
switch we can make, and not only because SRWLock is more lightweight,
but because it can be statically initialized like on other platforms,
allowing to use the same initialization code as on other platforms,
and removing the requirement for a DllMain, which in turn can allow
to statically link mozjemalloc in some cases, instead of requiring a
shared library (DllMain only works on shared libraries), or manually
call the initialization function soon enough.

There is a downside, though: SRWLock, as opposed to CriticalSection, is
not fair, meaning it can have thread scheduling implications, and can
theoretically increase latency on some threads. However, it is the
default used by Rust Mutex, meaning it's at least good enough there.
Let's see how things go with this.

--HG--
extra : rebase_source : 337dc4e245e461fd0ea23a2b6b53981346a545c6
2017-11-14 12:58:33 +09:00
..
build Bug 1417234 - Use SRWLock as Mutex for mozjemalloc on Windows. r=njn 2017-11-14 12:58:33 +09:00
fallible
gtest Bug 1402283 - Fix typo. r+a=RyanVM 2017-11-10 17:07:27 -05:00
mozalloc Bug 1411001 - Remove the +x permissions on cpp & h files r=froydnj 2017-10-23 20:59:55 +02:00
replace Bug 1417234 - Use SRWLock as Mutex for mozjemalloc on Windows. r=njn 2017-11-14 12:58:33 +09:00
volatile Bug 1392594 Make variable DebugOnly to address unused variable warning r=glandium 2017-08-24 22:55:35 -05:00
moz.build Bug 1407468 - Replace multiple !JS_STANDALONE with MOZ_WIDGET_TOOLKIT. r=mshal 2017-10-05 14:50:01 +09:00