gecko-dev/mfbt
Mike Hommey 4d8e18962b Bug 1699375 - Move WalkTheStack to mozglue. r=nika
A long standing issue is that MOZ_ASSERT and related don't print stack
traces in debug builds when they're directly or indirectly emitted from
non-libxul code. Moving WalkTheStack to mozglue alleviates the problem.

It's also not printing stack traces when emitted from C code (and for
some C third party libraries, we do redirect assert to MOZ_ASSERT),
which we solve by making the corresponding API available without C++
(which WalkTheStack being a static method of the nsTraceRefCnt class
didn't allow, or the use of a closure on Android).

This requires some adjustements to headers that indirectly assume that
Assertions.h includes ErrorList.h through nsError.h through nscore.h
through nsTraceRefcnt.h.

We also remove TestStackCrawl.cpp because it hasn't been built since
bug 158528, 19 years ago.

Differential Revision: https://phabricator.services.mozilla.com/D108913
2021-03-22 21:25:30 +00:00
..
double-conversion Bug 944846 part 3 - Increase DoubleToStringConverter::kMaxFixedDigitsAfterPoint from 60 to 100. r=glandium 2021-02-10 13:42:17 +00:00
lz4 Bug 1682604 - Update lz4 to 1.9.3. r=sg 2021-01-19 14:13:47 +00:00
tests Bug 1571631 - Replace MOZ_MUST_USE with [[nodiscard]] in mfbt. r=sg 2021-03-17 03:01:21 +00:00
Algorithm.h Bug 1677092: add `constexpr` `AnyOf`. r=sg 2020-11-17 08:30:12 +00:00
Alignment.h Bug 1325771 - mfbt: Reorder parameters for MOZ_ALIGNED_DECL r=jwalden 2020-06-03 18:31:06 +00:00
AllocPolicy.h Bug 1571631 - Replace MOZ_MUST_USE with [[nodiscard]] in mfbt. r=sg 2021-03-17 03:01:21 +00:00
AlreadyAddRefed.h Bug 1571631 - Replace MOZ_MUST_USE with [[nodiscard]] in mfbt. r=sg 2021-03-17 03:01:21 +00:00
Array.h Bug 1653335 - Replace MakeSpan uses by constructor calls. r=froydnj 2020-08-07 07:49:47 +00:00
ArrayUtils.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
Assertions.cpp Bug 1646171 - Fix vsnprintf complaint in Assertions.cpp r=froydnj 2020-06-16 21:26:16 +00:00
Assertions.h Bug 1699375 - Move WalkTheStack to mozglue. r=nika 2021-03-22 21:25:30 +00:00
AtomicBitfields.h Bug 1681546 - rename MOZ_ATOMIC_BITFIELDS methods to Load/Store. r=valentin,necko-reviewers 2020-12-09 18:14:55 +00:00
Atomics.h Bug 1625138 - Part 41: Remove no longer needed includes for mozilla/TypeTraits. r=froydnj 2020-03-28 16:00:09 +00:00
Attributes.h Bug 1571631 - Remove MOZ_MUST_USE definition. r=sg 2021-03-17 03:01:21 +00:00
BinarySearch.h
BitSet.h Bug 1686219 - Add BitSet::SetAll and ResetAll methods r=heycam 2021-01-20 10:03:53 +00:00
BloomFilter.h Bug 1690274 - Part 2: Add mozilla::BitBloomFilter. r=sg 2021-02-16 22:07:05 +00:00
Buffer.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
BufferList.h Bug 1571631 - Replace MOZ_MUST_USE with [[nodiscard]] in mfbt. r=sg 2021-03-17 03:01:21 +00:00
Casting.h Bug 1625138 - Part 41: Remove no longer needed includes for mozilla/TypeTraits. r=froydnj 2020-03-28 16:00:09 +00:00
ChaosMode.cpp Bug 1609815 - Remove Web Replay C++ implementation. r=jgilbert,jandem,gbrown 2020-02-27 17:39:15 +00:00
ChaosMode.h Bug 1609815 - Remove Web Replay C++ implementation. r=jgilbert,jandem,gbrown 2020-02-27 17:39:15 +00:00
Char16.h Bug 1602452 - Make member functions of nsTStringRepr defined in header constexpr. r=froydnj 2019-12-10 08:40:48 +00:00
CheckedInt.h Bug 1519636 - Reformat recent changes to the Google coding style r=jgilbert 2020-04-05 13:34:58 +00:00
CompactPair.h Bug 1432988 - Add hash for pair types. r=botond 2020-12-04 21:57:03 +00:00
Compiler.h Bug 1576056 - delete all the standard library-related checks in Compiler.h; r=dmajor 2019-08-27 22:42:17 +00:00
Compression.cpp Bug 1653335 - Remove uses of MakeSpan in return statements. r=froydnj 2020-08-07 07:42:50 +00:00
Compression.h Bug 1571631 - Replace MOZ_MUST_USE with [[nodiscard]] in mfbt. r=sg 2021-03-17 03:01:21 +00:00
DbgMacro.h Bug 1653335 - Replace MakeSpan uses by constructor calls. r=froydnj 2020-08-07 07:49:47 +00:00
DebugOnly.h Bug 1664844 - Add DebugOnly::inspect member function. r=jwalden 2020-09-18 06:33:12 +00:00
DefineEnum.h Bug 1626772 - Fixes for gcc 9 warnings r=botond 2020-04-10 20:40:03 +00:00
DoublyLinkedList.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
EndianUtils.h Bug 1571631 - Replace MOZ_MUST_USE with [[nodiscard]] in mfbt. r=sg 2021-03-17 03:01:21 +00:00
EnumSet.h Bug 1657455 - Give EnumSet an assignment operator r=sg 2020-08-06 20:40:37 +00:00
EnumTypeTraits.h Bug 1656034 - Add UnderlyingValue() to mfbt. - r=froydnj 2020-07-31 23:04:44 +00:00
EnumeratedArray.h Bug 1626197 - Remove custom copy/move operations on EnumeratedArray. r=froydnj 2020-03-31 13:17:21 +00:00
EnumeratedRange.h Bug 1614512 - Give mozilla::Side and mozilla::Corner a fixed underlying type. r=froydnj 2020-02-11 14:11:06 +00:00
FStream.h
FastBernoulliTrial.h Bug 1577051 - Fix an implicit-conversion-changes-value warning with new-enough clang by explicitly converting. r=froydnj 2019-08-28 16:35:22 +00:00
FloatingPoint.cpp
FloatingPoint.h Bug 1571631 - Replace MOZ_MUST_USE with [[nodiscard]] in mfbt. r=sg 2021-03-17 03:01:21 +00:00
FunctionRef.h Bug 1624495 - Support move only arguments such as UniquePtr in FunctionRef. r=botond 2020-05-21 01:56:57 +00:00
FunctionTypeTraits.h Bug 1611520 - gcc-10: Include <cstddef> in FunctionTypeTraits.h r=gerald 2020-02-01 10:23:38 +00:00
HashFunctions.cpp
HashFunctions.h Bug 1571631 - Replace MOZ_MUST_USE with [[nodiscard]] in mfbt. r=sg 2021-03-17 03:01:21 +00:00
HashTable.h Bug 1571631 - Replace MOZ_MUST_USE with [[nodiscard]] in mfbt. r=sg 2021-03-17 03:01:21 +00:00
HelperMacros.h Bug 1547519 - Rename NS_STRINGIFY to MOZ_STRINGIFY, move to mfbt, and unify stragglers r=glandium 2019-09-04 02:40:32 +00:00
InitializedOnce.h Bug 1685679 - Add do_Init function to allow assignment to InitializedOnce variables. r=janv 2021-01-15 11:23:41 +00:00
IntegerRange.h Bug 1645429 - Use std::reverse_iterator instead of mozilla::ReverseIterator where possible. r=froydnj 2020-06-16 10:14:01 +00:00
IntegerTypeTraits.h Bug 1625138 - Part 41: Remove no longer needed includes for mozilla/TypeTraits. r=froydnj 2020-03-28 16:00:09 +00:00
JSONWriter.cpp
JSONWriter.h Bug 1657033 - Use Span<const char> in JSONWriter - r=froydnj 2020-09-14 02:33:20 +00:00
JsRust.h Bug 1490601 part 2 - Move C++ entry points to encoding_c_mem to mfbt/. r=jwalden 2019-09-18 08:26:34 +00:00
Latin1.h Bug 1625138 - Part 41: Remove no longer needed includes for mozilla/TypeTraits. r=froydnj 2020-03-28 16:00:09 +00:00
Likely.h
LinkedList.h Bug 1667836 - Add CC support to LinkedList r=smaug 2021-02-09 18:54:47 +00:00
MacroArgs.h Bug 1666219 - Introduce QM_TRY_INSPECT to avoid unwrapping Result objects where not necessary. r=dom-workers-and-storage-reviewers,janv 2020-09-29 10:57:14 +00:00
MacroForEach.h
MathAlgorithms.h Bug 1625473: Use type traits for AbsReturnType. r=froydnj 2020-03-28 16:07:06 +00:00
Maybe.h Bug 1683227 - Add a note to Maybe::valueOr() about a suboptimal usage. r=sg DONTBUILD 2020-12-21 18:32:26 +00:00
MaybeOneOf.h Bug 1609996 - Reorder some includes affected by the previous patches. r=froydnj 2020-01-20 16:19:48 +00:00
MemoryChecking.h Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan 2019-05-01 08:47:10 +00:00
MemoryReporting.h
NonDereferenceable.h Bug 1625138 - Part 41: Remove no longer needed includes for mozilla/TypeTraits. r=froydnj 2020-03-28 16:00:09 +00:00
NotNull.h Bug 1685677 - Extract functions from CheckTemporaryStorageLimits and rename it to CleanupTemporaryStorage. r=dom-workers-and-storage-reviewers,janv 2021-02-02 17:46:40 +00:00
Opaque.h Bug 1625138 - Part 16: Replace mozilla::IsIntegral with std::is_integral. r=froydnj 2020-03-28 13:57:15 +00:00
OperatorNewExtensions.h
PairHash.h Bug 1571631 - Replace MOZ_MUST_USE with [[nodiscard]] in mfbt. r=sg 2021-03-17 03:01:21 +00:00
Path.h
PodOperations.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
Poison.cpp Bug 1506910 - Initialize the poison page with a static initializer. r=glandium,decoder 2020-10-28 20:38:42 +00:00
Poison.h Bug 1506910 - Initialize the poison page with a static initializer. r=glandium,decoder 2020-10-28 20:38:42 +00:00
RandomNum.cpp Bug 461204 - Improve the random number generator for the boundaries in multipart/form-data r=smaug 2020-01-13 20:41:14 +00:00
RandomNum.h Bug 461204 - Improve the random number generator for the boundaries in multipart/form-data r=smaug 2020-01-13 20:41:14 +00:00
Range.h Bug 1656545 - Range cannot support nullptr with non-zero length. r=froydnj 2020-08-20 00:33:52 +00:00
RangedArray.h Bug 1652561 - Remote Win32k calls in nsLookAndFeel::GetFontImpl() r=emilio,geckoview-reviewers,agi,froydnj 2020-07-31 16:21:44 +00:00
RangedPtr.h Bug 1607940 - Stand up webgl.out-of-process:true path. r=handyman,nika,froydnj 2020-07-21 22:56:52 +00:00
ReentrancyGuard.h Bug 1223932 - delete guard object uses from the tree; r=jwalden 2020-07-30 14:22:38 +00:00
RefCountType.h
RefCounted.h Bug 1687391 - Avoid using a spinlock in ThreadSafeWeakReference, r=glandium,mccr8,Gankra,sg 2021-02-03 17:00:04 +00:00
RefPtr.h Bug 1676357 - Avoid including Layers.h in header files. r=botond 2020-11-23 16:09:05 +00:00
Result.h Bug 1677284 - Move PackingStrategy::Variant implementation to separate header file. r=emilio 2020-11-23 15:49:14 +00:00
ResultExtensions.h Bug 1665850 - Switch JS to use non-reference errors with mozilla::Result. r=jandem 2020-09-21 13:14:10 +00:00
ResultVariant.h Bug 1677284 - Move PackingStrategy::Variant implementation to separate header file. r=emilio 2020-11-23 15:49:14 +00:00
ReverseIterator.h Bug 1646391 - Simplify ReverseIterator. r=froydnj 2020-06-18 07:49:16 +00:00
RollingMean.h Bug 1666487 - Constify some RollingMean getters. r=glandium 2021-02-11 13:38:48 +00:00
SHA1.cpp
SHA1.h
SPSCQueue.h Bug 1571631 - Replace MOZ_MUST_USE with [[nodiscard]] in mfbt. r=sg 2021-03-17 03:01:21 +00:00
STYLE Bug 1550108 - Pull in secondary lz4 libraries r=glandium 2019-10-04 20:44:08 +00:00
Saturate.h Bug 1625138 - Part 41: Remove no longer needed includes for mozilla/TypeTraits. r=froydnj 2020-03-28 16:00:09 +00:00
ScopeExit.h Bug 1571631 - Replace MOZ_MUST_USE with [[nodiscard]] in mfbt. r=sg 2021-03-17 03:01:21 +00:00
Scoped.h Bug 1223932 - delete guard object uses from the tree; r=jwalden 2020-07-30 14:22:38 +00:00
SegmentedVector.h Bug 1571631 - Replace MOZ_MUST_USE with [[nodiscard]] in mfbt. r=sg 2021-03-17 03:01:21 +00:00
SharedLibrary.h
SmallPointerArray.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
Span.h Bug 1678062 - Remove unnecessary includes. r=andi 2020-11-23 16:12:02 +00:00
SplayTree.h
StaticAnalysisFunctions.h
TaggedAnonymousMemory.cpp
TaggedAnonymousMemory.h
Tainting.h Bug 1658755 - Create MOZ_FIND_AND_VALIDATE Tainting validation macro; r=tjr,sg 2020-11-19 22:45:10 +00:00
TemplateLib.h Bug 1625138 - Part 26: Replace mozilla::Conditional with std::conditional. r=froydnj 2020-03-28 13:57:18 +00:00
TextUtils.h Bug 1625138 - Part 41: Remove no longer needed includes for mozilla/TypeTraits. r=froydnj 2020-03-28 16:00:09 +00:00
ThreadLocal.h Bug 1571631 - Replace MOZ_MUST_USE with [[nodiscard]] in mfbt. r=sg 2021-03-17 03:01:21 +00:00
ThreadSafeWeakPtr.h Bug 1687391 - Avoid using a spinlock in ThreadSafeWeakReference, r=glandium,mccr8,Gankra,sg 2021-02-03 17:00:04 +00:00
ToString.h
TsanOptions.h no bug - TSan library excludes miss libdconfsettings. r=Gankro 2020-10-14 19:35:24 +00:00
Tuple.h Bug 1345842 - Add Ignore to allow ignore elements in Tie. r=froydnj 2020-03-31 12:36:22 +00:00
TypeTraits.h Bug 1625138 - Part 40: Replace remaining mozilla::IsSame with std::is_same. r=froydnj 2020-03-28 13:57:21 +00:00
TypedEnumBits.h
Types.h Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan 2019-10-21 14:13:44 +00:00
UniquePtr.h Bug 1571631 - Replace MOZ_MUST_USE with [[nodiscard]] in mfbt. r=sg 2021-03-17 03:01:21 +00:00
UniquePtrExtensions.cpp Bug 1534780 - Move ipc::FileDescriptor's UniquePtr instance into MFBT as UniqueFileHandle. r=froydnj 2019-06-28 19:46:58 +00:00
UniquePtrExtensions.h Bug 1519636 - Reformat recent changes to the Google coding style r=andi 2020-07-04 09:38:43 +00:00
Unused.cpp
Unused.h
Utf8.cpp Bug 1490601 part 2 - Move C++ entry points to encoding_c_mem to mfbt/. r=jwalden 2019-09-18 08:26:34 +00:00
Utf8.h Bug 1519636 - Automatically reformat recent changes using clang-format r=Ehsan 2020-01-21 09:51:27 +00:00
Variant.h Bug 1500811 - Variant::as()&&, match()&& - r=sg 2020-12-02 00:17:46 +00:00
Vector.h Bug 1571631 - Replace MOZ_MUST_USE with [[nodiscard]] in mfbt. r=sg 2021-03-17 03:01:21 +00:00
WeakPtr.h Bug 1672072 - P12. Add constructor for WeakPtr(RefPtr). r=sg 2020-11-13 04:21:17 +00:00
WindowsVersion.h Bug 1684110 - Stop using some 'A'-functions in mfbt/. r=dmajor 2021-01-04 14:40:48 +00:00
WrappingOperations.h Bug 1625138 - Part 41: Remove no longer needed includes for mozilla/TypeTraits. r=froydnj 2020-03-28 16:00:09 +00:00
XorShift128PlusRNG.h
fallible.h Bug 1668421 - Fix a commeint in fallible.h r=glandium 2020-10-05 00:50:31 +00:00
moz.build Bug 1690167 - Move Sprintf.h and IntegerPrintfMacros.h next to Printf.h. r=jwalden 2021-03-10 23:52:39 +00:00