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

1713 Коммитов

Автор SHA1 Сообщение Дата
Paul Bone fe67a785a1 Bug 1891918 - Update mozjemalloc's kCacheLineSize for Apple Silicon r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D207675
2024-04-18 05:13:15 +00:00
Tamas Szentpeteri a86fd1fb23 Backed out changeset 4309f75eaa90 (bug 1883615) for causing build bustages related to check_symbol_in_libs. CLOSED TREE 2024-04-17 12:57:02 +03:00
serge-sans-paille 469e6b7b31 Bug 1885334 - Change the signature of FdPrintf to use a platform-dependently-sized argument type r=glandium
That way we avoid some spurious casts

Differential Revision: https://phabricator.services.mozilla.com/D204648
2024-04-17 09:36:13 +00:00
serge-sans-paille 78ac6a6ccf Bug 1883615 - Move libdl checks to moz.configure and make libdl dependencies explicit r=glandium
The -ldl flag was previously set globally, it's now set for the libs
that use it.

Also rationalize the difference between HAVE_DLOPEN and HAVE_DLFCN_H.

Differential Revision: https://phabricator.services.mozilla.com/D203594
2024-04-17 09:33:00 +00:00
Paul Bone c37988e025 Bug 1888326 - Advance the chunk index after committing pages r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D205971
2024-04-04 00:03:27 +00:00
Mike Hommey 8b7fc2dba5 Bug 1884054 - Stop wrapping HeapAlloc-family of functions. r=pbone
The functions were wrapped in bug 1280578 mainly for rust, which used
these functions for its global allocator. However, that use case went
away with bug 1514122, where we've set up our own global allocator for
rust that calls the malloc-family of functions directly instead.

Back in that bug, we left the HeapAlloc wrapping for other use cases,
but there are few of them left, but we're now hitting another problem,
where we actually do want to be able to HeapFree pointers that might
have been allocated by system libraries, and the wrapping is getting
on the way of this actually working.

Differential Revision: https://phabricator.services.mozilla.com/D205788
2024-03-28 04:02:03 +00:00
Paul Bone 2edc0f7892 Bug 1885466 - Rename jemalloc_stats::page_cache to pages_dirty r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D204724
2024-03-28 02:41:09 +00:00
Paul Bone d1cccd9945 Bug 1857841 - pt 10. Tighten an assertion r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D203573
2024-03-19 01:42:44 +00:00
Paul Bone a0f64f2204 Bug 1857841 - pt 8. Use CHUNK_MAP_FRESH for double-purged pages r=glandium
Using CHUNK_MAP_FRESH for double purged pages is better than overloading
the CHUNK_MAP_DECOMMITTED bit with two different semantics.  It also allows
us to simplify some code.

Differential Revision: https://phabricator.services.mozilla.com/D203571
2024-03-19 01:42:44 +00:00
Paul Bone 02fb924e9b Bug 1857841 - pt 9. Count fresh and madvised memory separately r=glandium
This memory was previously measured as part of committed memory.  However
depending on the OS it will often not be committed.  It's more accurate to
count it separately as part of mozjemalloc's cache of unused pages.

This patch adds counters for both fresh and madvised memory and no-longer
counts either as "committed" as it previously did.

This has the side effect of changing decisions based on the size of this
cache such as when to purge memory.

Differential Revision: https://phabricator.services.mozilla.com/D200415
2024-03-19 01:42:43 +00:00
Paul Bone 709bdf9e73 Bug 1857841 - pt 7. Also amortise VirtualAlloc in SplitRun() r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D195515
2024-03-19 01:42:43 +00:00
Paul Bone 2e587031ab Bug 1857841 - pt 6. Commit more pages than necessary to amortise costs r=glandium
This breaks the old invariant that there are no committed pages that aren't
either allocated or dirty.  There is now also new code in DeallocChunk that
counts the number of "fresh" committed pages and adjusts mStats.committed.

Differential Revision: https://phabricator.services.mozilla.com/D195514
2024-03-19 01:42:42 +00:00
Paul Bone bc4ccb1adf Bug 1857841 - pt 5. Simplify decommit logic in SplitRun() r=glandium
The decommit logic is now only used when MALLOC_DECOMMIT is defined.  The other
page bits ( CHUNK_MAP_MADVISED and CHUNK_MAP_FRESH) are cleared when the page
is initialised.  This avoids leaving the chunk map in an inconsistent state if
pages_commit should fail.

These changes will make some following patches simpler.

Differential Revision: https://phabricator.services.mozilla.com/D200414
2024-03-19 01:42:42 +00:00
Paul Bone 2568695793 Bug 1857841 - pt 4. Don't decommit then recommit pages in InitChunk r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D195513
2024-03-19 01:42:41 +00:00
Paul Bone 71f4a9c395 Bug 1857841 - pt 3. Add a new page kind named "fresh" r=glandium
Also re-write the descriptions of the page kinds.

Differential Revision: https://phabricator.services.mozilla.com/D203570
2024-03-19 01:42:41 +00:00
Paul Bone 4ca2947b0f Bug 1857841 - pt 2. Remove obsolete comment r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D200413
2024-03-19 01:42:41 +00:00
Paul Bone 4189799792 Bug 1857841 - pt 1. Modernise variable declarations in SplitRun r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D195511
2024-03-19 01:42:40 +00:00
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