Bug 1423461 - Remove MOZALLOC_INLINE, and always use MOZ_ALWAYS_INLINE_EVEN_DEBUG. r?njn draft
authorMike Hommey <mh+mozilla@glandium.org>
Wed, 06 Dec 2017 11:31:48 +0900
changeset 708086 95c174e000deeaa6dbd5906ca57117122e6b4552
parent 708085 ce401a7898ee492f5854b275a4a5368679f85702
child 708087 b9f84a0f2b7556b6d70bee52cddcf17b2ed9fb37
push id92277
push userbmo:mh+mozilla@glandium.org
push dateWed, 06 Dec 2017 06:26:57 +0000
reviewersnjn
bugs1423461
milestone59.0a1
Bug 1423461 - Remove MOZALLOC_INLINE, and always use MOZ_ALWAYS_INLINE_EVEN_DEBUG. r?njn MOZ_ALWAYS_INLINE_EVEN_DEBUG is always defined through mozilla/Attributes.h, so the fallbacks are never used in practice. They are just there from the old days when mozalloc.h didn't use mozilla/Attributes.h.
memory/mozalloc/mozalloc.h
--- a/memory/mozalloc/mozalloc.h
+++ b/memory/mozalloc/mozalloc.h
@@ -28,24 +28,16 @@
 #if defined(__cplusplus)
 #include "mozilla/fallible.h"
 #include "mozilla/mozalloc_abort.h"
 #include "mozilla/TemplateLib.h"
 #endif
 #include "mozilla/Attributes.h"
 #include "mozilla/Types.h"
 
-#if defined(MOZ_ALWAYS_INLINE_EVEN_DEBUG)
-#  define MOZALLOC_INLINE MOZ_ALWAYS_INLINE_EVEN_DEBUG
-#elif defined(HAVE_FORCEINLINE)
-#  define MOZALLOC_INLINE __forceinline
-#else
-#  define MOZALLOC_INLINE inline
-#endif
-
 MOZ_BEGIN_EXTERN_C
 
 /*
  * We need to use malloc_impl and free_impl in this file when they are
  * defined, because of how mozglue.dll is linked on Windows, where using
  * malloc/free would end up using the symbols from the MSVCRT instead of
  * ours.
  */
@@ -161,60 +153,60 @@ MOZ_END_EXTERN_C
 
 #define MOZALLOC_THROW_BAD_ALLOC MOZALLOC_THROW_BAD_ALLOC_IF_HAS_EXCEPTIONS
 
 MOZALLOC_EXPORT_NEW
 #if defined(__GNUC__) && !defined(__clang__) && defined(__SANITIZE_ADDRESS__)
 /* gcc's asan somehow doesn't like always_inline on this function. */
 __attribute__((gnu_inline)) inline
 #else
-MOZALLOC_INLINE
+MOZ_ALWAYS_INLINE_EVEN_DEBUG
 #endif
 void* operator new(size_t size) MOZALLOC_THROW_BAD_ALLOC
 {
     return moz_xmalloc(size);
 }
 
-MOZALLOC_EXPORT_NEW MOZALLOC_INLINE
+MOZALLOC_EXPORT_NEW MOZ_ALWAYS_INLINE_EVEN_DEBUG
 void* operator new(size_t size, const std::nothrow_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
 {
     return malloc_impl(size);
 }
 
-MOZALLOC_EXPORT_NEW MOZALLOC_INLINE
+MOZALLOC_EXPORT_NEW MOZ_ALWAYS_INLINE_EVEN_DEBUG
 void* operator new[](size_t size) MOZALLOC_THROW_BAD_ALLOC
 {
     return moz_xmalloc(size);
 }
 
-MOZALLOC_EXPORT_NEW MOZALLOC_INLINE
+MOZALLOC_EXPORT_NEW MOZ_ALWAYS_INLINE_EVEN_DEBUG
 void* operator new[](size_t size, const std::nothrow_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
 {
     return malloc_impl(size);
 }
 
-MOZALLOC_EXPORT_NEW MOZALLOC_INLINE
+MOZALLOC_EXPORT_NEW MOZ_ALWAYS_INLINE_EVEN_DEBUG
 void operator delete(void* ptr) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
 {
     return free_impl(ptr);
 }
 
-MOZALLOC_EXPORT_NEW MOZALLOC_INLINE
+MOZALLOC_EXPORT_NEW MOZ_ALWAYS_INLINE_EVEN_DEBUG
 void operator delete(void* ptr, const std::nothrow_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
 {
     return free_impl(ptr);
 }
 
-MOZALLOC_EXPORT_NEW MOZALLOC_INLINE
+MOZALLOC_EXPORT_NEW MOZ_ALWAYS_INLINE_EVEN_DEBUG
 void operator delete[](void* ptr) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
 {
     return free_impl(ptr);
 }
 
-MOZALLOC_EXPORT_NEW MOZALLOC_INLINE
+MOZALLOC_EXPORT_NEW MOZ_ALWAYS_INLINE_EVEN_DEBUG
 void operator delete[](void* ptr, const std::nothrow_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
 {
     return free_impl(ptr);
 }
 
 
 /*
  * We also add a new allocator variant: "fallible operator new."
@@ -230,35 +222,35 @@ void operator delete[](void* ptr, const 
  * delete'd by any of
  *
  *   (1) the matching "fallible" operator delete below
  *   (2) the matching infallible operator delete above
  *   (3) the matching system |operator delete(void*, std::nothrow)|
  *   (4) the matching system |operator delete(void*) throw(std::bad_alloc)|
  */
 
-MOZALLOC_INLINE
+MOZ_ALWAYS_INLINE_EVEN_DEBUG
 void* operator new(size_t size, const mozilla::fallible_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
 {
     return malloc_impl(size);
 }
 
-MOZALLOC_INLINE
+MOZ_ALWAYS_INLINE_EVEN_DEBUG
 void* operator new[](size_t size, const mozilla::fallible_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
 {
     return malloc_impl(size);
 }
 
-MOZALLOC_INLINE
+MOZ_ALWAYS_INLINE_EVEN_DEBUG
 void operator delete(void* ptr, const mozilla::fallible_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
 {
     free_impl(ptr);
 }
 
-MOZALLOC_INLINE
+MOZ_ALWAYS_INLINE_EVEN_DEBUG
 void operator delete[](void* ptr, const mozilla::fallible_t&) MOZALLOC_THROW_IF_HAS_EXCEPTIONS
 {
     free_impl(ptr);
 }
 
 
 /*
  * This policy is identical to MallocAllocPolicy, except it uses