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
Перейти к файлу
Simon Sapin da04cde7ad servo: Merge #17703 - Reduce amount of Mako-generated code in style (from servo:code-size); r=emilio
In multiple places, instead of generated similar code for each CSS property, have a single code path that uses an enum such as `LonghandId`.

Fix https://bugzilla.mozilla.org/show_bug.cgi?id=1377262

Machine code size is measured with [bloaty](https://github.com/google/bloaty), looking at the total "VM size" in order to exclude debug info (which is stripped in binaries shipped to users).

```
mach build-geckolib --release
bloaty target/geckolib/release/libgeckoservo.a
```

Initial size was 9.56Mi. Successive commits in this PR bring it to 9.55Mi, 9.51Mi, 9.44Mi, 9.31Mi, 8.89Mi, 8.89Mi, and 7.54Mi. Total savings: 2.02 MiB.

In an optimized Firefox build with `mach build && mach package`, the size of `obj-x86_64-pc-linux-gnu/dist/firefox/libxul.so` goes from 109.11 MiB to 107.49 MiB, saving 1.62 MiB. I don’t really know how to explain the difference. Does `libgeckoservo.a` contain code that ends up not being used in `libxul.so`?

Source-Repo: https://github.com/servo/servo
Source-Revision: 68ae7ceff6e95f1008c6f32f240c1601e5d440d1

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3900ed70ecca1e3e31b627dec0264b8598c16bac
2017-07-13 08:51:55 -07:00
.cargo Bug 1277338 - Part 1: Turn js/src into the mozjs-sys crate; r=sfink 2016-10-13 16:12:42 -07:00
.vscode Bug 1377937 - Fix VSCode tasks on Windows (NPOTB, DONTBUILD). r=gps 2017-07-03 21:55:07 +03:00
accessible Merge m-c to inbound, a=merge 2017-07-12 18:26:46 -07:00
addon-sdk Bug 1373061 - Fallback on en-US in sdk/l10n.get. r=Pike 2017-07-07 11:32:53 -07:00
browser Merge autoland to central, a=merge CLOSED TREE 2017-07-13 15:51:26 -07:00
build Bug 1352602 - Part 2: Use build system SDK versions in Gradle configurations. r=maliu 2017-06-21 10:52:30 -07:00
caps Bug 945240 - Make nsIURI.host & variants return ASCII strings r=mcmanus 2017-07-11 19:09:10 +02:00
chrome Bug 1378712 - Remove all trailing whitespaces r=Ehsan 2017-07-06 14:00:35 +02:00
config Bug 1380381 - Set rust debuginfo=1 for cross-OSX builds; r=glandium a=kwierso to reopen this CLOSED TREE 2017-07-13 18:49:10 -04:00
db Bug 1371364 - Upgrade to SQLite 3.19.3. r=mak 2017-06-08 15:23:34 -04:00
devtools merge mozilla-inbound to mozilla-central a=merge 2017-07-13 16:35:22 +02:00
docshell Bug 1373198 - Part 8: disable rcwn for dom mochitest tests which require deterministic cache behavior, r=smaug 2017-07-11 20:11:00 +02:00
dom Merge autoland to central, a=merge CLOSED TREE 2017-07-13 15:51:26 -07:00
editor merge mozilla-inbound to mozilla-central a=merge 2017-07-12 11:07:09 +02:00
embedding Bug 1356569 - Remove notifyObservers' last parameter when it is falsy, r=jaws. 2017-04-14 21:51:39 +02:00
extensions Bug 1377989 - part3: Rename nsRange::GetParentAndOffsetAfter() to nsRange::GetContainerAndOffsetAfter() r=smaug 2017-07-11 21:17:52 +09:00
gfx Bug 1380142: Add a pref to enable the D3D11 debug layer and to break on errors. r=milan 2017-07-11 22:53:04 +02:00
gradle/wrapper Bug 1300094 - Update Gradle to 2.14.1 and Gradle Plugin to 2.1.3 r=sebastian 2016-09-22 14:31:01 -07:00
hal Bug 1378712 - Remove all trailing whitespaces r=Ehsan 2017-07-06 14:00:35 +02:00
image Bug 945240 - Make nsIURI.host & variants return ASCII strings r=mcmanus 2017-07-11 19:09:10 +02:00
intl Bug 1380083 - Pull in upstream ICU patch that changes '\' to '/' in #include. r=andre,m_kato 2017-07-12 12:34:50 -05:00
ipc Bug 945240 - Make nsIURI.host & variants return ASCII strings r=mcmanus 2017-07-11 19:09:10 +02:00
js merge mozilla-inbound to mozilla-central a=merge 2017-07-13 16:35:22 +02:00
layout Merge autoland to central, a=merge CLOSED TREE 2017-07-13 15:51:26 -07:00
media Bug 1379258 - Build webrtc/signaling code with coverage for LibFuzzer. r=gps 2017-07-07 20:43:59 +02:00
memory merge mozilla-inbound to mozilla-central a=merge 2017-07-11 12:51:59 +02:00
mfbt Backed out changeset 1a0693cc418b (bug 1374024) for bustage 2017-07-13 15:14:51 +02:00
mobile Bug 1352602 - Part 2: Use build system SDK versions in Gradle configurations. r=maliu 2017-06-21 10:52:30 -07:00
modules Bug 1380142: Add a pref to enable the D3D11 debug layer and to break on errors. r=milan 2017-07-11 22:53:04 +02:00
mozglue Bug 1378442 - Move Win64 profiler hooks to profiler_start. r=mstange 2017-07-05 18:45:31 -04:00
netwerk Merge mozilla-central to inbound 2017-07-13 16:38:32 +02:00
nsprpub Bug 1372579, uplift NSPR_4_16_BETA1, r=me 2017-06-23 15:52:30 +02:00
other-licenses Bug 1375472 - Use an optimized build of the 7-zip SFX stub. r=rstrong 2017-07-05 10:17:00 -07:00
parser Backed out changeset e0fd0ae58d0f (bug 1355746) 2017-07-12 19:19:22 +02:00
probes Bug 1344878 - add BUG_COMPONENT to probes/* files. r=Ms2ger 2017-03-24 09:50:48 -04:00
python Bug 1380381 - Set rust debuginfo=1 for cross-OSX builds; r=glandium a=kwierso to reopen this CLOSED TREE 2017-07-13 18:49:10 -04:00
rdf Bug 1378712 - Remove all trailing whitespaces r=Ehsan 2017-07-06 14:00:35 +02:00
security merge mozilla-inbound to mozilla-central a=merge 2017-07-13 16:35:22 +02:00
services Bug 1377183 - Manually follow folder queries when validating bookmarks. r=tcsc 2017-07-05 17:00:50 -07:00
servo servo: Merge #17703 - Reduce amount of Mako-generated code in style (from servo:code-size); r=emilio 2017-07-13 08:51:55 -07:00
startupcache Bug 1378712 - Remove all trailing whitespaces r=Ehsan 2017-07-06 14:00:35 +02:00
storage Bug 1378218 - Don't register visited callback if we have pending link update, r=ehsan,baku 2017-07-07 13:06:52 +03:00
taskcluster Bug 1380338 - Convert taskgraph unit tests to the |mach python-test| framework, r=dustin 2017-07-12 10:47:14 -04:00
testing merge mozilla-inbound to mozilla-central a=merge 2017-07-13 16:35:22 +02:00
third_party No bug - Revendor rust dependencies 2017-07-13 09:44:59 +00:00
toolkit Bug 1304042 - Fail the build if running dsymutil fails. r=mshal 2017-07-13 11:57:50 -07:00
tools Merge m-c to inbound, a=merge 2017-07-10 18:48:52 -07:00
uriloader Bug 1376459 - Prevent Offline Application Cache fallback namespace and fallback page be from a parent directory relative to the manifest. r=jduell 2017-07-12 16:58:19 -04:00
view Bug 1378712 - Remove all trailing whitespaces r=Ehsan 2017-07-06 14:00:35 +02:00
widget Backed out changeset 5a5d8de65b70 (bug 1379938) on CLOSED TREE 2017-07-13 23:16:12 +02:00
xpcom merge mozilla-inbound to mozilla-central a=merge 2017-07-13 16:35:22 +02:00
xpfe Bug 1379728 part 1. Remove the double-definition of the 'close' event from EventNameList.h. r=smaug 2017-07-11 17:49:24 -04:00
.clang-format Backed out changeset b14cbbf5256a (bug 1378250) on request from sylvestre 2017-07-05 16:55:27 +02:00
.clang-format-ignore Bug 1376488 - Remove some old paths from ThirdPartyPaths.txt. r=sylvestre, r=andi 2017-06-27 10:49:00 -04:00
.clang-tidy Bug 1319396 - Update the list of checkers in the .clang-tidy file r=Ehsan 2016-11-22 12:30:19 +01:00
.cron.yml Bug 1371038: Add configs for doing DMD builds r=Callek 2017-06-22 12:49:03 -04:00
.eslintignore Bug 1378788 - Clean up .eslintignore and clarify the directories that don't have js files. r=mossop 2017-07-06 15:31:07 +01:00
.eslintrc.js Bug 1359011 - Make the mozilla/recommended eslint configuration the default for the whole tree. r=mossop 2017-04-25 20:12:21 +01:00
.flake8 Bug 1288432 - Use new mozlint configuration for flake8 linter, r=bc 2017-06-02 09:46:01 -04:00
.gdbinit Bug 1317802 - don't stop for SIGSYS in .gdbinit; r=jld 2016-11-16 01:13:22 -05:00
.gdbinit_python Bug 1346025 - Move vendored python modules from /python to /third_party/python, r=ted 2017-05-25 11:48:03 -04:00
.gitignore Bug 1346025 - Move vendored python modules from /python to /third_party/python, r=ted 2017-05-25 11:48:03 -04:00
.hgignore Bug 1346025 - Move vendored python modules from /python to /third_party/python, r=ted 2017-05-25 11:48:03 -04:00
.hgtags No bug - Tagging mozilla-central f9605772a0c9098ed1bcaa98089b2c944ed69e9b with FIREFOX_BETA_55_BASE a=release DONTBUILD CLOSED TREE 2017-06-12 12:50:30 +01:00
.inferconfig Bug 1357629 - Add httpclientandroidlib to .inferconfig ignore list r=nalexander,njpark 2017-04-18 20:05:25 -07:00
.lldbinit Bug 1346025 - Move vendored python modules from /python to /third_party/python, r=ted 2017-05-25 11:48:03 -04:00
.taskcluster.yml Bug 1380391 - Index decision tasks under pushlog_id r=dustin 2017-07-12 10:56:02 -07:00
.ycm_extra_conf.py Bug 1293534: Fix .ycm_extra_conf after bug 1195748. r=gps 2016-08-09 10:30:58 -07:00
AUTHORS Bug 1111333 - Enable double-tap-drag to zoom. r=kats 2017-05-23 19:53:06 +02:00
Android.mk
CLOBBER Bug 1353650 - Part 12: Updating ICU requires a clobber. r=clobber 2017-05-11 05:44:35 -07:00
GNUmakefile
LEGAL
LICENSE
Makefile.in Bug 1379785 - Stop calling abspath on symbol_archive paths. r=gps 2017-07-10 15:25:04 -06:00
README.txt Bug 1349108 - Update links in README.txt to HTTPS r=RyanVM 2017-03-21 00:11:02 -04:00
aclocal.m4 Bug 1363992 - Remove jemalloc 4. r=njn 2017-05-11 13:23:07 +09:00
build.gradle Bug 1352602 - Part 2: Use build system SDK versions in Gradle configurations. r=maliu 2017-06-21 10:52:30 -07:00
client.mk Bug 1317778 - Emit a depfile with python configure dependencies so Make will know when to re-run configure. r=glandium 2016-12-02 10:05:57 -08:00
client.py
configure.in Bug 1295751 - Make it possible to copy configure.in to configure. r=gps 2016-08-16 19:35:00 -07:00
configure.py Bug 1316140 - Allow use of multiprocessing from config.status on windows. r=mshal 2016-12-21 16:28:28 -08:00
gradle.properties
gradlew
mach Bug 1316140 - Allow use of multiprocessing from config.status on windows. r=mshal 2016-12-21 16:28:28 -08:00
moz.build bug 1370176, generic configuration for l10n, r=flod,gps 2017-06-05 10:28:33 +02:00
moz.configure Bug 1370209 - Allow setting --disable-rust-debug when --enable-debug is used. r=froydnj 2017-07-10 10:46:31 -04:00
mozilla-config.h.in Bug 1371266 - libpng should be built with -std=c89. r=glennrp 2017-06-08 06:29:03 -07:00
npm-shrinkwrap.json Bug 1351608 - Add eslint-plugin-no-unsanitized to eslint-plugin-mozilla r=Standard8. 2017-07-03 20:07:00 +01:00
old-configure.in Bug 1352602 - Part 2: Use build system SDK versions in Gradle configurations. r=maliu 2017-06-21 10:52:30 -07:00
package.json Bug 1351608 - Add eslint-plugin-no-unsanitized to eslint-plugin-mozilla r=Standard8. 2017-07-03 20:07:00 +01:00
settings.gradle Backed out 2 changesets (bug 1355625) for causing bustage a=backout 2017-06-22 12:05:56 -07:00
test.mozbuild Bug 1229233 - Add a (incomplete) end-to-end build test. r=gps 2015-12-01 13:57:52 +09:00

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.]

You can download nightly development builds from the Mozilla FTP server.
Keep in mind that nightly builds, which are used by Mozilla developers for
testing, may be buggy. Firefox nightlies, for example, can be found at:

    https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/
            - or -
    https://nightly.mozilla.org/