Commit Graph

1696 Commits

Author SHA1 Message Date
Paul Bone
6f61852dcb Bug 1884996 - Avoid reenterant malloc in PHC's RNG r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D204575
2024-03-15 00:53:17 +00:00
Paul Bone
3a813ca67c Bug 1867190 - Add prefs for PHC probablities r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D198652
2024-01-30 05:33:38 +00:00
Paul Bone
9f2470a841 Bug 1867190 - Make the PHC probability dynamic r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D194364
2024-01-30 05:33:38 +00:00
Paul Bone
48de47067e Bug 1867190 - Initialise the PHC allocate delay later r=glandium
Move this initialisation until when the PHCManager calls SetPHCState().
This is necessary so that the the PHCManager can set the first allocation
delay.

Differential Revision: https://phabricator.services.mozilla.com/D198651
2024-01-30 05:33:38 +00:00
Narcis Beleuzu
1e726a0e49 Backed out 3 changesets (bug 1867190) for bustages on PHC.cpp . CLOSED TREE
Backed out changeset ce5606473bf9 (bug 1867190)
Backed out changeset 3766cf32a308 (bug 1867190)
Backed out changeset 16ce5caa9557 (bug 1867190)
2024-01-25 07:58:11 +02:00
Paul Bone
c665d103ee Bug 1867190 - Add prefs for PHC probablities r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D198652
2024-01-25 05:03:08 +00:00
Paul Bone
72037651f6 Bug 1867190 - Make the PHC probability dynamic r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D194364
2024-01-25 05:03:08 +00:00
Paul Bone
8446cd012f Bug 1867190 - Initialise the PHC allocate delay later r=glandium
Move this initialisation until when the PHCManager calls SetPHCState().
This is necessary so that the the PHCManager can set the first allocation
delay.

Differential Revision: https://phabricator.services.mozilla.com/D198651
2024-01-25 05:03:07 +00:00
Paul Bone
4f15ab146d Bug 1864828 - pt 1. Move operators to create literals with units into mfbt/ r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D194950
2023-12-11 11:01:33 +00:00
Mike Hommey
619672a8e4 Bug 1867459 - Replace CPU_ARCH with TARGET_CPU. r=firefox-build-system-reviewers,sergesanspaille
Differential Revision: https://phabricator.services.mozilla.com/D195157
2023-12-08 10:43:59 +00:00
Logan Rosen
141305b4e4 Bug 1677775 - reformat .mozbuild files with Black r=linter-reviewers,geckoview-reviewers,firefox-build-system-reviewers,ahal,glandium,owlish,sylvestre
#ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D193007
2023-12-08 04:26:45 +00:00
Sylvestre Ledru
d74f9b5552 Bug 1868046 - Remove some nbsp in the code r=linter-reviewers,ahal
Depends on D195369

Differential Revision: https://phabricator.services.mozilla.com/D195370
2023-12-04 15:25:04 +00:00
Iulian Moraru
d6a3f6a6bd Backed out 2 changesets (bug 1864828) for causing build bustages on TestJemalloc.cpp. CLOSED TREE
Backed out changeset c1b4a8307702 (bug 1864828)
Backed out changeset ba88f119b1fc (bug 1864828)
2023-11-30 07:19:04 +02:00
Paul Bone
e1f95a2d2b Bug 1864828 - pt 1. Move operators to create literals with units into mfbt/ r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D194950
2023-11-30 01:17:55 +00:00
Akylzhan
9021fd1e02 Bug 1862508 - FdPrintf.cpp: removed extra ; after member function definition. r=sylvestre DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D194704
2023-11-26 11:43:32 +00:00
Joel Maher
9d203b1d46 Bug 1859893 - batch 15 - migrate xpcshell.ini -> .toml. r=aryx,geckoview-reviewers,extension-reviewers,valentin,cookie-reviewers,pbz,owlish,robwu
Differential Revision: https://phabricator.services.mozilla.com/D194384
2023-11-24 14:41:35 +00:00
Randell Jesup
c0e9f8d3a3 Bug 1865120: clean up chunk_type use in mozjemalloc to reduce false positives r=pbone
Differential Revision: https://phabricator.services.mozilla.com/D193811
2023-11-23 23:51:01 +00:00
Paul Bone
439371cbc2 Bug 1866025 - Check if PHC is initialised on all entrypoints r=glandium
PHC initialisation can bail out on systems without an expected statically
assumed page size.  When this happens Firefox can crash if we don't check
for it on all PHC entrypoints including SetPHCStatus().

Thanks Janne Grunau for the initial patch.

Differential Revision: https://phabricator.services.mozilla.com/D194458
2023-11-23 04:53:22 +00:00
Paul Bone
99d873c7c2 Bug 1862540 - Remove code dealing with non-zeroed chunks r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D192521
2023-11-14 09:44:11 +00:00
Paul Bone
aaa25c6593 Bug 1862378 - Chunk guard pages are not committed memory r=glandium
Don't include the chunk guard pages in our committed memory calculation.

Differential Revision: https://phabricator.services.mozilla.com/D192450
2023-11-14 05:38:25 +00:00
Paul Bone
cec1261b74 Bug 1862378 - Add assertion for waste calculation r=glandium
The waste memory calcuation has an invariant that we can also assert.

Differential Revision: https://phabricator.services.mozilla.com/D192449
2023-11-14 05:38:25 +00:00
Paul Bone
d7d80b6143 Bug 1862378 - Simplify some ifdef conditions r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D192447
2023-11-14 05:38:24 +00:00
Paul Bone
62f879e4b6 Bug 1829127 - Add telemetry for PHC utilisation r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D192303
2023-11-06 04:59:33 +00:00
Paul Bone
f590b3e285 Bug 1857107 - Update the PHC gtest for apple silicon's page size r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D191603
2023-10-26 05:41:15 +00:00
Paul Bone
aa189da432 Bug 1859954 - Use XP_DARWIN rather than XP_MACOS in PHC r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D191600
2023-10-25 05:43:36 +00:00
Paul Bone
f05583b06f Bug 1860464 - Use using rather than typedef r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D191596
2023-10-24 03:54:42 +00:00
Paul Bone
463cfa9630 Bug 1854135 - Set PHC's size to limit it to 1.1MiB per process in release r=decoder
Differential Revision: https://phabricator.services.mozilla.com/D188822
2023-10-24 01:50:52 +00:00
Paul Bone
cbd484acb9 Bug 1859964 - --enable-phc doesn't always imply --enable-frame-pointers r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D191404
2023-10-24 00:52:34 +00:00
Paul Bone
055dc73fbb Bug 1854550 - pt 12. Allow inlining between mozjemalloc and PHC r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D191201
2023-10-19 06:38:43 +00:00
Paul Bone
15b2b96152 Bug 1854550 - pt 10. Allow LOG() with zero extra arguments r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D191134
2023-10-19 06:38:42 +00:00
Paul Bone
d9dfdcc493 Bug 1854550 - pt 9. Move PHC interface from the bridge to PHC.h r=glandium
Building PHC in a unified build now also works.

Differential Revision: https://phabricator.services.mozilla.com/D191133
2023-10-19 06:38:42 +00:00
Paul Bone
d2bdb850c2 Bug 1854550 - pt 8. Rename a variable r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D190423
2023-10-19 06:38:42 +00:00
Paul Bone
69cb1c1b92 Bug 1854550 - pt 7. Call PHC directly rather than through replace malloc r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D190422
2023-10-19 06:38:41 +00:00
Paul Bone
10b0e0fcd7 Bug 1854550 - pt 6. Move AlignedAllocator into a header r=glandium
Move the AlignedAllocator class template into mozjemalloc.h where it can be
used by PHC also.

***
Fix

Differential Revision: https://phabricator.services.mozilla.com/D190417
2023-10-19 06:38:41 +00:00
Paul Bone
870b8d6db1 Bug 1854550 - pt 5. Remove templating around allocation classes r=glandium
This will simplify references/linking between mozjemalloc and PHC.  Plus
this code is clearer (more explicit) without it even though there's more
repitition.

Differential Revision: https://phabricator.services.mozilla.com/D190014
2023-10-19 06:38:40 +00:00
Paul Bone
e4a9b57aa0 Bug 1854550 - pt 4. PHC doesn't use the malloc table to call jemalloc r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D189241
2023-10-19 06:38:40 +00:00
Paul Bone
b9ef763b57 Bug 1854550 - pt 3. Define kAlloc{Junk,Poison} once for jemalloc and PHC r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D190013
2023-10-19 06:38:39 +00:00
Paul Bone
34506cd1f8 Bug 1854550 - pt 2. Move PHC into memory/build r=glandium
We want to link PHC directly alongside jemalloc so move its code into the
memory/build/ directory.  This means that it's always statically linked even
when other replace_malloc libraries aren't.

The following patch will remove it from the replace_malloc configuration.

Differential Revision: https://phabricator.services.mozilla.com/D188983
2023-10-19 06:38:39 +00:00
Paul Bone
916b2a572d Bug 1854550 - pt 1. Fix a comment r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D188982
2023-10-19 06:38:39 +00:00
Sylvestre Ledru
1e776756dd Bug 1856795 - ride along: use = default; on some recently modified files r=emilio
More on:
https://clang.llvm.org/extra/clang-tidy/checks/modernize/use-equals-default.html

Command:
L=$(hg export -r tip|grep +++|cut -d/ -f2-)
./mach static-analysis check --checks="-*, modernize-use-equals-default" --fix $L

Differential Revision: https://phabricator.services.mozilla.com/D191016
2023-10-15 15:29:03 +00:00
Sylvestre Ledru
d0f6c7fc66 Bug 1856795 - Remove redundant member init r=emilio
Done with:
./mach static-analysis check --checks="-*, readability-redundant-member-init" --fix .

https://clang.llvm.org/extra/clang-tidy/checks/readability/redundant-member-init.html

Differential Revision: https://phabricator.services.mozilla.com/D190002
2023-10-15 15:29:02 +00:00
Cristina Horotan
6a90f5eded Backed out 2 changesets (bug 1856795) for causing build bustage at BasicEvents.h CLOSED TREE
Backed out changeset 1d98b028923a (bug 1856795)
Backed out changeset eae2ac93e17c (bug 1856795)
2023-10-14 21:42:14 +03:00
Sylvestre Ledru
c164bd9937 Bug 1856795 - ride along: use = default; on some recently modified files r=emilio
More on:
https://clang.llvm.org/extra/clang-tidy/checks/modernize/use-equals-default.html

Command:
L=$(hg export -r tip|grep +++|cut -d/ -f2-)
./mach static-analysis check --checks="-*, modernize-use-equals-default" --fix $L

Differential Revision: https://phabricator.services.mozilla.com/D191016
2023-10-14 17:34:27 +00:00
Sylvestre Ledru
cc8a0ee742 Bug 1856795 - Remove redundant member init r=emilio
Done with:
./mach static-analysis check --checks="-*, readability-redundant-member-init" --fix .

https://clang.llvm.org/extra/clang-tidy/checks/readability/redundant-member-init.html

Differential Revision: https://phabricator.services.mozilla.com/D190002
2023-10-14 17:34:26 +00:00
Paul Bone
67b20ca657 Bug 1858137 - Update test to match new poisoning behaviour r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D190775
2023-10-13 12:43:44 +00:00
Emilio Cobos Álvarez
a3e8abd326 Bug 1858250 - malloc_initialized should not be SequentiallyConsistent. r=glandium
I think ReleaseAcquire semantics are sound here.

It might be that relaxed is fine too, but that might be technically
unsound because it could make the writes in malloc_init_hard not visible
to the other threads in time.

Depends on D190623

Differential Revision: https://phabricator.services.mozilla.com/D190624
2023-10-11 08:09:03 +00:00
Emilio Cobos Álvarez
bf0f43df59 Bug 1858250 - mDefaultMaxDirtyPageModifier should use relaxed memory ordering. r=glandium
Spotted while looking at this code. This doesn't guard any memory.

Differential Revision: https://phabricator.services.mozilla.com/D190623
2023-10-10 22:45:54 +00:00
Otto Länd
d749b8caa8 Bug 1850008: apply code formatting via Lando
# ignore-this-changeset
2023-10-09 00:04:20 +00:00
Paul Bone
e685735f09 Bug 1850008 - pt 3. Add a parameter for how many bytes to poison r=glandium,smaug
Also change the amount of bytes to poison to 256.

Differential Revision: https://phabricator.services.mozilla.com/D187960
2023-10-09 00:01:31 +00:00
Paul Bone
760aa24874 Bug 1850008 - pt 2. Poison at most the first 64 bytes of a memory cell r=jesup,glandium
This patch alters mozjemalloc's poisoning to poison only the first 64 bytes
of (most) memory cells.  It has this behaviour in late beta and release
builds and keeps the original "poison all" behaviour for nightly and early
beta builds.

A later patch will make this a parameter and set it to 256.

Differential Revision: https://phabricator.services.mozilla.com/D187359
2023-10-09 00:01:30 +00:00