gecko-dev/xpcom/build
Nathan Froyd 6d7cf47871 Bug 1498651 - make initial timer target setting more efficient; r=erahm
The NS_NewTimer* family of functions, when using a custom event target,
currently go through a path that looks something like:

  auto timer = createTimer()
  timer->SetTarget(target);
  // call the requisite Init* function
  return timer;

This setup is inefficient, because SetTarget requires the timer mutex to
be acquired.  The mutex acquisition here is completely unnecessary,
because the timer hasn't yet been shared out to the wider world; we can
set the timer target without acquiring the mutex at all because we know
that no sharing is possible at this point.

This patch reworks things somewhat to make that possible.
2018-10-17 19:57:36 -04:00
..
BinaryPath.h
FileLocation.cpp Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj 2018-06-01 10:45:27 +02:00
FileLocation.h
IOInterposer.cpp
IOInterposer.h
IOInterposerPrivate.h
LateWriteChecks.cpp Bug 1486690 - Rename NS_str{,}dup and remove unnecessary checks after calls to them. r=glandium 2018-08-28 15:58:54 +10:00
LateWriteChecks.h
mach_override.c Bug 1498586 - Add clang-format off to avoid the reformatting of the data structures r=Ehsan 2018-10-12 20:48:24 +00:00
mach_override.h
MainThreadIOLogger.cpp
MainThreadIOLogger.h
moz.build Bug 1443471 - Take clang mingw into account in moz.build files r=glandium 2018-06-25 20:01:39 +02:00
NSPRInterposer.cpp
NSPRInterposer.h
nsXPCOM.h Bug 1445392: Avoid posting a slotchange event microtask during shutdown. r=smaug 2018-05-08 16:10:28 +02:00
nsXPCOMCID.h Bug 1483650 - Remove the component registration for nsCycleCollectorLogger; r=mccr8 2018-08-16 16:52:31 -04:00
nsXPCOMCIDInternal.h Bug 1491558 - Remove the XPCOM registration for nsThreadPool; r=froydnj 2018-09-15 12:13:57 -04:00
nsXPCOMPrivate.h bug 1366287 - Part 2.1: Track GMP memory allocation from XPCOM. r=njn 2018-05-11 19:42:49 -07:00
nsXULAppAPI.h Bug 1475177 - Change sendCommand xpcshell function to only accept plain JSFunction callbacks. r=evilpie 2018-07-16 14:02:16 +02:00
Omnijar.cpp
Omnijar.h
perfprobe.cpp
perfprobe.h
PoisonIOInterposer.h Bug 1441558 Do not compile the Poison IO Interposer on MinGW r=froydnj 2018-02-20 13:40:24 -06:00
PoisonIOInterposerBase.cpp
PoisonIOInterposerMac.cpp
PoisonIOInterposerStub.cpp
PoisonIOInterposerWin.cpp Bug 1460022: Part 12 - Update XPCOM to use revised DLL interceptor interface; r=froydnj 2018-06-27 11:52:18 -06:00
Services.py Bug 1489147 - Remove the XPCOM component registration for nsXPConnect; r=mccr8 2018-09-06 16:39:35 -04:00
xpcom_alpha.def
XPCOM.h Bug 1486528 - Remove some unnecessary nsIMemory imports. r=njn 2018-08-27 16:38:18 +02:00
XPCOMInit.cpp Bug 1498651 - make initial timer target setting more efficient; r=erahm 2018-10-17 19:57:36 -04:00
XPCOMModule.inc Bug 1498651 - make initial timer target setting more efficient; r=erahm 2018-10-17 19:57:36 -04:00
XREAppData.h Bug 1486690 - Rename NS_str{,}dup and remove unnecessary checks after calls to them. r=glandium 2018-08-28 15:58:54 +10:00
XREChildData.h
xrecore.h
XREShellData.h