Commit Graph

2002 Commits

Author SHA1 Message Date
june wilde
99fcac8838 Bug 1649967 - Add missing annotation attributes to builds with clang-plugin enabled; r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D81958
2020-07-06 17:03:23 +00:00
Sylvestre Ledru
caf785c695 Bug 1519636 - Reformat recent changes to the Google coding style r=andi
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D82178
2020-07-04 09:38:43 +00:00
Simon Giesecke
273b5b9fd1 Bug 1649704 - Improve consistency of Span's span_iterator comparison. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D81827
2020-07-02 13:46:01 +00:00
Nathan Froyd
b272eadc07 Bug 1323307 - use compiler-builtin preprocessor macros for endianness always; r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D81551
2020-07-02 14:36:54 +00:00
Mike Hommey
77976c2cc1 Bug 1463035 - Remove MOZ_SIGNAL_TRAMPOLINE. r=gerald
This was previously r=jchen and landed, but was backed out because some
Android tests were running on an unrealistically old Linux kernel. These
tests have been retired, so this can reland.

Differential Revision: https://phabricator.services.mozilla.com/D81278
2020-06-26 03:48:49 +00:00
David Major
a0cb558b98 Bug 1648541 - Rename details namespace in SPSCQueue r=froydnj
I will admit from the start that this patch is goofy and is not the "proper" fix.

If you're unlucky enough to tickle the current unification in `dom/media`, then there's a conflict between `namespace mozilla::details` of `SPSCQueue.h` and `namespace details` of Chromium's `task.h`. Ultimately, the badness stems from some unified file doing `using namespace mozilla;`, but I'm really not enthusiastic about reworking that when I just want to get unblocked.

I'm going to attempt to justify the yuckiness of this patch on the basis that:
* `SPSCQueue.h` is super self-contained and rarely looked at, I bet nobody will notice this change
* Tons of other code prefers the spelling `mozilla::detail` anyway

Differential Revision: https://phabricator.services.mozilla.com/D81162
2020-06-25 19:30:52 +00:00
Simon Giesecke
9235fda693 Bug 1648452 - Make construction of NotNull work with MovingNotNull of derived-type. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D81077
2020-06-25 13:10:08 +00:00
Simon Giesecke
6fbe4dd29b Bug 1648044 - Add Maybe<T&>::refEquals methods. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80845
2020-06-25 15:09:58 +00:00
Simon Giesecke
e30a7e3356 Bug 1647647 - Add InitializedOnce::ref methods. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80843
2020-06-25 13:12:47 +00:00
John Paul Adrian Glaubitz
1304678d83 Bug 1318905 - mfbt:tests: Define RETURN_INSTR for riscv64 in TestPoisonArea r=glandium
Define RETURN_INSTR for riscv64 in TestPoisonArea, i.e. the riscv64 assembly
opcodes for "ret ; ret".

Differential Revision: https://phabricator.services.mozilla.com/D78625
2020-06-18 07:11:09 +00:00
Simon Giesecke
2c863dcd11 Bug 1646391 - Simplify ReverseIterator. r=froydnj
The following simplifications are made:
* Unnecessary function template arguments are removed.
* Unnecessary copy constructor definitions are removed (making the types
  movable where possible).
* Iterators are moved where possible rather than copied.
* Unnecessary MOZ_IMPLICIT on a constructor with two arguments is removed.

Differential Revision: https://phabricator.services.mozilla.com/D80015
2020-06-18 07:49:16 +00:00
Mihai Alexandru Michis
b0915875b3 Backed out changeset 186d892dc218 (bug 1646391) for causing bustages in TestReverseIterator.cpp
CLOSED TREE
2020-06-17 20:08:01 +03:00
Simon Giesecke
9fa5c13f41 Bug 1646391 - Simplify ReverseIterator. r=froydnj
The following simplifications are made:
* Unnecessary function template arguments are removed.
* Unnecessary copy constructor definitions are removed (making the types
  movable where possible).
* Iterators are moved where possible rather than copied.
* Unnecessary MOZ_IMPLICIT on a constructor with two arguments is removed.

Differential Revision: https://phabricator.services.mozilla.com/D80015
2020-06-17 15:20:25 +00:00
Simon Giesecke
9cf654a99f Bug 1645429 - Do not use ReverseIterator in nsTObserverArray::NonObservingRange. r=froydnj
Depends on D79957

Differential Revision: https://phabricator.services.mozilla.com/D79958
2020-06-17 13:29:02 +00:00
Simon Giesecke
901af53e36 Bug 1645429 - Add tests for ReverseIterator and fix implementation of ReverseIterator::operator-. r=froydnj
Depends on D79488

Differential Revision: https://phabricator.services.mozilla.com/D79957
2020-06-17 13:54:12 +00:00
David Major
0f1c6a1f28 Bug 1646171 - Fix vsnprintf complaint in Assertions.cpp r=froydnj
For some reason, our clang-plugin didn't notice this before clang 11.

Differential Revision: https://phabricator.services.mozilla.com/D79901
2020-06-16 21:26:16 +00:00
Sylvestre Ledru
85c05f3a47 Bug 1519636 - Reformat recent changes to the Google coding style r=andi
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D79795
2020-06-16 14:37:23 +00:00
Simon Giesecke
8c0f977ccd Bug 1645429 - Use std::reverse_iterator instead of mozilla::ReverseIterator where possible. r=froydnj
mozilla::ReverseIterator is required for "stashing iterators", but otherwise
std::reverse_iterator can be used and is potentially more efficient.

Also fix some other glitches in iterator type definitions.

Differential Revision: https://phabricator.services.mozilla.com/D79489
2020-06-16 10:14:01 +00:00
Simon Giesecke
1a13e8aef8 Bug 1645328 - Add in-place constructor to Maybe. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D79448
2020-06-15 09:04:02 +00:00
Brindusan Cristian
bff7221969 Backed out changeset 5200dd8a0de5 (bug 1645328) for cppunit assertion failures at Maybe.h. CLOSED TREE 2020-06-12 20:12:37 +03:00
Simon Giesecke
af931b95e6 Bug 1645328 - Add in-place constructor to Maybe. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D79448
2020-06-12 14:42:26 +00:00
John Paul Adrian Glaubitz
eac5e496ab Bug 1325771 - mfbt:tests: Define RETURN_INSTR for m68k in TestPoisonArea r=glandium
Define RETURN_INSTR for m68k in TestPoisonArea, i.e. the m68k assembly
opcodes for "rts ; rts".

Differential Revision: https://phabricator.services.mozilla.com/D77290
2020-06-06 06:45:53 +00:00
John Paul Adrian Glaubitz
44fad57771 Bug 1325771 - mfbt:tests: Handle targets with less strict alignment in TestCompactPair r=jesup
Previously, the tests assumed that the alignment of int and long equals
their size. This commit fixes the tests for targets like m68k that have
sizeof(int) == 4 and alignof(int) == 2. A static helper function sizemax
was introduced as the offset of the second element in Pair<int,long>
might be either determined by its alignment requirement or the size of
the preceding int element and we use the helper function to pick the
larger of the two values.

Differential Revision: https://phabricator.services.mozilla.com/D77289
2020-06-06 06:45:53 +00:00
John Paul Adrian Glaubitz
319d3205ce Bug 1325771 - mfbt: Reorder parameters for MOZ_ALIGNED_DECL r=jwalden
Currently, MOZ_ALIGNED_DECL uses the order (_type, _align) for its
parameters. However, this order makes the code less readable when
_type is a larger object like a struct because the value for _align
would be at the end of the struct definition. By swapping the order
of _type and _align, the alignment value will always be next to
the type name, regardless how far the definition of _type extends.

Differential Revision: https://phabricator.services.mozilla.com/D77288
2020-06-03 18:31:06 +00:00
Dorel Luca
0154691eae Backed out 5 changesets (bug 1325771) for Spidermonkey failures and build bustage in build/src/mfbt/tests/TestCompactPair.cpp. CLOSED TREE
Backed out changeset ace40545b46c (bug 1325771)
Backed out changeset b3e0fb410a1c (bug 1325771)
Backed out changeset d69ac62c063f (bug 1325771)
Backed out changeset 24e6299e112d (bug 1325771)
Backed out changeset 393a6ff847ce (bug 1325771)
2020-06-03 20:23:08 +03:00
John Paul Adrian Glaubitz
196d2e2764 Bug 1325771 - mfbt:tests: Define RETURN_INSTR for m68k in TestPoisonArea r=glandium
Define RETURN_INSTR for m68k in TestPoisonArea, i.e. the m68k assembly
opcodes for "rts ; rts".

Depends on D77289

Differential Revision: https://phabricator.services.mozilla.com/D77290
2020-06-02 07:01:56 +00:00
John Paul Adrian Glaubitz
5e52229a75 Bug 1325771 - mfbt:tests: Handle targets with less strict alignment in TestCompactPair r=jesup
Previously, the tests assumed that the alignment of int and long equals
their size. This commit fixes the tests for targets like m68k that have
sizeof(int) == 4 and alignof(int) == 2. A static helper function sizemax
was introduced as the offset of the second element in Pair<int,long>
might be either determined by its alignment requirement or the size of
the preceding int element and we use the helper function to pick the
larger of the two values.

Depends on D77288

Differential Revision: https://phabricator.services.mozilla.com/D77289
2020-06-01 22:48:50 +00:00
John Paul Adrian Glaubitz
ea002ac55c Bug 1325771 - mfbt: Reorder parameters for MOZ_ALIGNED_DECL r=jwalden
Currently, MOZ_ALIGNED_DECL uses the order (_type, _align) for its
parameters. However, this order makes the code less readable when
_type is a larger object like a struct because the value for _align
would be at the end of the struct definition. By swapping the order
of _type and _align, the alignment value will always be next to
the type name, regardless how far the definition of _type extends.

Depends on D77287

Differential Revision: https://phabricator.services.mozilla.com/D77288
2020-06-03 16:51:08 +00:00
Sylvestre Ledru
63be8d152d Bug 1519636 - Reformat recent changes to the Google coding style r=necko-reviewers,dragana
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D77580
2020-05-30 09:55:27 +00:00
Nathan Froyd
5416a2fae6 Bug 1635359 - remove bounds checks on trivial span_iterator construction; r=sg
There's no need to provide the compiler a bunch of stuff that it's
trivially going to optimize away anyway, and we'd rather the release
assert not mess with the optimizer's view of the code.

Differential Revision: https://phabricator.services.mozilla.com/D77124
2020-05-28 11:17:42 +00:00
Nathan Froyd
9dcf479947 Bug 1635359 - provide a private constructor for span_iterator to bypass bounds checks; r=sg
The compiler is not always able to remove these (always-successful)
checks, so we might as well help it along.

Depends on D77122

Differential Revision: https://phabricator.services.mozilla.com/D77123
2020-05-28 10:05:38 +00:00
Nathan Froyd
1dc3de3520 Bug 1635359 - rename Span type parameter for span_iterator; r=sg
We're going to introduce some friend declarations in the next patch, and
this change makes doing so easier.  It's also slightly less confusing.

Depends on D77121

Differential Revision: https://phabricator.services.mozilla.com/D77122
2020-05-28 10:03:06 +00:00
Nathan Froyd
f747ca618f Bug 1635359 - remove release asserts for span_iterator {de,in}crement; r=sg
These are redundant with the checks that we already have for dereferencing.

Depends on D77120

Differential Revision: https://phabricator.services.mozilla.com/D77121
2020-05-28 09:56:06 +00:00
Nathan Froyd
9c05dc1217 Bug 1635359 - eliminate release assert in const span_iterator construction; r=sg
Differential Revision: https://phabricator.services.mozilla.com/D77120
2020-05-28 09:54:37 +00:00
Chris Fronk
dfcd4afc6e Bug 1433142 - Add support for hashing enum values. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D70647
2020-05-27 23:44:51 +00:00
Jon Bauman
c3c1e322ad Bug 1639637 - Add Maybe method to move out contents leaving Nothing() behind. r=froydnj
Add take() and extract() methods returning Maybe<T> and T respectively.

Differential Revision: https://phabricator.services.mozilla.com/D76526
2020-05-22 19:46:07 +00:00
Bob Owen
3dc49fb3d2 Bug 1639958 part 2: Add Buffer::AllocForOverwrite to fallibly create a default-initialized Buffer. r=froydnj
This also uses MakeUniqueForOverwrite* in two places where we immediately copy
over the Buffer from a Span.
Adds move assignment operator as well.

Differential Revision: https://phabricator.services.mozilla.com/D75510
2020-05-22 07:48:02 +00:00
Bob Owen
c7b447903d Bug 1639958 part 1: Add MakeUniqueForOverwrite and MakeUniqueForOverwriteFallible helpers. r=froydnj
These are the equivalent of std::make_unique_for_overwrite and std::make_unique_for_overwrite with fallible allocation.

Differential Revision: https://phabricator.services.mozilla.com/D75509
2020-05-22 07:22:28 +00:00
Chris Fronk
2f903c4542 Bug 1624495 - Support move only arguments such as UniquePtr in FunctionRef. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D68707
2020-05-21 01:56:57 +00:00
Simon Giesecke
2547c1a621 Bug 1637605 - Make ToResultInvoke work with stdcall functions on Windows. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D75938
2020-05-19 13:15:58 +00:00
Simon Giesecke
f5342d154a Bug 1637605 - Add support for polymorphic return values to ToResultInvoke. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D75294
2020-05-19 09:07:08 +00:00
Simon Giesecke
24e5290fb8 Bug 1637605 - Provide adapter from functions with R*/R& output parameter and nsresult return type to Result<R, nsresult> return type. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D75091
2020-05-19 08:25:54 +00:00
Simon Giesecke
f29e73f1c3 Bug 1637599 - Rephrase documentation referring to copies of errors. r=froydnj
The phrase "copy the error" is misleading, as the error type might not be
copyable, and it is never copied but moved. "Propagate" the error seems to
be a good term to describe this.

Differential Revision: https://phabricator.services.mozilla.com/D75093
2020-05-13 15:44:31 +00:00
Simon Giesecke
4a309d690e Bug 1637599 - Simplify propagation of error results. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D75090
2020-05-13 15:44:31 +00:00
Simon Giesecke
f07c441f41 Bug 1636114 - Add Span::AsConst method. r=hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D74232
2020-05-11 09:27:40 +00:00
Chris Fronk
af8a02cc9d Bug 1512991 - Add JsonWriteFunc::Write to take string length. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D72560
2020-05-08 16:24:31 +00:00
Greg V
e65e9412b0 Bug 1634205 - Support Gecko Profiler and Base Profiler on FreeBSD r=mstange
- supports amd64 and arm64 (aarch64)
- uses LUL for stack walking

Differential Revision: https://phabricator.services.mozilla.com/D73162
2020-05-06 17:44:19 +00:00
Simon Giesecke
736ed67de5 Bug 1634003 - Add MovingNotNull class template. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D73032
2020-05-05 09:09:13 +00:00
Simon Giesecke
ddfa9fe2d2 Bug 1633719 - Make NotNull move its member pointer where possible. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D72827
2020-05-05 09:09:01 +00:00
Shishir Jaiswal
a285d5eb51 Bug 1629429 - Removing optional second argument in static_assert() r=sylvestre
The seconds argument for diagnostic message is optional from C++17

Differential Revision: https://phabricator.services.mozilla.com/D73556
2020-05-02 21:51:13 +00:00