Bug 2003511 - Cancel loading bookmarks if weve navigated from the BookmarksFragment#23
Closed
boek wants to merge 1 commit into
Closed
Bug 2003511 - Cancel loading bookmarks if weve navigated from the BookmarksFragment#23boek wants to merge 1 commit into
boek wants to merge 1 commit into
Conversation
Contributor
|
View this pull request in Lando to land it once approved. |
MatthewTighe
approved these changes
Jan 15, 2026
MatthewTighe
left a comment
Contributor
There was a problem hiding this comment.
I would prefer to use a resolved string resource in place of the string literal you've added to the State default, but not strongly enough to block on it. LGTM otherwise
86cc5ea to
25f5092
Compare
lando-worker Bot
pushed a commit
that referenced
this pull request
Jan 20, 2026
…kmarksFragment r=matt-tighe I also moved the initial folder state to the BookmarksState instead of loading it directly in the middleware. Without the change it prevented us from navigating back on long loads. Pull request: #23
|
Pull request closed by commit 4048b3e |
akliuxingyuan
pushed a commit
to akliuxingyuan/firefox-android
that referenced
this pull request
Mar 24, 2026
…kmarksFragment r=matt-tighe I also moved the initial folder state to the BookmarksState instead of loading it directly in the middleware. Without the change it prevented us from navigating back on long loads. Pull request: mozilla-firefox/firefox#23
runlevel5
added a commit
to runlevel5/firefox-ppc64
that referenced
this pull request
Apr 30, 2026
The previous clampDoubleToUint8 had two mispredictable branches (≤0/NaN
and ≥255), each with a small body that jumped to a shared exit. Hot
on Uint8ClampedArray store paths.
POWER9 added xsmaxjdp/xsminjdp which use Java/JS semantics (ISA v3.0B
§7.6.1.7): any NaN is treated as "less than any number that is not a
NaN". So xsmaxjdp(input, 0) collapses {NaN, -Inf, ≤ 0} all to 0 in a
single instruction — the entire "≤ 0 or NaN → 0" branch dance
disappears.
After the max, fctid (round-to-nearest-even per FPSCR default —
matches ECMA Uint8ClampedArray's round-half-to-even) saturates
out-of-int64 values to INT64_MAX. The remaining upper clamp
(output > 255 → 255) is one cmpdi + isel.
POWER9 path (7 insns, no branches):
zeroDouble fpscratch
xsmaxjdp fpscratch, input, fpscratch ; max(input, 0); NaN→0
fctid fpscratch, fpscratch
mfvsrd output, fpscratch
li max255, 255
cmpdi output, 255
isel output, max255, output, GreaterThan
POWER8 path: unchanged (xsmaxjdp unavailable; fctid maps NaN to
INT64_MAX which would clamp to 255 instead of the spec-required 0,
so we keep the explicit NaN-filtering branches).
Verified end-to-end:
- Real P9 jit-test --jitflags=none: 13715 PASS / 0 FAIL (default)
- Real P9 jit-test --jitflags=none MOZ_PPC64_FORCE_POWER8=1: 13715 / 0
- Real P9 jstests default: PASS
- Real P9 jstests MOZ_PPC64_FORCE_POWER8=1: PASS
- Sim MOZ_PPC64_FORCE_POWER9=1 jit-test: 13651 / 0
- Sim MOZ_PPC64_FORCE_POWER10=1 jit-test: 13651 / 0
- Sim MOZ_PPC64_FORCE_POWER8=1 jit-test: 13651 / 0
PLAN.md item mozilla-firefox#23 (POWER9 fast path; POWER8 fallback unchanged).
runlevel5
added a commit
to runlevel5/firefox-ppc64
that referenced
this pull request
May 11, 2026
…identify V0 cross-call state Three more probes: mozilla-firefox#22 probe mozilla-firefox#20 + signal-handler dump disabled: 4/10 = 40% (= mozilla-firefox#20 noise). Rules out the lc1 stderr dump as the corruption source. mozilla-firefox#23 probe mozilla-firefox#20 + constant-pool patcher (PatchConstantPoolLoad P8 fallback routed through V0 scratch): 4/10 = 40% (= mozilla-firefox#20 noise). Rules out the constant-pool load path as the residual source. mozilla-firefox#24 globalized probe mozilla-firefox#20 pattern: loadUnalignedSimd128 P8 fallback rewritten to lxvd2x V0; xxpermdi V0; stxvd2x V0; lvx dest. Result: 10/10 with 16-23 OOBs per iter (200 total) -- DRASTICALLY WORSE. V0 (= ScratchSimd128Reg) is in active cross-call use by the wasm Ion caller; clobbering it inside loadUnalignedSimd128 breaks 1000s of valid runs. Probe mozilla-firefox#24 forces the conclusion that the bug is upstream of any single helper: the wasm Ion register allocator is using V0 as both a persistent vperm-control register (for the matrix-loop shuffle constant) AND as a re-usable scratch for downstream helpers. Probe mozilla-firefox#20 works at 30% specifically because the truncSatFloat32x4ToInt32x4 callers happen to not depend on V0's prior contents; generalizing the pattern to loadUnalignedSimd128 doesn't survive that constraint. Real fix paths (next session): (a) reserve a dedicated VR for the wasm-loop vperm-control instead of sharing V0 with helpers' ScratchSimd128Scope, or (b) audit every helper's V0 use and round-trip the prior contents. Source state: probe mozilla-firefox#20 trunc_sat retained as the best-known partial fix (~20-50% REPRO range over multiple runs); all other patches reverted to clean baseline.
lando-worker Bot
pushed a commit
that referenced
this pull request
Jun 3, 2026
This is almost certainly unused. Bug 1380701 comment #23 mentioned PulseAudio in content processes, which is no longer supported. (If you flip `media.cubeb.sandbox` for testing, you'll need to turn off sandboxing; you should not flip that pref for production use.) In general there are very few places left where sandboxed processes can create files, and none of them should need symlinks. However, there might be libraries which were calling symlink and silently failing. Given all of that, this patch does not return symlink/symlinkat to being unexpected syscalls (crash on Nightly, ENOSYS otherwise) but instead just makes them quietly fail with EPERM. (This happens to match macOS, it's a reasonable error code, and tests can distinguish it from the EACCES of a broker rejection.) Differential Revision: https://phabricator.services.mozilla.com/D301463
lando-worker Bot
pushed a commit
that referenced
this pull request
Jun 4, 2026
This is almost certainly unused. Bug 1380701 comment #23 mentioned PulseAudio in content processes, which is no longer supported. (If you flip `media.cubeb.sandbox` for testing, you'll need to turn off sandboxing; you should not flip that pref for production use.) In general there are very few places left where sandboxed processes can create files, and none of them should need symlinks. However, there might be libraries which were calling symlink and silently failing. Given all of that, this patch does not return symlink/symlinkat to being unexpected syscalls (crash on Nightly, ENOSYS otherwise) but instead just makes them quietly fail with EPERM. (This happens to match macOS, it's a reasonable error code, and tests can distinguish it from the EACCES of a broker rejection.) Original Revision: https://phabricator.services.mozilla.com/D301463 Differential Revision: https://phabricator.services.mozilla.com/D304637
lando-worker Bot
pushed a commit
that referenced
this pull request
Jun 4, 2026
This is almost certainly unused. Bug 1380701 comment #23 mentioned PulseAudio in content processes, which is no longer supported. (If you flip `media.cubeb.sandbox` for testing, you'll need to turn off sandboxing; you should not flip that pref for production use.) In general there are very few places left where sandboxed processes can create files, and none of them should need symlinks. However, there might be libraries which were calling symlink and silently failing. Given all of that, this patch does not return symlink/symlinkat to being unexpected syscalls (crash on Nightly, ENOSYS otherwise) but instead just makes them quietly fail with EPERM. (This happens to match macOS, it's a reasonable error code, and tests can distinguish it from the EACCES of a broker rejection.) Original Revision: https://phabricator.services.mozilla.com/D301463 Differential Revision: https://phabricator.services.mozilla.com/D304650
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I also moved the initial folder state to the BookmarksState instead of loading it directly in the middleware. Without the change it prevented us from navigating back on long loads.