зеркало из https://github.com/mozilla/gecko-dev.git
efd709bd4f
We only use nsINamed on runnables for certain kinds of telemetry, and those kinds of telemetry aren't being gathered on RELEASE_OR_BETA builds. We effectively make nsINamed::GetName a no-op when we're not collecting said telemetry. But implementing nsINamed does have a cost: the vtable of every runnable (and we have hundreds of subclasses of mozilla::Runnable) will contain pointers for GetName (and extra pointers for QueryInterface/AddRef/Release), and all those pointers times all those subclasses adds up quickly. Let's not implement nsINamed when nsINamed isn't going to be used. This change saves ~100K of binary size on x86-64 Linux; the savings should be similar on other 64-bit systems, and ~50K on 32-bit systems. |
||
---|---|---|
.. | ||
base | ||
build | ||
components | ||
doc | ||
ds | ||
glue | ||
idl-parser | ||
io | ||
libxpt/xptcall | ||
reflect | ||
rust | ||
string | ||
system | ||
tests | ||
threads | ||
typelib | ||
windbgdlg | ||
xpidl | ||
moz.build | ||
xpcom-config.h.in | ||
xpcom-private.h.in |