Граф коммитов

1565 Коммитов

Автор SHA1 Сообщение Дата
Paul Bone 4ea7329f5a Bug 1806049 - Explicitly use uint32_t r=glandium
We want to be precise about types used here.  Although in practice unsigned
is the same as uint32_t, it's not guaranteed.  We want to definitely use
32-bit multiplication as it can be faster than 64-bit.

Differential Revision: https://phabricator.services.mozilla.com/D164889
2023-01-10 22:30:05 +00:00
Paul Bone f9bccca030 Bug 1806049 - Test all divisions r=glandium
Don't wait until runtime to test that all valid divisions work.  Test them
during initialisation in debug builds.

Differential Revision: https://phabricator.services.mozilla.com/D164888
2023-01-10 22:30:05 +00:00
Paul Bone bfb66a35a9 Bug 1806049 - Rename the FastDivisor variables r=glandium
Rename the `m` and `p` variables to match those used in the Hacker's Delight
book where the algorithm is presented.  There were also some inconsistent
names in comments that this fixes.

Differential Revision: https://phabricator.services.mozilla.com/D164887
2023-01-10 22:30:04 +00:00
Paul Bone e180463f6d Bug 1806049 - Improve some code comments r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D164886
2023-01-10 22:30:04 +00:00
Cosmin Sabou ffddc62071 Bug 1801836 - Fix black linting opt failure on memory/replace/dmd/dmd.py. a=lint-fix 2022-12-25 11:35:54 +02:00
Marco Castelluccio f69e697461 Bug 1801836 - Remove no longer necessary 'from __future__' imports. r=linter-reviewers,glandium,webdriver-reviewers,perftest-reviewers,geckoview-reviewers,jld,ahal,owlish,afinder DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D165395
2022-12-23 22:45:46 +00:00
Jeff Muizelaar d7cb72e2ac Bug 1805690 - Convert block_analyzer.py to python3. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D164687
2022-12-15 18:08:40 +00:00
Otto Länd fe6866347e Bug 1743322, 1743322: apply code formatting via Lando
# ignore-this-changeset
2022-12-13 04:26:05 +00:00
Paul Bone a1aa315882 Bug 1743322 - Make arena_bin_t 32 or 48 bytes long r=glandium
This structure is more optimal if it is somewhat aligned with the system's
cache line length (which we assume is 64 bytes but that's not always true).
This reduces the number of cache lines required to access one record on
average. On 32-bit systems we can manage 32-bytes, on 64-bit systems we can
manage 48 bytes. We do this by:

 * Make mRunSize the number of pages in a run rather than bytes, so that it can
   be stored in a single byte and save some space in bin headers.

 * Make mNumRuns a uint32_t on all platforms.

Differential Revision: https://phabricator.services.mozilla.com/D140036
2022-12-13 04:21:15 +00:00
Paul Bone 3932940e08 Bug 1743322 - Remove branches that decide how to divide r=glandium
This code path would choose from several ways about how to divide numbers.
By calculating the inverse of the divisor early we can elude all the
branches along this code path we can make it faster than the previous code
or naive division.

Differential Revision: https://phabricator.services.mozilla.com/D132322
2022-12-13 04:21:15 +00:00
Norisz Fay 70bc66e002 Backed out 3 changesets (bug 1743322) for causing multiple failures CLOSED TREE
Backed out changeset fa443c853d2d
Backed out changeset d299fa6358f7 (bug 1743322)
Backed out changeset 25647d613534 (bug 1743322)
2022-12-06 11:48:14 +02:00
Otto Länd 8b4f88bf4a No bug: apply code formatting via Lando
# ignore-this-changeset
2022-12-06 00:53:23 +00:00
Paul Bone 2423f4ad0b Bug 1743322 - Make arena_bin_t 32 or 48 bytes long r=glandium
This structure is more optimal if it is somewhat aligned with the system's
cache line length (which we assume is 64 bytes but that's not always true).
This reduces the number of cache lines required to access one record on
average. On 32-bit systems we can manage 32-bytes, on 64-bit systems we can
manage 48 bytes. We do this by:

 * Make mRunSize the number of pages in a run rather than bytes, so that it can
   be stored in a single byte and save some space in bin headers.

 * Make mNumRuns a uint32_t on all platforms.

Differential Revision: https://phabricator.services.mozilla.com/D140036
2022-12-06 00:50:51 +00:00
Paul Bone 763f464a09 Bug 1743322 - Remove branches that decide how to divide r=glandium
This code path would choose from several ways about how to divide numbers.
By calculating the inverse of the divisor early we can elude all the
branches along this code path we can make it faster than the previous code
or naive division.

Differential Revision: https://phabricator.services.mozilla.com/D132322
2022-12-06 00:50:51 +00:00
Cristian Tuns c33879cb48 Backed out changeset e59efc28ac89 (bug 1802675) for causing win10 2004 failures CLOSED TREE 2022-12-02 00:11:36 -05:00
Mike Hommey df471cb5dc Bug 1802675 - Don't build winheap.cpp unless MOZ_MEMORY is set. r=pbone
Differential Revision: https://phabricator.services.mozilla.com/D163383
2022-12-02 03:51:33 +00:00
Alexandre Lissy 5d0257721a Bug 1798711 - Remove duplication of DisableCrashReporter on gtest r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D162972
2022-11-30 14:41:42 +00:00
Barret Rennie 5dc88760d5 Bug 1541508 - Use Services.env in memory/ r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D160141
2022-11-25 19:09:08 +00:00
Marco Castelluccio 54eb2ccba2 Bug 1790816 - Reformat memory/ with isort. r=linter-reviewers,ahal DONTBUILD
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D162658
2022-11-24 15:10:26 +00:00
Robert Longson f39b618ff1 Bug 1799630 - replace sprintf by snprintf or SprintfLiteral r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D161573
2022-11-10 07:01:11 +00:00
Csoregi Natalia 4e0bebb175 Backed out changeset 53c18b7903db (bug 1799630) for causing hybrid bustages on CocoaGamepad.cpp. CLOSED TREE 2022-11-10 01:27:08 +02:00
Robert Longson 143ac3fe87 Bug 1799630 - replace sprintf by snprintf or SprintfLiteral r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D161573
2022-11-09 20:00:18 +00:00
Cristian Tuns 4d37cf70f1 Backed out 19 changesets (bug 1541508) for causing xpcshell failures on test_notHeadlessByDefault.js CLOSED TREE
Backed out changeset 08476fa2bc27 (bug 1541508)
Backed out changeset 0bf7514845db (bug 1541508)
Backed out changeset aa612a5e9ef7 (bug 1541508)
Backed out changeset 6bb9360473f7 (bug 1541508)
Backed out changeset b3d8e92f50c2 (bug 1541508)
Backed out changeset fa40dded133e (bug 1541508)
Backed out changeset 2e7db4aa8d4f (bug 1541508)
Backed out changeset 6098e2eb62ea (bug 1541508)
Backed out changeset 2c599ee639c4 (bug 1541508)
Backed out changeset 7d44f6e2644c (bug 1541508)
Backed out changeset c1279c3d674c (bug 1541508)
Backed out changeset 8bd08a62a590 (bug 1541508)
Backed out changeset 740010cb005c (bug 1541508)
Backed out changeset 0bfc7dd85c62 (bug 1541508)
Backed out changeset c4374a351356 (bug 1541508)
Backed out changeset 44ccfeca7364 (bug 1541508)
Backed out changeset e944e706a523 (bug 1541508)
Backed out changeset 2c59d66f43e4 (bug 1541508)
Backed out changeset a1896eacb6f1 (bug 1541508)
2022-11-01 22:38:52 -04:00
Barret Rennie 5342e30b52 Bug 1541508 - Use Services.env in memory/ r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D160141
2022-11-02 02:08:55 +00:00
Nika Layzell f8e46f7fb5 Bug 1797354 - Allow specifying capability type in thread-safety macros, r=jesup,media-playback-reviewers,alwu
It is possible to specify full names for capabilities when using the clang
thread-safety analysis which will be used in error messages. We should use that
form of the attribute rather than the legacy lockable attribute.

Differential Revision: https://phabricator.services.mozilla.com/D160531
2022-10-28 19:55:30 +00:00
Tom Ritter 8de303c52d Bug 1794594: Remove codeql builds r=freddyb,firefox-build-system-reviewers,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D159433
2022-10-17 15:02:39 +00:00
Ray Kraesig b90e6da27e Bug 1785162 - Allow child-process half-stalls to ride the trains r=glandium,gsvelto
The past couple of weeks of crash telemetry indicate that stalling on
OOM in child processes for half as long as in main processes drastically
reduces child process OOM crashes without noticeably increasing
main-process OOM crashes.

Give it a ticket and send it on its way.

Differential Revision: https://phabricator.services.mozilla.com/D158790
2022-10-07 15:40:24 +00:00
Mark Banner 8d1ebcb9d6 Bug 1792365 - Convert toolkit/modules consumers to use ES module imports directly. r=webdriver-reviewers,perftest-reviewers,geckoview-reviewers,extension-reviewers,preferences-reviewers,desktop-theme-reviewers,application-update-reviewers,pip-reviewers,credential-management-reviewers,robwu,Gijs,sgalich,bytesized,AlexandruIonescu,dao,m_kato
Differential Revision: https://phabricator.services.mozilla.com/D158094
2022-09-29 06:52:34 +00:00
Ray Kraesig 310ef2663b Bug 1785162 - [3/3] stall for half time in non-main processes r=gsvelto
Retain the full stall period in the main process; stall for only half as
long in all other processes.

Differential Revision: https://phabricator.services.mozilla.com/D157140
2022-09-22 15:01:42 +00:00
Ray Kraesig adac61618a Bug 1785162 - [2/3] refactor to specify stall count and time r=glandium,gsvelto
Refactor to allow specifying a potentially variable stall-count and
-time, rather than a binary stall/don't-stall cue.

No functional changes; this facility will actually be used in the next
commit.

Differential Revision: https://phabricator.services.mozilla.com/D157139
2022-09-22 15:01:42 +00:00
Ray Kraesig f30c547ca5 Bug 1785162 - [1/3] Revert "Disable all-process stalling in Nightly" r=gsvelto
Sufficient data has been acquired to confirm that all-stall does indeed
increase the chance of a main-process OOM compared to just main-stall.

Revert to all-stall anyway, solely to simplify the next two commits.

Differential Revision: https://phabricator.services.mozilla.com/D157138
2022-09-22 15:01:42 +00:00
Ray Kraesig 75b7dee465 Bug 1207753 - Add TS annotations for some mozjemalloc mutexes r=jesup
Add thread-safety annotations for a few of the mutexes in mozjemalloc.

Differential Revision: https://phabricator.services.mozilla.com/D157858
2022-09-22 15:00:44 +00:00
Joel Maher f668f1c655 Bug 1790868 - clean up 32 bit annotations for tests that don't run on 32 bit, and general cleanup. r=aryx
Differential Revision: https://phabricator.services.mozilla.com/D157352
2022-09-16 12:40:13 +00:00
Ray Kraesig dbdb9db19d Bug 1785162 - Disable all-process stalling in Nightly r=gsvelto
A recent patch for bug 965392 (now reverted) may have been causing
additional memory use and OOM-crashes. To confirm this, temporarily(?)
revert all-process stalling on Nightly to the main-process-only version
active between 2022-07-28 and 2022-08-25, to collect a few days' worth of
telemetry.

On Beta and later, there are no functional changes.

Differential Revision: https://phabricator.services.mozilla.com/D157124
2022-09-13 18:34:43 +00:00
Ray Kraesig 709d56796c Bug 1785162 - Always stall on OOM on Windows in Nightly r=gsvelto
It's suspected that this may induce performance regressions. Do it
anyway, just to find out how bad it is. (But only on Nightly, for now.)

For simplicity's sake, this does not include any additional telemetry;
the decision of whether and what any additional telemetry is needed will
be deferred until we have some feedback from what we've already got.

Differential Revision: https://phabricator.services.mozilla.com/D155301
2022-08-25 19:35:32 +00:00
Ray Kraesig 613c6089f5 Bug 1716727 - patchset #3 [1/1] - Cleanup: remove intermediate function r=glandium
Since mozglue is now aware of Gecko process-types, remove the
configurator for this bug's associated experiment. Instead, use
`GeckoProcessType` directly in mozjemalloc.

This requires a couple of adjustments for non-Firefox uses of
mozjemalloc:

- Since `logalloc-replay` uses mozjemalloc in an odd way, tweak its
  `moz.build` to also include `mozglue/misc/ProcessType.cpp`.
- Since `GeckoProcessType` is not available in standalone SpiderMonkey
  builds, make the mostly-arbitrarily choice to always stall there.

No functional changes.

Differential Revision: https://phabricator.services.mozilla.com/D155300
2022-08-25 14:44:47 +00:00
Gabriele Svelto 44cbaf4248 Bug 1784018 - Remove deprecated OSSpinLocks r=glandium
On macOS versions prior to 10.15 os_unfair_locks cannot spin in kernel-space
which degrades performance significantly. To obviate for this we spin in
user-space like OSSpinLock does, for the same number of times and invoking
x86-specific pause instructions in-between the locking attempts to avoid
starving a thread that might be running on the same physical core.

Differential Revision: https://phabricator.services.mozilla.com/D154205
2022-08-24 09:18:57 +00:00
Ray Kraesig 52e0d53fb0 Bug 1716727 - patchset #2 [2/2] Deexperimentalize stalling code r=glandium
Although further experiments and refinements are called for, the effect
of this patch has been overall significantly positive. Let it ride the
trains as-is for Fx 105, rather than blocking on those experiments.

(This patch conflicts with D153784, which will need to be rebased and
moved to a new Bugzilla bug.)

Depends on D153783

Differential Revision: https://phabricator.services.mozilla.com/D154839
2022-08-18 20:32:26 +00:00
Ray Kraesig b70021268a Bug 1716727 - patchset #2 [1/2] - Assorted minor cleanup r=glandium,bobowen
Since the plausible timeframe for immediate panicked reversion of the
previous patchset has passed without incident, unpin and clean up the
remaining uses of `sChildProcessType` from nsEmbedFunctions.cpp.

Additionally, get rid of the rump declaration of `..._set_always_stall`
on non-Windows builds.

No functional changes.

(Reference: bug 1682520, D152198.)

Differential Revision: https://phabricator.services.mozilla.com/D153783
2022-08-18 20:32:26 +00:00
Gerald Squelart 42904cee2c Bug 1784812 - Make all JSONWriteFunc-derived classes and their overriden methods final - r=canaltinova
All JSONWriteFuncs are effectively final, this patch enforces that, hopefully
helping the compiler to de-virtualize some calls.

Differential Revision: https://phabricator.services.mozilla.com/D154619
2022-08-17 07:07:54 +00:00
Iulian Moraru 859487ba6b Backed out 4 changesets (bug 1784812) for causing build bustages on DDMediaLogs. CLOSED TREE
Backed out changeset c9998c927079 (bug 1784812)
Backed out changeset d2568bc2f8a6 (bug 1784812)
Backed out changeset 9f01bf89c583 (bug 1784812)
Backed out changeset d8506496d8f2 (bug 1784812)
2022-08-17 05:48:36 +03:00
Gerald Squelart d7c05cb55e Bug 1784812 - Make all JSONWriteFunc-derived classes and their overriden methods final - r=canaltinova
All JSONWriteFuncs are effectively final, this patch enforces that, hopefully
helping the compiler to de-virtualize some calls.

Depends on D154618

Differential Revision: https://phabricator.services.mozilla.com/D154619
2022-08-16 22:57:50 +00:00
Fabrice Desré c50cb528fc Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato
Differential Revision: https://phabricator.services.mozilla.com/D152575
2022-08-03 16:39:41 +00:00
Andreea Pavel 3ccd75af8d Backed out changeset b9d2965591b9 (bug 1761040) for landing with wrong author CLOSED TREE DONTBUILD 2022-08-03 18:55:00 +03:00
Andreea Pavel fdb7cb2ecd Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato
Differential Revision: https://phabricator.services.mozilla.com/D152575
2022-08-03 15:27:43 +00:00
Mark Banner 7428be4a86 Bug 1782008 - Remove now unnecessary .eslintrc.js files. r=webcompat-reviewers,extension-reviewers,media-playback-reviewers,pip-reviewers,denschub,rpl,alwu,mossop
Differential Revision: https://phabricator.services.mozilla.com/D152736
2022-08-03 11:16:20 +00:00
Andreea Pavel 89d63c91e6 Backed out changeset a907159a482f (bug 1761040) for causing build bustages on a CLOSED TREE 2022-08-02 04:59:08 +03:00
Fabrice Desré 0f4ac7ad97 Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato
Differential Revision: https://phabricator.services.mozilla.com/D152575
2022-08-02 00:49:41 +00:00
Ray Kraesig 5f25d69d33 Bug 1782027 - Fix bustage in simulated early-beta Windows builds r=gcp
... which was entirely due to a trivial error on my part.

Differential Revision: https://phabricator.services.mozilla.com/D153109
2022-07-28 19:11:20 +00:00
Ray Kraesig a63e2430bf Bug 1716727 - [3/3] make stalling behavior conditional on process type r=glandium
For now, make Set_XREProcessType set a flag in mozjemalloc to avoid
stalling repeatedly in auxiliary processes.

Differential Revision: https://phabricator.services.mozilla.com/D151332
2022-07-27 19:54:36 +00:00