зеркало из https://github.com/mozilla/gecko-dev.git
32b4accd77
For every protocol's RemoveManagee method, and every sub-protocol that protocol manages, we generate: MOZ_DIAGNOSTIC_ASSERT(mManagedPSubProtcolChild.Contains(actor), "..."); which dumps strings into the binary like: (mManagedPAsmJSCacheEntryChild).Contains(actor) (actor not managed by this!) MOZ_RELEASE_ASSERT((mManagedPAsmJSCacheEntryChild).Contains(actor)) (actor not managed by this!) The linker is capable of merging multiple strings together, but including the sub-protocol in every assert expression effectively defeats this linker optimization, resulting in ~40KB of unnecessary strings. We can improve this situation by taking a reference to the managee container, and using that reference in the assertion expression. All the assertion expressions are identical, and the linker can perform the expected string merging, for a savings of ~40KB. |
||
---|---|---|
.. | ||
app | ||
chromium | ||
contentproc | ||
dbus | ||
glue | ||
hal | ||
ipdl | ||
keystore | ||
mscom | ||
netd | ||
nfc | ||
ril | ||
testshell | ||
unixfd | ||
unixsocket | ||
moz.build | ||
pull-chromium.py |