Commit Graph

1508 Commits

Author SHA1 Message Date
Tooru Fujisawa
bf93d07148 Bug 1667455 - Part 5: Stop importing Services.jsm from chrome-priv JS code, top-level single-line cases. r=kmag,webdriver-reviewers,perftest-reviewers,webcompat-reviewers,geckoview-reviewers,extension-reviewers,application-update-reviewers,pip-reviewers,twisniewski,m_kato,jdescottes,mconley,AlexandruIonescu,mossop
Differential Revision: https://phabricator.services.mozilla.com/D150894
2022-07-11 12:41:50 +00:00
Ray Kraesig
1f4a9dd483 Bug 1207753 - add thread-safety annotations to memory/build's Mutex types r=glandium,jesup
Add the customary bevy of thread-safety annotations to the Mutex types
in memory/build.

Almost all existing instances of these Mutexes are already marked with
MOZ_UNANNOTATED, but this turns out not to matter: MOZ_UNANNOTATED has
no equivalent under clang's `-Wthread-safety` attributes. There are no
variables declared to be guarded by these mutexes, but they must still
be unlocked and relocked in principled ways -- or, alternatively, only
have unverifiable actions taken in appropriately-annotated code.

The primary offenders here are the `pthread_atfork` hooks; these can't
all be annotated precisely (and couldn't be checked even if they were),
so we simply mark them all as unanalyzable. The only other warning is
from a highly unusual (but already well-commented) bit in PHC.cpp where
we manually release an autolocked mutex before crashing.

Differential Revision: https://phabricator.services.mozilla.com/D150519
2022-07-08 21:24:03 +00:00
Gabriele Svelto
7e8fda1a8b Bug 1774458 - Use undocumented, non-public adaptive spinlocks on macOS 10.15+, revert to user-space spinlocks on older versions r=pbone
Differential Revision: https://phabricator.services.mozilla.com/D149599
2022-07-04 14:00:11 +00:00
smolnar
1ae6fdb86e Backed out changeset 6d913c78ba72 (bug 1207753) for causing build bustages in memory/replace/logalloc/LogAlloc.cpp CLOSED TREE 2022-06-30 20:44:00 +03:00
Ray Kraesig
ec7d45d247 Bug 1207753 - add thread-safety annotations to memory/build's Mutex types r=glandium,jesup
Add the customary bevy of thread-safety annotations to the Mutex types
in memory/build.

Almost all existing instances of these Mutexes are already marked with
MOZ_UNANNOTATED, so there's not much else required for this patch. The
sole exception is a highly unusual (but already well-commented) bit in
PHC.cpp where we manually release an autolocked mutex before crashing.

Differential Revision: https://phabricator.services.mozilla.com/D150519
2022-06-30 17:25:28 +00:00
Andrew McCreight
17068ff57b Bug 1776103 - Clean up DMD docs. r=xpcom-reviewers,nika DONTBUILD
I went through the docs and fixed up a few things. I also removed the other
version that was imported under XPCOM, updated a few obsolete MDN links that
now have updated docs, and deleted some ancient Bonsai links.

Differential Revision: https://phabricator.services.mozilla.com/D150504
2022-06-29 21:41:04 +00:00
Ryan VanderMeulen
357cb02321 Bug 1776455 - Don't define unused functions on Windows. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D150444
2022-06-29 13:18:22 +00:00
Bogdan Szekely
b1f7582841 Backed out changeset 910652b53350 (bug 1774458) for causing build bustages on Mutex.cpp CLOSED TREE 2022-06-29 11:28:41 +03:00
Gabriele Svelto
6896218e59 Bug 1774458 - Use undocumented, non-public adaptive spinlocks on macOS 10.15+, revert to user-space spinlocks on older versions r=pbone
Differential Revision: https://phabricator.services.mozilla.com/D149599
2022-06-29 08:13:29 +00:00
Ray Kraesig
fc7c4cd2b1 Bug 1776898: Add additional filtering capabilities to dmd.py r=mccr8
Extend dmd.py's filtering capabilities by allowing both multiple filters
and negated filters.

Differential Revision: https://phabricator.services.mozilla.com/D150481
2022-06-28 23:30:24 +00:00
Marian-Vasile Laza
6f25bc857b Backed out changeset ecea89cb3d35 (bug 1774458) for crashing on macOS 10.14 and older. CLOSED TREE 2022-06-24 01:56:51 +03:00
Gabriele Svelto
de07e630cc Bug 1774458 - Use undocumented, non-public adaptive spinlocks on macOS r=pbone
Differential Revision: https://phabricator.services.mozilla.com/D149599
2022-06-23 20:45:03 +00:00
Gabriele Svelto
8f9904bb76 Bug 1670885 - Replace deprecated NSSpinLocks with os_unfair_locks in the memory allocator r=glandium
Depends on D148287

Differential Revision: https://phabricator.services.mozilla.com/D99280
2022-06-07 07:37:20 +00:00
Gabriele Svelto
f56fb96281 Bug 1670885 - Fix post-fork() handlers for PHC/LogAlloc to work on macOS using unfair locks r=glandium
macOS unfair locks enforce that a lock can only be released by the thread which locked it.

On macOS 11+ this caused the fork()'d child process to raise a SIGILL signal. Confusingly enough this behavior seems to be different on macOS 10.15 and possibly interacted in odd ways with our exception handler if it was installed before fork()-ing.

Differential Revision: https://phabricator.services.mozilla.com/D148287
2022-06-07 07:37:20 +00:00
Serge Guelton
7648a84eba Bug 1765593 - Cleanup mozilla-unified includes r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D144202
2022-05-03 14:57:45 +00:00
Randell Jesup
fcaf70841e Bug 1207753 - Add MOZ_UNANNOTATED to all Mutexes/Monitors r=nika,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D140849
2022-03-16 18:47:08 +00:00
Noemi Erli
2390d257e6 Backed out changeset 12a59e5a50bf (bug 1207753) for causing build bustage CLOSED TREE 2022-03-16 18:32:51 +02:00
Randell Jesup
4b033a5256 Bug 1207753 - Add MOZ_UNANNOTATED to all Mutexes/Monitors r=nika,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D140849
2022-03-16 16:16:14 +00:00
Butkovits Atila
927ad62c6a Backed out changeset a68ee4b09f92 (bug 1207753) for causing Hazard bustages. CLOSED TREE 2022-03-16 14:38:14 +02:00
Randell Jesup
7d4b5fae04 Bug 1207753 - Add MOZ_UNANNOTATED to all Mutexes/Monitors r=nika,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D140849
2022-03-16 12:01:14 +00:00
Zhao Jiazhong
62341514c5 Bug 1756570 - [loong64] Add basic build support for LoongArch64 port. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D139567
2022-02-25 03:42:34 +00:00
Mike Hommey
1acc37c7a6 Bug 1747756 - Move Windows system libraries from LIBS to moz.build. r=firefox-build-system-reviewers,mhentges
While mingw builds don't require user32 and advapi32 explicitly, it doesn't
hurt for them to be there (and they're required for clang-cl build).
Likewise, while clang-builds don't require uuid and userenv explicitly
because they're pulled in via #pragmas in the source code, mingw doesn't
support those #pragmas and needs them explicitly, which doesn't hurt the
clang-cl builds.

Differential Revision: https://phabricator.services.mozilla.com/D134737
2021-12-30 20:56:43 +00:00
Iulian Moraru
b469802d84 Backed out changeset 7f9b4b6191ad (bug 1747756) for causing multiple failures. CLOSED TREE 2021-12-30 01:59:26 +02:00
Mike Hommey
cb50a5444f Bug 1747756 - Move Windows system libraries from LIBS to moz.build. r=firefox-build-system-reviewers,mhentges
While mingw builds don't require user32 and advapi32 explicitly, it doesn't
hurt for them to be there (and they're required for clang-cl build).
Likewise, while clang-builds don't require uuid and userenv explicitly
because they're pulled in via #pragmas in the source code, mingw doesn't
support those #pragmas and needs them explicitly, which doesn't hurt the
clang-cl builds.

Differential Revision: https://phabricator.services.mozilla.com/D134737
2021-12-29 22:18:52 +00:00
Paul Bone
bf37baf4e4 Bug 1743713 - Fix a warning for FdPrintf in PHC r=glandium
For a unified it is possible to include FdPrintf.cpp before FdPrintf.h which
creates a compilation warning for FdPrintf's attributes.  FdPrintf.cpp
should include FdPrintf.h so that the declaration always precedes the
definition.

Depends on D132913

Differential Revision: https://phabricator.services.mozilla.com/D132914
2021-12-07 22:27:21 +00:00
Paul Bone
a83c4f05dd Bug 1743713 - Make --enable-project=memory work again r=glandium
Fix the reported error in Bug 1743713 plus a linker error.

Differential Revision: https://phabricator.services.mozilla.com/D132913
2021-12-07 22:27:20 +00:00
Chris Peterson
f6fdbf028a Bug 1738401 - Remove -Wno-shadow warning suppressions. r=firefox-build-system-reviewers,glandium
-Wshadow warnings are not enabled globally, so these -Wno-shadow suppressions have no effect. I had intended to enable -Wshadow globally along with these suppressions in some directories (in bug 1272513), but that was blocked by other issues.

There are too many -Wshadow warnings (now over 2000) to realistically fix them all. We should remove all these unnecessary -Wno-shadow flags cluttering many moz.build files.

Differential Revision: https://phabricator.services.mozilla.com/D132289
2021-12-01 06:40:04 +00:00
Gian-Carlo Pascutto
1d45775e8c Bug 1546442 - Add test for leading guard pages for normal allocations. r=glandium,pbone
Differential Revision: https://phabricator.services.mozilla.com/D132006
2021-11-26 11:46:25 +00:00
Gian-Carlo Pascutto
b936d4f576 Bug 1546442 - Leading guard pages for normal allocations. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D28516
2021-11-26 11:46:25 +00:00
Paul Bone
9a5f36b0dd Bug 1735482 - Don't use a QuantumWide size class on MacOS r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D131576
2021-11-23 02:01:59 +00:00
Iulian Moraru
6cab1c251e Backed out changeset 85fdbf7e368a (bug 1735482) for causing OS X build bustages on mozjemalloc.cpp. CLOSED TREE 2021-11-22 19:01:35 +02:00
Paul Bone
f7d8d8c80e Bug 1735482 - Don't use a QuantumWide size class on MacOS r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D131576
2021-11-22 16:40:52 +00:00
Paul Bone
da23871ca8 Bug 1738240 - Convert the divide function to a template class r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D131197
2021-11-22 01:03:09 +00:00
Paul Bone
62af1f75c2 Bug 1738240 - Use fast-divide for QuantumWide r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D129807
2021-11-22 01:03:08 +00:00
Paul Bone
18f4d35973 Bug 1738240 - Move division routine out of arena_run_reg_dalloc r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D129806
2021-11-22 01:03:08 +00:00
Chris Peterson
50b1318658 Bug 1736968 - Change MOZ_CRASH() to MOZ_ASSUME_UNREACHABLE_MARKER() for abort()'s ARM noreturn case. r=glandium
This MOZ_CRASH() is redundant after calling noreturn function mozalloc_abort. The MOZ_ASSUME_UNREACHABLE_MARKER() annotation makes ARM's "function declared 'noreturn' should not return" warnings go away.

Differential Revision: https://phabricator.services.mozilla.com/D129115
2021-10-29 06:04:09 +00:00
Chris Peterson
e6b872fb38 Bug 1736968 - Pass mozalloc_abort() crash reason to MOZ_CRASH() to distinguish mozalloc_abort() and bare MOZ_CRASH() crashes. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D129114
2021-10-29 06:04:08 +00:00
Paul Bone
24067c4312 Bug 1737199 - Avoid some VLAs when using jemalloc_stats r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D129228
2021-10-27 08:46:51 +00:00
criss
5e97bafc4e Backed out changeset 27b73fdbb4a9 (bug 1737199) for causing bustages on memory/replace/logalloc/replay/Replay.cpp. CLOSED TREE 2021-10-26 13:00:29 +03:00
Paul Bone
a4b9d48ced Bug 1737199 - Avoid some VLAs when using jemalloc_stats r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D129228
2021-10-26 05:22:05 +00:00
Paul Bone
376c53fd56 Bug 1736766 - Don't include internal DMD stack frames in reports r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D128983
2021-10-21 23:17:04 +00:00
Paul Bone
1a20d57362 Bug 1735250 - Provide a less-magic array size for jemalloc_stats r=glandium
jemalloc_stats takes an array for its second argument.  It expects this
array to have enough space for all the bins, previously the maximum was set
as a magic number.  To make it dependent on the configured bins this patch
replaces the compile-time constant with a function.

Differential Revision: https://phabricator.services.mozilla.com/D127761
2021-10-21 06:42:34 +00:00
Paul Bone
1b721fc414 Bug 1735715 - Handle gMaxSubPageClass == 0 properly r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D128448
2021-10-21 06:03:45 +00:00
Paul Bone
cc06afa32e Bug 1669392 - Add more jemalloc size classes r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D92729
2021-10-13 06:53:20 +00:00
Marian-Vasile Laza
ac6c5e156e Backed out changeset 9de9bd47c061 (bug 1669392) for causing build bustages. 2021-10-12 04:18:26 +03:00
Paul Bone
cc6e7d6c41 Bug 1669392 - Add more jemalloc size classes r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D92729
2021-10-12 00:34:38 +00:00
Alex Henrie
bb04aa9e0e Bug 1730376 - Fix mmap return value check in FreePage function. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D126310
2021-10-05 08:38:38 +00:00
Mike Hommey
aec5c5347b Bug 1733034 - Fix unused*-variable warnings due to missing ifdefs. r=andi
dom/base/EventSource.cpp:59:22: error: unused variable 'gEventSourceLog' [-Werror,-Wunused-variable]
static LazyLogModule gEventSourceLog("EventSource");
                     ^
dom/xul/nsXULCommandDispatcher.cpp:35:22: error: unused variable 'gCommandLog' [-Werror,-Wunused-variable]
static LazyLogModule gCommandLog("nsXULCommandDispatcher");
                     ^
layout/generic/ScrollAnchorContainer.cpp:23:31: error: unused variable 'sAnchorLog' [-Werror,-Wunused-variable]
static mozilla::LazyLogModule sAnchorLog("scrollanchor");
                              ^
memory/replace/phc/PHC.cpp:308:15: error: unused variable 'kAllocJunk' [-Werror,-Wunused-const-variable]
const uint8_t kAllocJunk = 0xe4;
              ^

Differential Revision: https://phabricator.services.mozilla.com/D126866
2021-09-29 21:44:49 +00:00
Gabriele Svelto
1ea22d4cdd Bug 1730222 - Support PHC on macOS when running on ARM-based machines r=glandium
This also tightens the check for PHC-type crashes in the exception handler
so that we don't accidentally try to interpret unrelated crash types as
potential PHC ones.

Differential Revision: https://phabricator.services.mozilla.com/D126365
2021-09-29 07:58:13 +00:00
Mike Hommey
9c0f04e547 Bug 1730030 - Replace some assembly with corresponding compiler builtins. r=gerald
This has the side-effect of adding the missing arm64 mac support for PHC.

Differential Revision: https://phabricator.services.mozilla.com/D125139
2021-09-10 00:58:34 +00:00