gecko-dev/xpcom
Nicholas Nethercote 225f3a87e4 Bug 1400193 (part 2) - Shrink PLDHashTable. r=froydnj.
This patch reduces sizeof(PLDHashTable) as follows.

- 64-bit: from 40 bytes to 32
- 32-bit: from 28 bytes to 20

It does this by doing the following.

- It moves mGeneration from EntryStore to PLDHashTable, to avoid unnecessary
  padding on 64-bit. This requires tweaking EntryStore::Set() as explained in a
  comment.

- It also shrinks mGeneration from uint32_t to uint16_t, saving 2 bytes of
  data.

- It shrinks mEntrySize from uint32_t to uint8_t, to cut 3 bytes of data.

- It shrinks mHashShift from int16_t to uint8_t, trimming another byte of data,
  and moves it, saving another 2 bytes of padding.

And it reorders the fields so the word-sized ones are at the start, which makes
it easier to imagine the memory layout.

The patch also adds a test, and fixes some misordered function arguments in
existing tests.

--HG--
extra : rebase_source : 6ed6f7be68477fd4a82f07dd2f51c1f1d9b92dcc
2017-09-15 20:04:29 +10:00
..
base Bug 1401100 - Remove nsIMemoryReporterCallback. r=erahm. 2017-09-22 08:09:29 +10:00
build Bug 1386427 - Part 1: Add XRE*NativeManifests locations to dirsvc r=kmag 2017-09-12 18:58:23 +02:00
components Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2017-09-21 16:42:31 +02:00
doc
ds Bug 1400193 (part 2) - Shrink PLDHashTable. r=froydnj. 2017-09-15 20:04:29 +10:00
glue Bug 1386876 - Replace all uses of DISABLE_STL_WRAPPING with a template, remove DISABLE_STL_WRAPPING. r=glandium 2017-09-11 11:33:26 -07:00
idl-parser Bug 338865 - Scriptable XPIDL iface inheriting from noscript iface should throw error. r=froydnj 2017-09-12 15:03:14 -07:00
io Bug 1401171 - Make nsIMultiplexInputStream not inherit from nsIInputStream. r=bkelly 2017-09-19 16:26:21 +02:00
libxpt/xptcall
reflect Bug 1394286 - mips64: fix error correction about stackpointer within function _NS_InvokeByIndex. r=froydnj 2017-08-30 10:01:26 +08:00
rust
string Bug 1401821 - nsTextFormatter "*" width argument comes before the actual argument; r=froydnj 2017-09-21 09:43:28 -06:00
system Bug 1385991 - Provide a chrome side notification informing the user about an incompatible version of JAWS screen reader. r=felipe 2017-09-08 16:05:06 -05:00
tests Bug 1400193 (part 2) - Shrink PLDHashTable. r=froydnj. 2017-09-15 20:04:29 +10:00
threads merge mozilla-inbound to mozilla-central. r=merge a=merge 2017-09-21 15:23:43 +02:00
typelib
windbgdlg
xpidl
moz.build
xpcom-config.h.in
xpcom-private.h.in