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 00f3f3318d Bug 1443592: Part 7: Use jit::CommonFrameLayout to store the hasCachedSavedFrame flag for Baseline frames. r=jandem
A jit::BaselineFrame is followed in memory by a jit::JitFrameLayout; as the
stack grows downwards, the JitFrameLayout is pushed first, "followed" by the
BaselineFrame at lower addresses, and finally by locals and the operand stack.

A BaselineFrame* points, naturally, at the BaselineFrame structure, but we use
the address of the JitFrameLayout as the address for a physical Ion frame -
actually, a pointer to its base class, jit::CommonFrameLayout. This means that,
if OSR replaces a BaselineFrame with an Ion frame, then walking the stack with a
FrameIter will see an Ion frame where a BaselineFrame used to appear, and the
LiveSavedFrameCache::FramePtr we'll construct from that FrameIter will be
different.

If the LiveSavedFrameCache wants to assert that frames with their bits set
indeed appear in the cache, then we'd better clear the flag whenever we OSR the
frame. But this is a pity; it's still the same frame, representing the same
function activation.

Meanwhile, both BaselineFrame and CommonFrameLayout have their own
hasCachedSavedFrame flags, which is confusing.

This patch changes FramePtr to use a jit::CommonFrameLayout* for both Baseline
frames and physical Ion frames, so OSR does not change the frame's address, and
use CommonFrameLayout's hasCachedSavedFrame flag for both types, so that OSR
need not take any explicit steps to propagate the cached flag to the new frame.

MozReview-Commit-ID: rOMjUXlwIQ

--HG--
extra : rebase_source : 360cca36216e24b5668c28e7f4d02ef76b6a0fb8
extra : source : 000d13ca4b5c8427308753a4a1e23f56245dc19f
2018-03-06 14:55:28 -08:00
.cargo Bug 1426116 - Update for changes in WR PR 2251. r=jrmuizel 2018-01-08 09:19:27 -05:00
.vscode Bug 1423565 - Update tasks.json as per documentation. r=rillian 2017-12-06 14:59:35 +01:00
accessible Merge inbound to mozilla-central. a=merge 2018-03-07 12:03:48 +02:00
browser Merge inbound to mozilla-central. a=merge 2018-03-08 05:59:30 +02:00
build Merge inbound to mozilla-central. a=merge 2018-03-08 02:20:08 +02:00
caps Bug 1442716 - [caps] Handle empty origin gracefully in FUZZING. r=baku 2018-03-02 19:48:49 +01:00
chrome Bug 1433958 - Change code that sets nsIURI.pathQueryRef to use nsIURIMutator r=mayhemer 2018-02-26 20:43:45 +01:00
config Bug 1441791 - Use MOZILLA_DIR when including from mozilla topsrcdir. r=ted 2018-02-28 13:16:17 +01:00
db Bug 1442370 - Change SQLITE_TEMP_FILE_PREFIX to a Mozilla unique value. r=asuth 2018-03-01 20:55:18 +01:00
devtools Merge inbound to mozilla-central. a=merge 2018-03-08 05:59:30 +02:00
docshell Bug 1440771 - Part 3: Use nsCOMPtr<nsIInputStream> directly in PContent, r=baku 2018-03-05 16:00:05 -05:00
dom Bug 1444004. Implement Event.prototype.srcElement as an alias for .target, nightly-only. r=smaug 2018-03-07 23:38:14 -05:00
editor Merge autoland to mozilla-central. a=merge 2018-03-06 11:52:14 +02:00
embedding Bug 1431533: Part 5a - Auto-rewrite code to use ChromeUtils import methods. r=florian 2018-01-29 15:20:18 -08:00
extensions Bug 1066965, make contentEditable and spellchecking to work in ShadowDOM, r=mrbkap 2018-03-06 09:34:40 +09:00
gfx Merge inbound to mozilla-central. a=merge 2018-03-08 05:59:30 +02:00
gradle/wrapper Bug 1411654 - Part 1: Upgrade to Android-Gradle 3.0+ and build-tools;26.0.2. r=maliu 2017-10-26 11:00:36 -07:00
hal Bug 1423552: Use BaseRect access methods instead of member variables in hal/ r=gsvelto 2018-01-10 11:17:58 -05:00
image Bug 1443932 - part 2 - lower the default stack size for image decoder threads; r=tnikkel 2018-03-07 20:33:17 -05:00
intl Bug 1443697 - Fix nits in Fluent for Firefox Developers. r=flod 2018-03-06 17:48:17 -08:00
ipc Merge inbound to mozilla-central. a=merge 2018-03-07 12:03:48 +02:00
js Bug 1443592: Part 7: Use jit::CommonFrameLayout to store the hasCachedSavedFrame flag for Baseline frames. r=jandem 2018-03-06 14:55:28 -08:00
layout Backed out 2 changesets (bug 1440966, bug 1438990) for reftest failures e.g. async-scrolling/bg-fixed-child-mask.html==async-scrolling/bg-fixed-child-mask-ref.html on a CLOSED TREE 2018-03-07 11:01:05 +02:00
media Bug 868797 - Update libnestegg to be more tolerant of blocks with negative timecodes. r=kinetik 2018-02-28 16:34:05 -05:00
memory Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2018-03-02 18:24:58 +02:00
mfbt Bug 1443342 - Remove XorShift128PlusRNG.h from integer-overflow sanitizer blacklisting. r=froydnj 2018-03-06 09:33:52 -08:00
mobile Backed out 3 changesets (bug 1443660, bug 1443659, bug 1443658) for android-checkstyle bustage on a CLOSED TREE 2018-03-08 02:53:31 +02:00
modules Merge mozilla-inbound to mozilla-central. a=merge 2018-03-07 16:43:13 +02:00
mozglue Bug 1442255 - 7. Switch the order of fd arguments; r=jchen 2018-03-06 13:52:50 -05:00
netwerk Bug 1442756 - Switch nsHttpAuthCache::mDB to nsClassHashtable. r=mayhemer 2018-03-02 15:04:25 -08:00
nsprpub Bug 1432480, land NSPR_4_19_RTM, no code changes, only version numbers. Require version 4.19 for building. r=me 2018-03-05 17:05:18 +01:00
other-licenses Bug 1436475 Part 5 - Add a readme and a patch file with our changes to the 7-zip directory. r=agashlin 2018-02-13 09:17:07 -08:00
parser Bug 1442760 - Switch nsHTMLTags hashtables to nsDataHashtable. r=hsivonen 2018-03-06 17:27:17 -08:00
python Bug 1439727 - Purge untracked files in python/ and third_party/python/; r=nalexander 2018-03-07 15:06:21 -08:00
rdf Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian 2018-02-06 09:36:57 -08:00
security Merge autoland to mozilla-central. a=merge 2018-03-08 02:18:59 +02:00
services Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-03-07 12:07:19 +02:00
servo servo: Merge #20214 - Stop using LocalClip::RoundedRect (from mrobinson:stop-using-using-localclip-roundedrect); r=glennw 2018-03-06 15:53:11 -05:00
startupcache Bug 1439047 - Part 2: Cleanup StartupCache::PutBuffer hashtable usage. r=froydnj 2018-02-16 15:58:30 -08:00
storage Bug 1433175 - scripted patch to replace Components.classes[, Components.interfaces.nsI, Components.utils. and Components.results. with Cc, Ci, Cu and Cr, r=Mossop. 2018-02-28 18:51:33 +01:00
taskcluster Merge inbound to mozilla-central. a=merge 2018-03-08 02:20:08 +02:00
testing Backed out changeset 5138dcf1eddd (bug 1443558) for wpt permafailing on /service-workers/service-worker/client-navigate.https.html. a=backout 2018-03-08 07:05:18 +02:00
third_party Bug 1443248 - Update u2fhid to core-foundation-sys 0.5. r=ttaubert 2018-03-05 11:13:13 -08:00
toolkit Merge inbound to mozilla-central. a=merge 2018-03-08 05:59:30 +02:00
tools Bug 1434869 - Automatically mark EXPORTED_SYMBOLS as used, so that we don't need to ignore it in ESLint's no-unused-vars rule. r=florian. 2018-03-06 12:01:59 +00:00
uriloader Bug 1433175 - scripted patch to replace Components.classes[, Components.interfaces.nsI, Components.utils. and Components.results. with Cc, Ci, Cu and Cr, r=Mossop. 2018-02-28 18:51:33 +01:00
view Bug 1423551: Use BaseRect access methods instead of member variables in view/. r=jet 2018-01-10 11:16:22 -05:00
widget Merge inbound to mozilla-central. a=merge 2018-03-08 02:20:08 +02:00
xpcom Merge inbound to mozilla-central. a=merge 2018-03-08 05:59:30 +02:00
xpfe Bug 1442521 - Make width/height attr on <window> mean the inner size in nsXULWindow. r=bz 2018-03-02 22:42:57 +11:00
.arcconfig Bug 1424950: Add missing repository.callsign to .arcconfig. r=dkl 2017-12-13 15:38:18 +01:00
.clang-format Bug 1414764 - Remove Mozilla specific options to avoid build warnings with gcc and -Wcomment enabled. r=sylvestre 2017-11-06 11:47:40 +02:00
.clang-format-ignore Bug 1430792 - ExampleStylesheet.h should not be formatted r=andi 2018-01-16 16:37:01 +01:00
.cron.yml Bug 1418188 - Run Searchfox indexing in TaskCluster on a daily basis (r=dustin,chmanchester) 2017-11-23 07:25:12 -08:00
.eslintignore Bug 1154874 - Add a debugger-specific DAMP test for Talos [New Frontend] r=ochameau 2018-02-28 11:11:21 +01:00
.eslintrc.js Bug 1434446 - Enable no-unused-vars for global scope on jsm files in browser/. r=mossop 2018-03-01 20:06:06 +00:00
.flake8 Bug 1434430 - [flake8] Fix blank 'except' statements r=rwood 2018-01-31 14:32:08 -05:00
.gdbinit Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro. 2017-10-03 09:05:19 +11:00
.gdbinit_python
.gitignore Bug 1439727 - Ignore third_party/python/psutil/tmp/ in VCS; r=nalexander 2018-03-07 08:59:48 -08:00
.hgignore Bug 1439727 - Ignore third_party/python/psutil/tmp/ in VCS; r=nalexander 2018-03-07 08:59:48 -08:00
.hgtags No bug - Tagging mozilla-central e33efdb3e1517d521deb949de3fcd6d9946ea440 with FIREFOX_BETA_60_BASE a=release DONTBUILD CLOSED TREE 2018-03-01 16:09:36 +00:00
.inferconfig
.lldbinit Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro. 2017-10-03 09:05:19 +11:00
.mailmap NO BUG - Use ato's new address. r=me 2018-02-26 15:59:29 +00:00
.taskcluster.yml Bug 1437562: only use ..:branch:default role, not :*; r=bstack 2018-02-12 18:58:05 +00:00
.yamllint Bug 1392795 - [yamllint] Group paths to lint by their closest config and run each config group separately, r=dustin 2017-08-23 11:28:28 -04:00
.ycm_extra_conf.py
AUTHORS
CLOBBER Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2018-01-22 11:19:18 +00:00
Cargo.lock Bug 1443248 - Update u2fhid to core-foundation-sys 0.5. r=ttaubert 2018-03-05 11:13:13 -08:00
Cargo.toml Bug 1443168 - Exclude gfx/wrench from the mozilla-central workspace. r=mbrubeck 2018-03-05 10:57:05 -05:00
GNUmakefile
LEGAL
LICENSE
Makefile.in Bug 1424651: Remove unused SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE mozconfig variable; r=ted.mielczarek 2017-12-10 23:05:05 -07:00
README.txt
aclocal.m4
build.gradle Bug 1439410 - 1. Enable Kotlin for geckoview tests; r=nalexander 2018-02-22 18:39:11 -05:00
client.mk Bug 1417264 - Write .mozconfig.json from Python; r=nalexander 2017-11-13 17:45:03 -08:00
client.py Bug 1399100 - fix client.py follow-up, r=kaie 2017-09-20 09:13:14 +02:00
configure.in
configure.py Bug 1412460 - Don't write make variables in configure.d; r=mshal 2017-11-01 15:02:11 -07:00
gradle.properties Bug 1411654 - Part 2: Update Robolectric to 3.5.1. r=mcomella 2017-11-07 20:26:43 -08:00
gradlew
mach
moz.build Bug 1381576 - Use a Cargo workspace for rust crates. r=ted 2018-03-01 14:33:35 -08:00
moz.configure Bug 1435424 - Remove doxygen support from the build system. r=gps 2018-02-02 14:24:18 -08:00
mozilla-config.h.in Bug 1431803 Turn __try into if(true) and __except into else in the chromium sandbox code r=bobowen,glandium 2018-01-22 12:18:51 -06:00
npm-shrinkwrap.json Bug 1439949 - Update eslint to 4.18.1 to support async iteration. r=mossop 2018-02-21 16:00:24 +00:00
old-configure.in Bug 1432480, land NSPR_4_19_RTM, no code changes, only version numbers. Require version 4.19 for building. r=me 2018-03-05 17:05:18 +01:00
package.json Bug 1439949 - Update eslint to 4.18.1 to support async iteration. r=mossop 2018-02-21 16:00:24 +00:00
settings.gradle Bug 1360587 - Part 2. Remove bouncer apk build config; source; docs, r=nalexander 2017-10-25 22:51:44 +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.]

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/