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
Перейти к файлу
Jim Blandy 641b0f8465 Bug 1145201: Remove unnecessary SpiderMonkey internal job queue reset. r=jorendorff
The call to `cx->jobQueue->reset()` doesn't do anything that isn't also
accomplished by the call to `fop->delete_(cx->jobQueue.ref())` two lines later.
Since `cx->jobQueue` is a `ThreadData<PersistentRooted<JobQueue>*>`, the
`PersistentRooted` actually owns the `JobQueue` (despite the field's name
`ptr`), rather than holding a pointer to it, so deleting the `PersistentRooted`
invokes the `JobQueue` destructor.

In more detail:

`JSContext::jobQueue` is a `ThreadData<PersistentRooted<JobQueue>*>`, so the
call `cx->jobQueue->reset()` performs the following steps:

- Call `ProtectedData::operator->`, obtaining a (const reference to a non-const)
  pointer `PersistentRooted<JobQueue>*`.

- Call `PersistentRooted::reset`, which move-assigns a fresh `JobQueue` to the
  `ptr` member. Note that `PersistentRooted<JobQueue>::ptr` is a `JobQueue`,
  *not* a pointer.

But the subsequent call to `fop->delete_(cx->jobQueue.ref())` will perform the
following steps:

- Call `ProtectedData::ref`, obtaining a (reference to a)
  `PersistentRooted<JobQueue>*` pointer.

- Call `PersistentRooted<JobQueue>`'s destructor, which destructs `ptr`. Since
  `ptr` is a `JobQueue`, this calls the `JobQueue`'s destructor, safely freeing
  its resources.

Differential Revision: https://phabricator.services.mozilla.com/D15120

--HG--
extra : moz-landing-system : lando
2019-01-03 15:19:09 +00:00
.cargo
.vscode Bug 1514820 - Recommend a VSCode extension for IDL language highlighting r=jya 2018-12-18 19:43:33 +00:00
accessible Bug 1516307 - Make nsIDOMWindowUtils.getResolution return the result value. r=botond 2018-12-30 01:15:27 +00:00
browser No Bug, mozilla-central repo-update HSTS HPKP blocklist remote-settings - a=repo-update r=RyanVM 2019-01-03 13:39:23 +00:00
build Bug 1507344 - Add a configure option for JARLOG_FILE in profile use builds. r=nalexander 2018-12-21 19:05:44 +00:00
caps Bug 1516853 - Merge nsIDocument and nsDocument. r=smaug 2018-12-31 14:10:19 +00:00
chrome
config bug 1498909 - dynamically load libsecret at runtime if available r=franziskus,jcj 2019-01-03 00:39:45 +00:00
db Backed out changeset 7408e4b312e9 (bug 1514683) because it's not the correct way to enable SQLITE_DBCONFIG_DEFENSIVE. 2018-12-21 20:44:51 -05:00
devtools Bug 1512154 - Convert protocol.js to es classes. r=yulia 2019-01-02 13:38:54 +00:00
docshell Bug 1353867 - Add cross-process proxies for WindowProxy. r=bzbarsky 2019-01-02 13:29:18 +00:00
dom Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2019-01-03 18:26:38 +02:00
editor Bug 1516853 - Merge nsIDocument and nsDocument. r=smaug 2018-12-31 14:10:19 +00:00
embedding
extensions Bug 1517173 - Add words to en-US dictionary. r=ehsan 2019-01-02 10:25:10 +07:00
gfx Bug 1517460 - Update webrender to commit 477d395e08a9f6b891fa748defd2fa2c35d0e5be (WR PR #3458). r=kats 2019-01-03 12:35:42 +00:00
gradle/wrapper
hal
image Bug 1511603. Ignore grayscale color profiles in webp images because webp images are never grayscale. r=aosmond 2018-12-21 00:58:00 -05:00
intl Bug 1516853 - Merge nsIDocument and nsDocument. r=smaug 2018-12-31 14:10:19 +00:00
ipc Bug 1515770 - don't generate commented-out skeleton implementations of IPDL protocols; r=froydnj 2018-12-21 15:03:26 +00:00
js Bug 1145201: Remove unnecessary SpiderMonkey internal job queue reset. r=jorendorff 2019-01-03 15:19:09 +00:00
layout Bug 1517103 - Keep the refresh driver ticking when there are pending visual viewport events. r=botond 2019-01-03 13:16:20 +00:00
media Bug 1353867 - Add cross-process proxies for WindowProxy. r=bzbarsky 2019-01-02 13:29:18 +00:00
memory
mfbt Bug 1517237 - Make move assignment of RefPtr to have the same behavior as nsCOMPtr's, r=froydnj 2019-01-02 21:44:32 +02:00
mobile Bug 1516799 - add fluent branding on fennec, r=zbraniecki 2019-01-02 22:50:45 +00:00
modules Bug 1516241 - Disable LSNG pref on Nightly; r=gsvelto 2018-12-24 14:42:42 +01:00
mozglue Bug 1505482: Allow DLL patcher to resolve some backward short JMPs (r=aklotz) 2018-12-26 17:28:37 +00:00
netwerk Bug 1510223 - Warn about scripts with wrong MIME type. r=ckerschb,nchevobbe 2019-01-03 08:58:48 +00:00
nsprpub
other-licenses
parser Bug 1516366 - Move base classes from nsDocument to nsIDocument. r=smaug 2018-12-29 20:41:28 +01:00
python Bug 1507344 - Add configure machinery for MOZ_PROFILE_USE and merging profile. r=nalexander 2018-12-21 19:02:11 +00:00
security Bug 1095602 - Remove STATE_SECURE flags from nsIWebProgressListener; r=Ehsan 2019-01-03 17:35:48 +00:00
services No Bug, mozilla-central repo-update HSTS HPKP blocklist remote-settings - a=repo-update r=RyanVM 2019-01-03 13:39:23 +00:00
servo Bug 1516829 - Replace trim_{left,right}* with trim_{start,end}*. r=emilio 2018-12-30 08:37:19 +00:00
startupcache
storage Bug 1513892 - Part 1: Cache usage in the database table; r=asuth 2018-12-21 06:26:25 +01:00
taskcluster Bug 1511356 - Run speedometer on fennec via Raptor; r=jmaher,jlund 2019-01-02 20:43:21 +00:00
testing Bug 1511356 - Run speedometer on fennec via Raptor; r=jmaher,jlund 2019-01-02 20:43:21 +00:00
third_party Bug 1516262 - Part 2: Revendor rust dependencies; r=ato 2019-01-02 12:13:08 +00:00
toolkit Bug 1507344 - Add a configure option for JARLOG_FILE in profile use builds. r=nalexander 2018-12-21 19:05:44 +00:00
tools Bug 1509962: [update-verify] Import update-verify replacement certs from build-tools; r=me 2019-01-02 19:13:34 -07:00
uriloader Bug 1095602 - Remove STATE_SECURE flags from nsIWebProgressListener; r=Ehsan 2019-01-03 17:35:48 +00:00
view Bug 1322780 - Part 2: Support unprefixed min-content and max-content. r=mats,emilio 2018-12-18 18:47:37 +00:00
widget Bug 1516555 - Reformat everything to the Google coding style r=Ehsan 2018-12-28 15:48:06 +00:00
xpcom Merge mozilla-inbound to mozilla-central. a=merge 2019-01-03 18:22:07 +02:00
xpfe/appshell Bug 1353867 - Add cross-process proxies for WindowProxy. r=bzbarsky 2019-01-02 13:29:18 +00:00
.arcconfig
.clang-format
.clang-format-ignore
.cron.yml Bug 1514087: [taskgraph] Add an option to not optimize target tasks in cron graphs; r=dustin 2018-12-26 14:43:34 +00:00
.eslintignore Bug 1515942 - Enable ESLint for gfx/ (manual fixes). r=kats 2018-12-27 09:45:01 +00:00
.eslintrc.js Bug 1515942 - Enable ESLint for gfx/ (manual fixes). r=kats 2018-12-27 09:45:01 +00:00
.flake8
.gdbinit
.gdbinit_python
.git-blame-ignore-revs Bug 1516755 - Update the list of git revisions in .git-blame-ignore-revs r=jya 2018-12-29 18:03:27 +00:00
.gitignore
.hg-annotate-ignore-revs Bug 1508324 - Generate list of past changesets to be skipped for blame. r=me NPOTB DONTBUILD 2018-12-27 18:08:25 -02:00
.hg-format-source
.hgignore
.hgtags
.lldbinit
.mailmap
.taskcluster.yml Bug 1492664 - set TASKCLUSTER_ROOT_URL and TASKCLUSTER_PROXY_URL; r=tomprince,glandium 2018-09-25 20:18:19 +00:00
.trackerignore
.yamllint
.ycm_extra_conf.py
AUTHORS
CLOBBER
Cargo.lock Bug 1517390 - Update webrender to commit 184314dfbb5dbf4a290994753a9712eff1b97e3a (WR PR #3457). r=kats 2019-01-03 04:05:14 +00:00
Cargo.toml
GNUmakefile
LEGAL
LICENSE
Makefile.in Bug 1507338 - Add a configure option for MOZ_PROFILE_GENERATE. r=firefox-build-system-reviewers,mshal 2019-01-03 16:16:38 +00:00
README.txt
aclocal.m4
build.gradle Bug 1506658 - Add @Nullable or @NonNull to all APIs. r=snorp,rbarker,geckoview-reviewers 2018-12-20 15:22:45 +00:00
client.mk
client.py
configure.in
configure.py
gradle.properties
gradlew
mach
moz.build Bug 1507344 - Add configure machinery for MOZ_PROFILE_USE and merging profile. r=nalexander 2018-12-21 19:02:11 +00:00
moz.configure
mozilla-config.h.in
old-configure.in Bug 1517077. Remove Cairo D2D backend. r=lsalzman 2019-01-01 21:55:39 -05:00
package-lock.json
package.json
settings.gradle
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.