author Jan de Mooij <>
Sat, 12 Jan 2019 10:50:04 +0000
changeset 453631 cfa1c48c717048f00eb4811b5719cd716eb1e5b3
parent 442545 480b34db3172d2456b619681d4a05216221066f0
permissions -rw-r--r--
Bug 1518753 part 5 - Stop using JSProtoKey for initial shapes. r=tcampbell I added this optimization in bug 1299107 to share more shapes across compartments. Unfortunately this doesn't play well with same-compartment realms (ICs can misbehave) because it relies on compartments being isolated from each other. I think we should remove this optimization: * Fixing the IC issue is impossible without deoptimizing everything. * I added it mainly for chrome globals. The shared-JSM-global work has eliminated the need for this there. * Same-compartment realms win memory back by eliminating CCWs etc. * It's quite a lot of complicated code. Differential Revision:

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

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

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

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

Nightly development builds can be downloaded from:
            - or -

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