Read-only Git mirror of the Mercurial gecko repositories at https://hg.mozilla.org. How to contribute: https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html
Go to file
Nathan Froyd 6b20e36d68 Bug 1508873 - part 2 - convert HashTable to work primarily in terms of slots; r=luke
HashTableEntry's data layout currently wastes a fair amount of space due
to ABI-mandated padding.  For instance, HashTableEntry<T*> on a 64-bit
platform looks like:

class HashTableEntry {
  HashNumber mKeyHash;
  // Four bytes of wasted space here to pad mValueData to the correct place.
  unsigned char mValueData[sizeof(T*)];
};

This wasted space means that sets of pointers backed by
mozilla::HashTable waste a quarter of their entry storage space.  Maps
of pointers to pointers waste a sixth of their entry storage space.
We'd like to fix this by packing all the cached hashes together,
followed by all the hash table entries.

As a first step to laying out the hash table storage differently, we
have to make HashTable not access entries directly, but go through an
abstraction that represents the key and the entry.  We call this
abstraction "slots".  This commit is similar to the change done for
PLDHashTable previously.

Parts of HashTable still work in terms of Entry; the creation and
destruction of tables was not worth changing here.  We'll address that
in the next commit.
2018-12-13 12:21:19 -05:00
.cargo Bug 1504507 - Update serde branch for changes in WR PR #3264. r=kats 2018-11-05 13:14:07 +00:00
.vscode Bug 1493017 - Tweak vscode tasks.json problemMatcher regexes to handle clang/Windows output - r=jya 2018-09-21 10:00:59 +00:00
accessible Bug 1415483 - Apply the new options to reject-importGlobalProperties across the codebase, remove unnecessary importGlobalProperties. r=nika 2018-12-11 21:39:40 +00:00
browser Bug 1500542 - Added ability to disable the disclaimer page of the new about:config. r=paolo 2018-12-13 14:26:20 +00:00
build Bug 1503012 - Part 2: Shim some web-platform-tests for streams into the jit-tests. r=arai,chmanchester,jimb 2018-12-09 15:48:33 +00:00
caps Bug 1511393 - Use c-basic-offset: 2 in Emacs mode line for C/C++ code. r=nbp 2018-12-01 04:52:05 +09:00
chrome Bug 1511393 - Use c-basic-offset: 2 in Emacs mode line for C/C++ code. r=nbp 2018-12-01 04:52:05 +09:00
config Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2018-12-10 07:58:12 -08:00
db Bug 1495238 - Upgrade to SQLite 3.25.3. r=mak 2018-11-06 16:59:19 +00:00
devtools Merge mozilla-central to mozilla-inbound. 2018-12-13 06:01:44 +02:00
docshell Bug 1512311 - Disable implicit rel=noopener in anchor and area elements if the triggering principal is system, r=nika 2018-12-12 17:55:13 +01:00
dom Bug 1513606 - Remove unused code in Fetch, r=smaug 2018-12-13 17:12:29 +01:00
editor Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-12-03 23:53:09 +02:00
embedding Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
extensions Bug 1503393 - adjust tests for localhost proxying r=mayhemer 2018-12-03 16:28:14 +02:00
gfx Bug 1513699 - Disable SkiaGL on WebRender r=jrmuizel 2018-12-13 18:01:16 +09:00
gradle/wrapper Bug 1509572 - Part 1: Bump Gradle wrapper to 4.10.2; decouple script from Gradle version. r=snorp 2018-11-26 21:42:27 +00:00
hal Bug 1511393 - Use c-basic-offset: 2 in Emacs mode line for C/C++ code. r=nbp 2018-12-01 04:52:05 +09:00
image Bug 1512052 - Add more .eslintrc.js files for test directories. r=mossop 2018-12-11 13:15:08 +00:00
intl Bug 1512052 - Add more .eslintrc.js files for test directories. r=mossop 2018-12-11 13:15:08 +00:00
ipc Backed out changeset 985505cc1347 (bug 1512673) for build bustage. CLOSED TREE 2018-12-12 00:14:25 +02:00
js Bug 1512989 - Part 2: Fix browser jstests failures. r=jorendorff 2018-12-13 04:10:06 -08:00
layout Bug 1512989 - Part 1: Pass correct test type. r=ahal 2018-12-11 06:06:34 -08:00
media Backed out changeset b3a9872c08d7 (bug 1513042) for Gtest failure 2018-12-12 02:13:45 +02:00
memory Bug 1511251 - Remove redundant and costly assert. r=njn 2018-12-05 14:45:52 +00:00
mfbt Bug 1508873 - part 2 - convert HashTable to work primarily in terms of slots; r=luke 2018-12-13 12:21:19 -05:00
mobile Bug 1494748 - Stop stumbler service when Fennec is killed. r=snorp 2018-12-12 11:53:49 -06:00
modules Bug 1071816 - Support loading unlabeled/BOMless UTF-8 text/html and text/plain files from file: URLs. r=emk. 2018-12-11 10:36:46 +02:00
mozglue Bug 1511393 - Use c-basic-offset: 2 in Emacs mode line for C/C++ code. r=nbp 2018-12-01 04:52:05 +09:00
netwerk Bug 1503393 - adjust tests for localhost proxying r=mayhemer 2018-12-03 16:28:14 +02:00
nsprpub Bug 1477680, NSPR 4.20 RTM, no code change, only version number, r=me 2018-08-28 16:21:01 +02:00
other-licenses Bug 1468544 - Replace mar_hash_name with CityHash algorithm. r=rstrong 2018-11-06 13:34:21 -05:00
parser Bug 1513513 - Drop the file: URL UTF-8 sniffing limit from 50 MB to 4 MB. r=emk. 2018-12-12 16:10:28 +02:00
python Merge inbound to mozilla-central a=merge 2018-12-12 07:12:07 +02:00
security bug 1496215 - Enable EV Treatment for UCA Extended Validation Root owned by SHECA r=jcj 2018-12-12 22:37:17 +00:00
services Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-12-11 00:11:47 +02:00
servo Bug 1513012 - Move overflow to use cbindgen. r=heycam 2018-12-11 03:07:08 +01:00
startupcache Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
storage Bug 1511393 - Use c-basic-offset: 2 in Emacs mode line for C/C++ code. r=nbp 2018-12-01 04:52:05 +09:00
taskcluster Merge inbound to mozilla-central a=merge 2018-12-12 07:12:07 +02:00
testing Bug 1512537 - Update test expectations. r=kats 2018-12-13 00:53:07 +00:00
third_party Bug 1512537 - Update euclid. r=kats 2018-12-13 00:53:58 +00:00
toolkit Bug 1511102 - update the about:performance table immediately when switching back to the tab, r=felipe. 2018-12-13 18:06:42 +01:00
tools Bug 1415483 - Apply the new options to reject-importGlobalProperties across the codebase, remove unnecessary importGlobalProperties. r=nika 2018-12-11 21:39:40 +00:00
uriloader Bug 1510911 - Part 3: Backout changeset d0997972e4d4 (bug 1493563 - Part 4) for regressing performance 2018-12-03 14:27:53 -05:00
view Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format 2018-11-30 11:46:48 +01:00
widget Bug 1512601 - Call BackgroundHangMonitor().NotifyWait() before opening system modal dialogs (file picker, print dialog) on Windows, r=dthayer. 2018-12-13 14:17:14 +01:00
xpcom Merge inbound to mozilla-central a=merge 2018-12-12 07:12:07 +02:00
xpfe/appshell Bug 1512052 - Add more .eslintrc.js files for test directories. r=mossop 2018-12-11 13:15:08 +00:00
.arcconfig
.clang-format Bug 1512716 - Re-indent NS_QUERYFRAME macros after clang-format. r=TYLin 2018-12-07 20:00:18 +00:00
.clang-format-ignore Bug 1512961 - Add security/manager/ssl/StaticHPKPins.h to the clang-format-ignore list r=Ehsan 2018-12-10 19:29:50 +00:00
.cron.yml Bug 1503547 - Move searchfox indexing jobs a half hour earlier to match nightly build times. r=mccr8 2018-11-01 15:37:07 +00:00
.eslintignore Bug 1512052 - Update some directories in .eslintignore, and correct a few .eslintrc.js files. r=mossop 2018-12-11 13:15:16 +00:00
.eslintrc.js Bug 1513636 - Temporarily turn off ESlint rule mozilla/reject-importGlobalProperties for dom/. r=mossop 2018-12-12 19:04:35 +00:00
.flake8 Bug 1508889 - Remove ipc/chromium from the lists of third-party code. r=Ehsan 2018-11-21 03:11:37 +00:00
.gdbinit Bug 1486903 - Add "ftl" command to dump frame subtree to .gdbinit. r=Ehsan 2018-08-28 20:20:21 +00:00
.gdbinit_python
.git-blame-ignore-revs Bug 1511501 - Add information about the tree-wide clang-format to .git-blame-ignore-revs r=kats 2018-12-04 05:01:02 +00:00
.gitignore Bug 1513036: Ignore files generated in the source tree by lalrpop. r=ted 2018-12-10 11:05:01 -08:00
.hg-annotate-ignore-revs Bug 1508324 - Create the .hg-annotate-ignore-revs file to be used with hg smart-annotate. r=ehsan DONTBUILD NPOTB 2018-11-30 01:16:10 -02:00
.hg-format-source Bug 1511181 - Quick fix for .hg-format-source that has an empty line. r=ehsan, a=aryx 2018-11-30 13:25:44 +02:00
.hgignore Bug 1513036: Ignore files generated in the source tree by lalrpop. r=ted 2018-12-10 11:05:01 -08:00
.hgtags No bug - Tagging mozilla-central 3386ff76878d83496bb822d09115c77472808b53 with FIREFOX_NIGHTLY_65_END a=release DONTBUILD CLOSED TREE 2018-12-10 07:29:08 -08:00
.lldbinit
.mailmap
.taskcluster.yml Bug 1486970 - Create revision and pushlog-id index routes for cron decision tasks. r=dustin,aki 2018-11-27 22:33:09 +00:00
.trackerignore Bug 1486468 - Add .trackerignore file to avoid GNOME Tracker indexing mozilla-central files. r=ahal 2018-08-27 16:45:03 +02:00
.yamllint
.ycm_extra_conf.py
aclocal.m4
AUTHORS Bug 1481409 - Use HTTPS protocol for Mozilla's Credits link in AUTHORS file r=mossop 2018-08-13 16:39:30 +00:00
build.gradle Backed out 4 changesets (bug 1509573) for unexpected bustages a=backout. 2018-11-30 01:40:06 +02:00
Cargo.lock Bug 1512537 - Update euclid. r=kats 2018-12-13 00:53:58 +00:00
Cargo.toml Bug 1507524 - Move webrender to gfx/wr. r=jrmuizel 2018-11-22 21:47:48 +00:00
client.mk Bug 1498031 - Merge code paths for running configure between Tup and Make based backends. r=firefox-build-system-reviewers,mshal 2018-10-16 22:21:36 +00:00
client.py
CLOBBER Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2018-12-10 07:58:12 -08:00
configure.in
configure.py
GNUmakefile
gradle.properties
gradlew
LEGAL
LICENSE
mach
Makefile.in Bug 1498031 - Merge code paths for running configure between Tup and Make based backends. r=firefox-build-system-reviewers,mshal 2018-10-16 22:21:36 +00:00
moz.build Bug 1508248 - Update in-tree bugzilla metadata to use 'Firefox Build System :: Mach Core' for mach files r=froydnj 2018-11-19 13:35:14 +00:00
moz.configure Bug 1502457 - Move MOZILLA_OFFICIAL to init.configure. r=nalexander 2018-11-16 01:16:31 +00:00
mozilla-config.h.in Bug 1504022 - Map GetExceptionCode to a nop to avoid an error r=bobowen 2018-11-02 13:28:01 -05:00
old-configure.in Bug 1501587 - Update old-configure.in for NSS 3.41 r=RyanVM 2018-12-12 15:00:59 +00:00
package-lock.json Bug 1495397 - Update mozilla-central's package.json for being more generic, and move existing ESLint modules to dev dependencies. r=firefox-build-system-reviewers,nalexander 2018-10-01 17:28:45 +00:00
package.json Bug 1495397 - Update mozilla-central's package.json for being more generic, and move existing ESLint modules to dev dependencies. r=firefox-build-system-reviewers,nalexander 2018-10-01 17:28:45 +00:00
README.txt Bug 1480997 - Remove "Mozilla FTP server" link in README.txt r=mossop 2018-10-23 10:06:29 +00:00
settings.gradle
test.mozbuild

An explanation of the Mozilla Source Code Directory Structure and links to
project pages with documentation can be found at:

    https://developer.mozilla.org/en/Mozilla_Source_Code_Directory_Structure

For information on how to build Mozilla from the source code, see:

    https://developer.mozilla.org/en/docs/Build_Documentation

To have your bug fix / feature added to Mozilla, you should create a patch and
submit it to Bugzilla (https://bugzilla.mozilla.org). Instructions are at:

    https://developer.mozilla.org/en/docs/Creating_a_patch
    https://developer.mozilla.org/en/docs/Getting_your_patch_in_the_tree

If you have a question about developing Mozilla, and can't find the solution
on https://developer.mozilla.org, you can try asking your question in a
mozilla.* Usenet group, or on IRC at irc.mozilla.org. [The Mozilla news groups
are accessible on Google Groups, or news.mozilla.org with a NNTP reader.]

Nightly development builds can be downloaded from:

    https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/
            - or -
    https://www.mozilla.org/firefox/channel/desktop/#nightly

Keep in mind that nightly builds, which are used by Mozilla developers for
testing, may be buggy.