зеркало из 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. |
||
---|---|---|
.. | ||
ipdl | ||
test | ||
Makefile.in | ||
ipdl.py | ||
moz.build | ||
msgtype-components |