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
Перейти к файлу
Nathan Froyd 27902c8e43 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-12 14:57:21 -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 1495189 - Remove glyph-dropdown{,@2x}.png and replace usages with arrow-dropdown-12.svg. r=jaws 2018-12-12 19:20:02 +01:00
build Bug 1513134 - Detect unnecessary --help dependencies. r=firefox-build-system-reviewers,gps 2018-12-11 19:34:28 +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 Backed out changeset 3babbb8e7ec0 (bug 1512454) for failing browser_aboutURLs.js CLOSED TREE 2018-12-12 14:04:02 +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 Merge mozilla-inbound to mozilla-central a=merge 2018-12-12 18:32:14 +02: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 Merge mozilla-central to autoland. CLOSED TREE 2018-12-11 18:29:02 +02:00
gfx Merge inbound to mozilla-central a=merge 2018-12-12 07:12:07 +02: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 Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2018-12-12 18:37:45 +02:00
layout Merge mozilla-inbound to mozilla-central a=merge 2018-12-12 18:32:14 +02: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-12 14:57:21 -05:00
mobile Bug 1508794 - skip on debug org.mozilla.geckoview.test.GeckoSessionTestRuleTest.waitForChromeJS. r=gbrown 2018-12-11 20:47:40 +00: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 1507467 - Make sure mAfterOnStartRequestBegun is true for channels loaded with LOAD_ONLY_IF_MODIFIED, r=valentin 2018-12-12 21:02:18 +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 1415483 - Apply the new options to reject-importGlobalProperties across the codebase, remove unnecessary importGlobalProperties. r=nika 2018-12-11 21:39:40 +00:00
services Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-12-11 00:11:47 +02:00
servo No bug - Fix a warning in a test. 2018-12-12 20:06:00 +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 1512686 - Use pidof to determine android process pid, when available; r=bc 2018-12-12 07:51:24 -07:00
third_party Bug 1513173 - Update darling to 0.8.1 and revendor rust dependencies. r=emilio 2018-12-12 18:58:48 +01:00
toolkit Bug 1495189 - Remove glyph-dropdown{,@2x}.png and replace usages with arrow-dropdown-12.svg. r=jaws 2018-12-12 19:20:02 +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 Backed out changeset 47aeeaf1c35b (bug 1513201) for build bustage. CLOSED TREE 2018-12-12 00:44:57 +02:00
xpcom Bug 1505522: Follow-up: Resolve gatherMemory() promise in release builds. r=me 2018-12-12 11:35:13 -08:00
xpfe/appshell Bug 1512052 - Add more .eslintrc.js files for test directories. r=mossop 2018-12-11 13:15:08 +00:00
.arcconfig Bug 1460463 - Update .arcconfig to make history mutable; r=gps 2018-05-09 23:49:52 +00:00
.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 1486741 - Enable ESLint rule comma-dangle for all of mozilla-central (setup ESLint). r=mossop 2018-10-19 08:46:31 +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 Bug 1481555: Use lldb's python API to summarise nsAtoms. r=froydnj 2018-08-08 15:11:22 +00:00
.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
AUTHORS Bug 1481409 - Use HTTPS protocol for Mozilla's Credits link in AUTHORS file r=mossop 2018-08-13 16:39:30 +00:00
CLOBBER Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2018-12-10 07:58:12 -08:00
Cargo.lock Bug 1513173 - Update darling to 0.8.1 and revendor rust dependencies. r=emilio 2018-12-12 18:58:48 +01:00
Cargo.toml Bug 1507524 - Move webrender to gfx/wr. r=jrmuizel 2018-11-22 21:47:48 +00:00
GNUmakefile
LEGAL
LICENSE
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
README.txt Bug 1480997 - Remove "Mozilla FTP server" link in README.txt r=mossop 2018-10-23 10:06:29 +00:00
aclocal.m4
build.gradle Backed out 4 changesets (bug 1509573) for unexpected bustages a=backout. 2018-11-30 01:40:06 +02: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
configure.in
configure.py Bug 1461836 - Write out complete configure dependencies from configure for consumption by make and non-make backends. r=mshal 2018-05-21 14:01:50 -07:00
gradle.properties Bug 1453413 - Use aapt2 to build Firefox for Android. r=mcomella 2018-04-11 09:59:22 -07:00
gradlew
mach
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 Merge mozilla-central to autoland a=merge on a CLOSED TREE 2018-11-27 01:03:16 +02: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
settings.gradle Bug 1444546 - Part 2: Build annotationProcessors with Gradle. r=jchen 2018-02-22 16:11:14 -08:00
test.mozbuild

README.txt

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.