Bug 1324093 - Part 4: Make MOZ_Report{Crash,AssertionFailure} be MOZ_NEVER_INLINE. r=froydnj

You'd think that this would throw off the assertion stacks in nsTraceRefcnt::WalkTheStack. But as far as I can tell, it was already setting |skipFrames| too high!

On top of that, the function was getting out-of-lined in some instances already. It really should have been MOZ_ALWAYS_INLINE_EVEN_DEBUG.

MozReview-Commit-ID: JgTku7J2Vgf

--HG--
extra : rebase_source : 8a10599f4f9412c83f350ff66847c6f0008456c2
This commit is contained in:
David Major 2017-01-13 13:58:23 +13:00
Родитель 62cf344c27
Коммит d2ae2ffb15
1 изменённых файлов: 2 добавлений и 2 удалений

Просмотреть файл

@ -148,7 +148,7 @@ MOZ_BEGIN_EXTERN_C
* method is primarily for internal use in this header, and only secondarily
* for use in implementing release-build assertions.
*/
static MOZ_COLD MOZ_ALWAYS_INLINE void
MOZ_MAYBE_UNUSED static MOZ_COLD MOZ_NEVER_INLINE void
MOZ_ReportAssertionFailure(const char* aStr, const char* aFilename, int aLine)
MOZ_PRETEND_NORETURN_FOR_STATIC_ANALYSIS
{
@ -165,7 +165,7 @@ MOZ_ReportAssertionFailure(const char* aStr, const char* aFilename, int aLine)
#endif
}
static MOZ_COLD MOZ_ALWAYS_INLINE void
MOZ_MAYBE_UNUSED static MOZ_COLD MOZ_NEVER_INLINE void
MOZ_ReportCrash(const char* aStr, const char* aFilename, int aLine)
MOZ_PRETEND_NORETURN_FOR_STATIC_ANALYSIS
{