Commit Graph

2547 Commits

Author SHA1 Message Date
Paul Adenot
291d65e213 Bug 1882518 - Print the PID when an assertion fails or MOZ_CRASH is reached in debug. r=gsvelto,glandium
Differential Revision: https://phabricator.services.mozilla.com/D202937
2024-03-26 09:42:11 +00:00
Andreas Pehrson
522fd9ad0a Bug 1601251 - Prohibit copies and moves on Maybe<T> where such operations are prohibited on T. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D205077
2024-03-26 08:00:56 +00:00
Stanca Serban
67ed3b15f0 Backed out changeset dda9d04389e1 (bug 1882518) for causing build bustages in Assertions.h. CLOSED TREE 2024-03-22 17:28:29 +02:00
Paul Adenot
30c2d20f64 Bug 1882518 - Print the PID when an assertion fails or MOZ_CRASH is reached in debug. r=gsvelto,glandium
Differential Revision: https://phabricator.services.mozilla.com/D202937
2024-03-22 12:19:50 +00:00
Andreas Pehrson
3deec9db93 Bug 1885840 - Add support for Maybe::orElse. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D204998
2024-03-22 08:17:06 +00:00
Andreas Pehrson
4ceb8a3f25 Bug 1885840 - Add support for Maybe::andThen. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D204997
2024-03-22 08:17:05 +00:00
Andreas Pehrson
fdd885886a Bug 1885840 - Remove non-const overloads of apply and map for Maybe<T&>. r=glandium
They don't add any functionality since there is no non-const variant of ref().

Differential Revision: https://phabricator.services.mozilla.com/D204993
2024-03-22 08:17:05 +00:00
Andreas Pehrson
2fdcd7ef76 Bug 1885840 - To Maybe<T>, add rvalue variants of apply and map. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D204992
2024-03-22 08:17:04 +00:00
Andreas Pehrson
3a4d791e34 Bug 1885840 - Clarify comment in TestMaybe on why move operations unexpectedly work with a non-movable type. r=glandium
As Bug 1601251 states, those operations need to be explicitly deleted for the
asserts to hold.

Differential Revision: https://phabricator.services.mozilla.com/D204990
2024-03-22 08:17:04 +00:00
Norisz Fay
7334131da2 Backed out changeset 02d8b0bd7883 (bug 1882518) for causing build bustage on Assertions.h CLOSED TREE 2024-03-15 14:01:53 +02:00
Paul Adenot
e2290e469b Bug 1882518 - Print the PID when an assertion fails or MOZ_CRASH is reached in debug. r=gsvelto,glandium
Differential Revision: https://phabricator.services.mozilla.com/D202937
2024-03-15 09:36:51 +00:00
Ray Kraesig
5cf89251a2 Bug 1880192 - [1/5] MozPromise.h: some C++17 modernizations r=xpcom-reviewers,emilio
Remove some type-level indirections from template-metaprogramming
helpers.

Additionally, replace some nearby uses of `typedef` with `using`, as
suggested by clang-tidy.

No functional changes.

Differential Revision: https://phabricator.services.mozilla.com/D201784
2024-03-05 17:22:21 +00:00
Peter Van der Beken
2b747df80a Bug 1640839 - Add some helpers for enums to calculate the size and use it in EnumeratedArray. r=glandium,jgilbert,media-playback-reviewers,padenot
Differential Revision: https://phabricator.services.mozilla.com/D201334
2024-03-02 07:50:19 +00:00
Peter Van der Beken
9c8d00b7fb Bug 1640839 - Move size template parameter for EnumeratedArray to the end. r=glandium,jgilbert,media-playback-reviewers,credential-management-reviewers,padenot,dimi
This will allow us to provide a default value for the size when some enum
helper traits are defined.

Differential Revision: https://phabricator.services.mozilla.com/D201333
2024-03-02 07:50:19 +00:00
Natalia Csoregi
8c2521e9d5 Backed out 13 changesets (bug 1640839) for causing bustage on Element.cpp CLOSED TREE
Backed out changeset 179ceb82c9e5 (bug 1640839)
Backed out changeset 73f498a821f0 (bug 1640839)
Backed out changeset dc2d3d0e0365 (bug 1640839)
Backed out changeset ddc989ac0509 (bug 1640839)
Backed out changeset e595bb3feea8 (bug 1640839)
Backed out changeset c85aca04e27f (bug 1640839)
Backed out changeset 98e8e3a4047a (bug 1640839)
Backed out changeset 59ef180517db (bug 1640839)
Backed out changeset af2f5e293662 (bug 1640839)
Backed out changeset 89aa6d9dc598 (bug 1640839)
Backed out changeset 67b722a722f9 (bug 1640839)
Backed out changeset 24a9665c6ced (bug 1640839)
Backed out changeset d93f199385e9 (bug 1640839)
2024-03-01 18:23:08 +02:00
Peter Van der Beken
f295b0c979 Bug 1640839 - Add some helpers for enums to calculate the size and use it in EnumeratedArray. r=glandium,jgilbert,media-playback-reviewers,padenot
Differential Revision: https://phabricator.services.mozilla.com/D201334
2024-03-01 14:31:09 +00:00
Peter Van der Beken
8d1c9ad39c Bug 1640839 - Move size template parameter for EnumeratedArray to the end. r=glandium,jgilbert,media-playback-reviewers,credential-management-reviewers,padenot,dimi
This will allow us to provide a default value for the size when some enum
helper traits are defined.

Differential Revision: https://phabricator.services.mozilla.com/D201333
2024-03-01 14:31:09 +00:00
serge-sans-paille
f3cfc8bfd7 Bug 1880420 - Move __thread detection to moz.configure r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D201937
2024-02-28 11:11:17 +00:00
Kelsey Gilbert
b04996924d Bug 1037100 - Scoped.h removed because no outstanding uses. r=glandium,dom-storage-reviewers,jesup,janv
Differential Revision: https://phabricator.services.mozilla.com/D201763
2024-02-14 06:41:58 +00:00
Chris Peterson
515689e933 Bug 1880008 - Add char8_t string overloads to MFBT string functions when compiling with -std=c++20. r=xpcom-reviewers,emilio
When compiled with -std=c++17, u8"" string literals have type `const char[]`. When compiled with -std=c++20, u8"" string literals have type `const char8_t[]`. This patch adds the minimum char8_t overloads needed to compile Firefox with -std=c++20. If we want to use char8_t in more code or replace `Utf8Unit` with char8_t, that will require an extensive redesign of MFBT's and xpcom's string classes after we update from -std=c++17 to c++20.

Differential Revision: https://phabricator.services.mozilla.com/D201672
2024-02-14 01:33:31 +00:00
Christian Holler (:decoder)
700e5b34bc Bug 1875252 - Add MOZ_ASSERT_DEBUG_OR_FUZZING and use for Range/RangedPtr. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D198940
2024-02-06 21:31:19 +00:00
Emilio Cobos Álvarez
4c3cd32102 Bug 1878108 - Annotate FunctionRef constructor with MOZ_LIFETIME_BOUND. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D200433
2024-02-06 13:00:40 +00:00
Emilio Cobos Álvarez
e445a2bc43 Bug 1878108 - Replace custom MOZ_LIFETIME_BOUND with built-in. r=nika,glandium
The built-in version is better as it also allows annotating particular
parameters (it not only applies to method declarations).

Differential Revision: https://phabricator.services.mozilla.com/D200432
2024-02-06 13:00:39 +00:00
pstanciu
1200f7991d Backed out 2 changesets (bug 1878108) for causing sm bustages in Attributes.h. CLOSED TREE
Backed out changeset 05e2d2bc1260 (bug 1878108)
Backed out changeset bb356c39c0e2 (bug 1878108)
2024-02-06 13:11:26 +02:00
Emilio Cobos Álvarez
b5234811b5 Bug 1878108 - Annotate FunctionRef constructor with MOZ_LIFETIME_BOUND. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D200433
2024-02-06 08:51:51 +00:00
Emilio Cobos Álvarez
02f7ec8f63 Bug 1878108 - Replace custom MOZ_LIFETIME_BOUND with built-in. r=nika,glandium
The built-in version is better as it also allows annotating particular
parameters (it not only applies to method declarations).

Differential Revision: https://phabricator.services.mozilla.com/D200432
2024-02-06 08:51:50 +00:00
Emilio Cobos Álvarez
f67e589a85 Bug 1877672 - Make FunctionRef a MOZ_TEMPORARY_CLASS. r=nika
This prevents it from being used in the foot-gunny way described in
comment 0.

This in turn allows us to add a constructor for temporary callables.

Turns out we only had test usages of non-temporary FunctionRefs, so this
is much simpler than the initial approach I considered.

Fix the tests to keep compiling, and add a test for the new constructor.

Differential Revision: https://phabricator.services.mozilla.com/D200157
2024-02-02 19:21:20 +00:00
Jan Varga
9cb0b76439 Bug 1873140 - Avoid using invalid enum values during EnumSet iteration; r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D197824
2024-02-02 09:43:10 +00:00
Jan Varga
ee30d0fa58 Bug 1873140 - Align internal methods to use UpperCamelCase in EnumSet implementation; r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D197781
2024-02-02 09:43:10 +00:00
Jan Varga
8518e80c4a Bug 1873140 - Align index data types in EnumSet implementation; r=glandium
size_t is already correctly used in many places, only ConstIterator uses
uint32_t for position tracking. It would be better to align these data types
and use size_t everywhere.

Differential Revision: https://phabricator.services.mozilla.com/D197774
2024-02-02 09:43:10 +00:00
maazis
e59c20c0ea Bug 1860247 - Poison.cpp: do not use 'else' after 'return'. r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D198695
2024-01-31 12:19:32 +00:00
Kelsey Gilbert
2bc302ee20 Bug 1873769 - Add TempPtrToSetter(UniquePtr<T>*) -> T**-ish for safe out-ptr RAII. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D198087
2024-01-26 21:05:30 +00:00
Mathew Hodson
1a67b423e3 Bug 1874533 - Fix build warning for noreturn function on Windows r=glandium
warning: function declared 'noreturn' should not return
[-Winvalid-noreturn]

Differential Revision: https://phabricator.services.mozilla.com/D198485
2024-01-18 11:48:49 +00:00
Mike Hommey
6e1293b5f7 Bug 1718516 - Fix AddToHash of 64-bits numbers on 32-bits platforms. r=nika,anba
Differential Revision: https://phabricator.services.mozilla.com/D197302
2024-01-09 01:48:31 +00:00
Jed Davis
7cb8ed130b Bug 1873131 - Add some assertions to UniqueFileHandle. r=nika,tsmith
Differential Revision: https://phabricator.services.mozilla.com/D197748
2024-01-06 02:54:20 +00:00
Tom Marble
4742739586 Bug 1859908 - convert .ini manifests to .toml: batch 20 marionette.ini r=jmaher,webdriver-reviewers,necko-reviewers,application-update-reviewers,search-reviewers,sessionstore-reviewers,places-reviewers,dom-storage-reviewers,bytesized,kershaw,whimboo,dao,jesup,Standard8
Differential Revision: https://phabricator.services.mozilla.com/D197206
2024-01-02 15:31:51 +00:00
Benjamin Peterson
fbd03780ee Bug 1866606 - Remove MozTaggedMemoryIsSupported. r=jld
MozTaggedMemoryIsSupported doesn't work under ASAN because it tries to prctl the
nullptr page. It should be harmless to simply call prctl and ignore the error.

Depends on D195064

Differential Revision: https://phabricator.services.mozilla.com/D195065
2023-12-23 03:36:53 +00:00
Benjamin Peterson
54b88de235 Bug 1866606 - Support TaggedAnonymousMemory on all Linux r=jld
Change ANDROID ifdefs to XP_LINUX and allow PR_SET_VMA in the sandbox.

Differential Revision: https://phabricator.services.mozilla.com/D195064
2023-12-23 03:36:52 +00:00
Ray Kraesig
149e60c039 Bug 1869053 - [2/5] eliminate all implicit conversions between RefPtr and AgileReference r=handyman,win-reviewers
Remove all of the code in `RefPtr` and `AgileReference` that allowed
for implicitly converting between the two in via constructors or the
assignment operator.

Replace these with a slightly-less-convenient-but-substantially-more-
explicit `Resolve` function family.

(This also eliminates the dependency that `class RefPtr` had on
`class AgileReference`.)

Differential Revision: https://phabricator.services.mozilla.com/D196365
2023-12-21 19:46:54 +00:00
Sandor Molnar
a1bf4a20be Backed out 5 changesets (bug 1869053) for causing build bustages. CLOSED TREE
Backed out changeset 0a1ec143adbc (bug 1869053)
Backed out changeset 687e7683752c (bug 1869053)
Backed out changeset 59d9b136a3f2 (bug 1869053)
Backed out changeset 6ab85972356d (bug 1869053)
Backed out changeset 6addaa9e88be (bug 1869053)
2023-12-20 19:42:52 +02:00
Ray Kraesig
3665ce2e0b Bug 1869053 - [2/5] eliminate all implicit conversions between RefPtr and AgileReference r=handyman,win-reviewers
Remove all of the code in `RefPtr` and `AgileReference` that allowed
for implicitly converting between the two in via constructors or the
assignment operator.

Replace these with a slightly-less-convenient-but-substantially-more-
explicit `Resolve` function family.

(This also eliminates the dependency that `class RefPtr` had on
`class AgileReference`.)

Differential Revision: https://phabricator.services.mozilla.com/D196365
2023-12-20 17:06:21 +00:00
serge-sans-paille
870a5f2055 Bug 1869497 - Introduce MOZ_NAKED to centralize all attributes we expect from naked r=glandium,win-reviewers,mhowell
In the fx codebase, we tend to use __attribute__((naked)) for plain
assembly functions with a C interface. Instrumenting these functions can
mess up this assembly, so we conservatively also want to prevent
instrumentation.

Differential Revision: https://phabricator.services.mozilla.com/D196154
2023-12-15 09:26:48 +00:00
Jon Coppeard
b9ade095dd Bug 1869256 - Add move assignment operator for SegmentedVector r=mccr8
The patch implements the move assigment operator in terms of the move
constructor. This fulfills the requirements for std::swap to compile.

Differential Revision: https://phabricator.services.mozilla.com/D196035
2023-12-11 17:06:08 +00:00
Norisz Fay
af9c87c3e9 Backed out changeset d404928e57cf (bug 1869256) for causing SM bustages on TestSegmentedVector.cpp CLOSED TREE 2023-12-11 18:39:48 +02:00
Jon Coppeard
4f208d4ee5 Bug 1869256 - Add move assignment operator for SegmentedVector r=mccr8
The patch implements the move assigment operator in terms of the move
constructor. This fulfills the requirements for std::swap to compile.

Differential Revision: https://phabricator.services.mozilla.com/D196035
2023-12-11 16:01:35 +00:00
Yannis Juglaret
865f64bb14 Bug 1866562 - Make MSVC-style architecture constants consistent in mingwclang builds. r=tjr
This patch makes mingwclang builds compile with -include _mingw.h. This
makes MSVC-style constants defined from the start of C++ files rather
than at the point where they start including files that depend on
_mingw.h. Thus, mingwclang builds will behave more closely to regular
builds, potentially avoiding future backouts for mingwclang build
failures and/or successful but incorrect mingwclang builds.

Differential Revision: https://phabricator.services.mozilla.com/D195662
2023-12-11 11:01:34 +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
Sylvestre Ledru
ef35fa7374 Bug 1519636 - Reformat recent changes to the Google coding style r=emilio,media-playback-reviewers,padenot
clang-format version 17.0.6 (taskcluster-QueHFUviQeyM8Y7r_d7MQQ)

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D195397
2023-12-04 10:09:36 +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