gecko-dev/ipc/ipdl
Nathan Froyd 32b4accd77 Bug 1307500 - enhance string sharing between ipdl-generated MOZ_DIAGNOSTIC_ASSERT messages; r=billm
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.
2016-10-04 23:42:55 -04:00
..
ipdl Bug 1307500 - enhance string sharing between ipdl-generated MOZ_DIAGNOSTIC_ASSERT messages; r=billm 2016-10-04 23:42:55 -04:00
test Bug 1304876: Fix 64-bit build failure in IPC TestDataStructures test; r=billm 2016-09-19 13:15:39 -06:00
Makefile.in Bug 1239207 - Don't process IPDL when not compiling; r=glandium 2016-01-14 23:11:12 -08:00
ipdl.py
moz.build Bug 1286877 - do not set c-basic-offset for python-mode; r=gps 2016-07-14 10:16:42 -06:00
msgtype-components