Repository navigation
Conversation
There was a problem hiding this comment.
24 issues have been found in this revision.
24 issues are located outside of the files touched by the patch:
mfbt/RefPtr.h:49Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]mfbt/RefPtr.h:48Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]mfbt/RefPtr.h:49Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]mfbt/RefPtr.h:48Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:339Error: No matching function for call to 'ToSupports' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:421Error: No matching function for call to 'ToSupports' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:361Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:327Error: Static assertion failed due to requirement 'std::integral_constant<bool, false>::value': nsCOMPtr only works for types with IIDs. Either use RefPtr; add an IID to your type with NS_INLINE_DECL_STATIC_IID/ ;or make the nsCOMPtr point to a base class with an IID. [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Incomplete type 'nsIPrincipal' named in nested name specifier [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Incomplete type 'nsINode' named in nested name specifier [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:361Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]dom/bindings/TypedArray.h:977Error: Use c++20 type alias [clang-tidy: modernize-type-traits,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.memory/replace/dmd/DMD.h:85Error: Use of undeclared identifier 'MOZ_ASSERT' [clang-tidy: clang-diagnostic-error]xpcom/string/nsReadableUtils.h:422Error: Non-const lvalue reference to type 'nsAString' (aka 'nsTSubstring<char16_t>') cannot bind to a temporary of type 'Span<element_type, dynamic_extent>' (aka 'Span<char16_t, dynamic_extent>') [clang-tidy: clang-diagnostic-error]xpcom/string/nsReadableUtils.h:411Error: No member named 'Utf16ValidUpTo' in namespace 'mozilla' [clang-tidy: clang-diagnostic-error]xpcom/string/nsReadableUtils.h:422Error: No member named 'EnsureUtf16ValiditySpan' in namespace 'mozilla'; did you mean 'EnsureUTF16Validity'? [clang-tidy: clang-diagnostic-error]xpcom/string/nsTSubstring.h:22Error: "Using XPCOM strings is limited to code linked into libxul." [clang-tidy: clang-diagnostic-error]xpcom/threads/TimerThreadMonitor.h:70Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:71Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:69Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:72Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:68Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.
This review is now deprecated.
There was a problem hiding this comment.
24 issues have been found in this revision.
24 issues are located outside of the files touched by the patch:
mfbt/RefPtr.h:49Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]mfbt/RefPtr.h:48Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]mfbt/RefPtr.h:49Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]mfbt/RefPtr.h:48Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:339Error: No matching function for call to 'ToSupports' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:421Error: No matching function for call to 'ToSupports' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:361Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:327Error: Static assertion failed due to requirement 'std::integral_constant<bool, false>::value': nsCOMPtr only works for types with IIDs. Either use RefPtr; add an IID to your type with NS_INLINE_DECL_STATIC_IID/ ;or make the nsCOMPtr point to a base class with an IID. [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Incomplete type 'nsIPrincipal' named in nested name specifier [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Incomplete type 'nsINode' named in nested name specifier [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:361Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]dom/bindings/TypedArray.h:977Error: Use c++20 type alias [clang-tidy: modernize-type-traits,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.memory/replace/dmd/DMD.h:85Error: Use of undeclared identifier 'MOZ_ASSERT' [clang-tidy: clang-diagnostic-error]xpcom/string/nsReadableUtils.h:422Error: Non-const lvalue reference to type 'nsAString' (aka 'nsTSubstring<char16_t>') cannot bind to a temporary of type 'Span<element_type, dynamic_extent>' (aka 'Span<char16_t, dynamic_extent>') [clang-tidy: clang-diagnostic-error]xpcom/string/nsReadableUtils.h:411Error: No member named 'Utf16ValidUpTo' in namespace 'mozilla' [clang-tidy: clang-diagnostic-error]xpcom/string/nsReadableUtils.h:422Error: No member named 'EnsureUtf16ValiditySpan' in namespace 'mozilla'; did you mean 'EnsureUTF16Validity'? [clang-tidy: clang-diagnostic-error]xpcom/string/nsTSubstring.h:22Error: "Using XPCOM strings is limited to code linked into libxul." [clang-tidy: clang-diagnostic-error]xpcom/threads/TimerThreadMonitor.h:70Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:71Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:69Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:72Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:68Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.
by removing -dontobfuscate. The allowshrinking and allowoptimization flags allow R8 to shrink and optimize Fenix while keeping its names. NB Fenix now has the broadest possible keep rule to allow us to retain its full class and function names in stack traces for now. We can work on this to narrow the rule to what is really required and further improve performance.
e24eca9 to
000a650
Compare
This review is now deprecated.
There was a problem hiding this comment.
25 issues have been found in this revision.
25 issues are located outside of the files touched by the patch:
Cargo.lockError: Crate depends on a vulnerable version of libsqlite3-sys.
Advisory:
libsqlite3-sys via C SQLite CVE-2026-119375
Package: libsqlite3-sys
ID: RUSTSEC-2026-0459
CVSS: CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Report date: 2026-10-30
SQLite versions before 3.54.0 can return uninitialized page-cache memory when a process opens a database file together with a sibling write-ahead-log (-wal) file whose page size differs from the database's. A crafted pair of files can make ordinary queries return stale bytes from the process's memory. The attack vector is local and needs the victim to open the files.
As libsqlite3-sys bundles SQLite when it is built from its bundled source (the bundled feature, which rusqlite's bundled feature enables), it is susceptible to the vulnerability. The releases 0.6.0 to 0.38.2 bundle SQLite 3.13.0 to 3.53.2 and are affected; the earlier releases contain no SQLite source. libsqlite3-sys was updated to bundle the patched version of SQLite in 0.39.0 (SQLite 3.54.0) and 0.39.1 (SQLite 3.54.1), released with rusqlite 0.41. libsqlite3-sys 0.39 declares Rust 1.88 and rusqlite 0.41 declares Rust 1.89.
Only a process that opens a database file, with its -wal, that a less trusted party could have written is exposed. A build that links a system SQLite instead of the bundled source is not affected by the copy in this crate; its exposure is that of the system library's version. The bundled-sqlcipher feature builds SQLCipher instead of SQLite; in 0.39.0 and 0.39.1 it depends on sqlcipher-src =419.0.6, which bundles SQLite 3.53.4 and is affected.
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-119375
Patched versions: [
">=0.39.0"
]
Unaffected versions: [
"<0.6.0"
]
Advisory metadata: {
"aliases": [
"CVE-2026-119375",
"GHSA-72w2-rjgg-q729"
],
"related": [],
"collection": "crates",
"categories": [
"memory-exposure"
],
"keywords": [
"sqlite",
"wal",
"uninitialized-memory",
"information-disclosure"
],
"informational": null,
"references": [
"https://sqlite.org/bugs/info/2026-08-17T15:54:41Z",
"https://github.com/sqlite/sqlite/commit/e5bf119821f25be1d7f10ef0a2edbe175289166e",
"https://sqlite.org/releaselog/3_54_0.html",
"https://github.com/rusqlite/rusqlite/releases/tag/v0.41.0"
],
"source": null,
"withdrawn": null,
"license": "CC0-1.0"
}
Package info: {
"name": "libsqlite3-sys",
"version": "0.35.0",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"checksum": "133c182a6a2c87864fe97778797e46c7e999672690dc9fa3ee8e241aa4a9c13f",
"dependencies": [
{
"name": "cc",
"version": "1.4.5",
"source": null
},
{
"name": "pkg-config",
"version": "0.3.34",
"source": "registry+https://github.com/rust-lang/crates.io-index"
},
{
"name": "vcpkg",
"version": "0.2.999",
"source": null
}
],
"replace": null
} [cargo-audit: source-test-mozlint-cargo-audit]
dom/bindings/TypedArray.h:977Error: Use c++20 type alias [clang-tidy: modernize-type-traits,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.mfbt/RefPtr.h:48Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]mfbt/RefPtr.h:48Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]mfbt/RefPtr.h:49Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]mfbt/RefPtr.h:49Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:421Error: No matching function for call to 'ToSupports' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:339Error: No matching function for call to 'ToSupports' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:361Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:327Error: Static assertion failed due to requirement 'std::integral_constant<bool, false>::value': nsCOMPtr only works for types with IIDs. Either use RefPtr; add an IID to your type with NS_INLINE_DECL_STATIC_IID/ ;or make the nsCOMPtr point to a base class with an IID. [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:361Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Incomplete type 'nsIPrincipal' named in nested name specifier [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Incomplete type 'nsINode' named in nested name specifier [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]memory/replace/dmd/DMD.h:85Error: Use of undeclared identifier 'MOZ_ASSERT' [clang-tidy: clang-diagnostic-error]xpcom/string/nsReadableUtils.h:422Error: Non-const lvalue reference to type 'nsAString' (aka 'nsTSubstring<char16_t>') cannot bind to a temporary of type 'Span<element_type, dynamic_extent>' (aka 'Span<char16_t, dynamic_extent>') [clang-tidy: clang-diagnostic-error]xpcom/string/nsReadableUtils.h:411Error: No member named 'Utf16ValidUpTo' in namespace 'mozilla' [clang-tidy: clang-diagnostic-error]xpcom/string/nsReadableUtils.h:422Error: No member named 'EnsureUtf16ValiditySpan' in namespace 'mozilla'; did you mean 'EnsureUTF16Validity'? [clang-tidy: clang-diagnostic-error]xpcom/string/nsTSubstring.h:22Error: "Using XPCOM strings is limited to code linked into libxul." [clang-tidy: clang-diagnostic-error]xpcom/threads/TimerThreadMonitor.h:71Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:70Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:69Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:68Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:72Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.
This review is now deprecated.
There was a problem hiding this comment.
25 issues have been found in this revision.
25 issues are located outside of the files touched by the patch:
Cargo.lockError: Crate depends on a vulnerable version of libsqlite3-sys.
Advisory:
libsqlite3-sys via C SQLite CVE-2026-119375
Package: libsqlite3-sys
ID: RUSTSEC-2026-0459
CVSS: CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Report date: 2026-10-30
SQLite versions before 3.54.0 can return uninitialized page-cache memory when a process opens a database file together with a sibling write-ahead-log (-wal) file whose page size differs from the database's. A crafted pair of files can make ordinary queries return stale bytes from the process's memory. The attack vector is local and needs the victim to open the files.
As libsqlite3-sys bundles SQLite when it is built from its bundled source (the bundled feature, which rusqlite's bundled feature enables), it is susceptible to the vulnerability. The releases 0.6.0 to 0.38.2 bundle SQLite 3.13.0 to 3.53.2 and are affected; the earlier releases contain no SQLite source. libsqlite3-sys was updated to bundle the patched version of SQLite in 0.39.0 (SQLite 3.54.0) and 0.39.1 (SQLite 3.54.1), released with rusqlite 0.41. libsqlite3-sys 0.39 declares Rust 1.88 and rusqlite 0.41 declares Rust 1.89.
Only a process that opens a database file, with its -wal, that a less trusted party could have written is exposed. A build that links a system SQLite instead of the bundled source is not affected by the copy in this crate; its exposure is that of the system library's version. The bundled-sqlcipher feature builds SQLCipher instead of SQLite; in 0.39.0 and 0.39.1 it depends on sqlcipher-src =419.0.6, which bundles SQLite 3.53.4 and is affected.
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-119375
Patched versions: [
">=0.39.0"
]
Unaffected versions: [
"<0.6.0"
]
Advisory metadata: {
"aliases": [
"CVE-2026-119375",
"GHSA-72w2-rjgg-q729"
],
"related": [],
"collection": "crates",
"categories": [
"memory-exposure"
],
"keywords": [
"sqlite",
"wal",
"uninitialized-memory",
"information-disclosure"
],
"informational": null,
"references": [
"https://sqlite.org/bugs/info/2026-08-17T15:54:41Z",
"https://github.com/sqlite/sqlite/commit/e5bf119821f25be1d7f10ef0a2edbe175289166e",
"https://sqlite.org/releaselog/3_54_0.html",
"https://github.com/rusqlite/rusqlite/releases/tag/v0.41.0"
],
"source": null,
"withdrawn": null,
"license": "CC0-1.0"
}
Package info: {
"name": "libsqlite3-sys",
"version": "0.35.0",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"checksum": "133c182a6a2c87864fe97778797e46c7e999672690dc9fa3ee8e241aa4a9c13f",
"dependencies": [
{
"name": "cc",
"version": "1.4.5",
"source": null
},
{
"name": "pkg-config",
"version": "0.3.34",
"source": "registry+https://github.com/rust-lang/crates.io-index"
},
{
"name": "vcpkg",
"version": "0.2.999",
"source": null
}
],
"replace": null
} [cargo-audit: source-test-mozlint-cargo-audit]
dom/bindings/TypedArray.h:977Error: Use c++20 type alias [clang-tidy: modernize-type-traits,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.mfbt/RefPtr.h:48Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]mfbt/RefPtr.h:48Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]mfbt/RefPtr.h:49Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]mfbt/RefPtr.h:49Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:421Error: No matching function for call to 'ToSupports' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:339Error: No matching function for call to 'ToSupports' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:361Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:327Error: Static assertion failed due to requirement 'std::integral_constant<bool, false>::value': nsCOMPtr only works for types with IIDs. Either use RefPtr; add an IID to your type with NS_INLINE_DECL_STATIC_IID/ ;or make the nsCOMPtr point to a base class with an IID. [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:361Error: Member access into incomplete type 'nsINode' [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Incomplete type 'nsIPrincipal' named in nested name specifier [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Incomplete type 'nsINode' named in nested name specifier [clang-tidy: clang-diagnostic-error]xpcom/base/nsCOMPtr.h:358Error: Member access into incomplete type 'nsIPrincipal' [clang-tidy: clang-diagnostic-error]memory/replace/dmd/DMD.h:85Error: Use of undeclared identifier 'MOZ_ASSERT' [clang-tidy: clang-diagnostic-error]xpcom/string/nsReadableUtils.h:422Error: Non-const lvalue reference to type 'nsAString' (aka 'nsTSubstring<char16_t>') cannot bind to a temporary of type 'Span<element_type, dynamic_extent>' (aka 'Span<char16_t, dynamic_extent>') [clang-tidy: clang-diagnostic-error]xpcom/string/nsReadableUtils.h:411Error: No member named 'Utf16ValidUpTo' in namespace 'mozilla' [clang-tidy: clang-diagnostic-error]xpcom/string/nsReadableUtils.h:422Error: No member named 'EnsureUtf16ValiditySpan' in namespace 'mozilla'; did you mean 'EnsureUTF16Validity'? [clang-tidy: clang-diagnostic-error]xpcom/string/nsTSubstring.h:22Error: "Using XPCOM strings is limited to code linked into libxul." [clang-tidy: clang-diagnostic-error]xpcom/threads/TimerThreadMonitor.h:71Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:70Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:69Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:68Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.xpcom/threads/TimerThreadMonitor.h:72Error: Deleted member function should be public [clang-tidy: modernize-use-equals-delete,-warnings-as-errors]
Checker reliability is high, meaning that the false positive ratio is low.
by removing -dontobfuscate. NB Fenix now has the broadest possible keep rule to allow us to retain its full class and function names in stack traces for now. We can work on this to narrow the rule to what is really required and further improve performance. [here is a green try, updated after rebase and rule tweak to retain other r8 optimisation in fenix](https://treeherder.mozilla.org/jobs?repo=try&revision=37f18896f408a5885b30b518889390c58a7f877e) (i rebased to try and get rid of the noise in the pr bots, which has nothing to do with this change, but it didn't work 🥲 ) [perf compare running here](https://perf.compare/compare-lando-results?landoInstance=lando-prod-2025&baseLando=116720&newLando=116918&baseRepo=try&newRepo=try&framework=15&initialized=1) - expecting this to be neutral (due to current broad keep rule). this pr brings apk size down 0.8MB though, which is nice Pull request: #438
|
Pull request closed by commit 7aaa812 |
by removing -dontobfuscate. NB Fenix now has the broadest possible keep rule to allow us to retain its full class and function names in stack traces for now. We can work on this to narrow the rule to what is really required and further improve performance. [here is a green try, updated after rebase and rule tweak to retain other r8 optimisation in fenix](https://treeherder.mozilla.org/jobs?repo=try&revision=37f18896f408a5885b30b518889390c58a7f877e) (i rebased to try and get rid of the noise in the pr bots, which has nothing to do with this change, but it didn't work 🥲 ) [perf compare running here](https://perf.compare/compare-lando-results?landoInstance=lando-prod-2025&baseLando=116720&newLando=116918&baseRepo=try&newRepo=try&framework=15&initialized=1) - expecting this to be neutral (due to current broad keep rule). this pr brings apk size down 0.8MB though, which is nice Pull request: mozilla-firefox/firefox#438 UltraBlame original commit: b3e4771190d03185185b0783b20aa24554d0953a
by removing -dontobfuscate. NB Fenix now has the broadest possible keep rule to allow us to retain its full class and function names in stack traces for now. We can work on this to narrow the rule to what is really required and further improve performance. [here is a green try, updated after rebase and rule tweak to retain other r8 optimisation in fenix](https://treeherder.mozilla.org/jobs?repo=try&revision=37f18896f408a5885b30b518889390c58a7f877e) (i rebased to try and get rid of the noise in the pr bots, which has nothing to do with this change, but it didn't work 🥲 ) [perf compare running here](https://perf.compare/compare-lando-results?landoInstance=lando-prod-2025&baseLando=116720&newLando=116918&baseRepo=try&newRepo=try&framework=15&initialized=1) - expecting this to be neutral (due to current broad keep rule). this pr brings apk size down 0.8MB though, which is nice Pull request: mozilla-firefox/firefox#438 UltraBlame original commit: b3e4771190d03185185b0783b20aa24554d0953a
by removing -dontobfuscate. NB Fenix now has the broadest possible keep rule to allow us to retain its full class and function names in stack traces for now. We can work on this to narrow the rule to what is really required and further improve performance. [here is a green try, updated after rebase and rule tweak to retain other r8 optimisation in fenix](https://treeherder.mozilla.org/jobs?repo=try&revision=37f18896f408a5885b30b518889390c58a7f877e) (i rebased to try and get rid of the noise in the pr bots, which has nothing to do with this change, but it didn't work 🥲 ) [perf compare running here](https://perf.compare/compare-lando-results?landoInstance=lando-prod-2025&baseLando=116720&newLando=116918&baseRepo=try&newRepo=try&framework=15&initialized=1) - expecting this to be neutral (due to current broad keep rule). this pr brings apk size down 0.8MB though, which is nice Pull request: mozilla-firefox/firefox#438 UltraBlame original commit: b3e4771190d03185185b0783b20aa24554d0953a
by removing -dontobfuscate.
NB Fenix now has the broadest possible keep rule to allow us to retain its full class and function names in stack traces for now. We can work on this to narrow the rule to what is really required and further improve performance.
here is a green try, updated after rebase and rule tweak to retain other r8 optimisation in fenix
(i rebased to try and get rid of the noise in the pr bots, which has nothing to do with this change, but it didn't work 🥲 )
perf compare running here - expecting this to be neutral (due to current broad keep rule).
this pr brings apk size down 0.8MB though, which is nice
Lando: link
Bugzilla: bug 2071819
🚫 This pull request has 2 blockers.