Bug 1288077: Merge implementations of |nsTArrayFallibleAllocator|, r?froydnj
The two implemenations of |nsTArrayFallibleAllocator| in 'nsTArray' are
equivalent. This patch merges both.
MozReview-Commit-ID: 3G9pHSQRzKz
--- a/xpcom/glue/nsTArray.h
+++ b/xpcom/glue/nsTArray.h
@@ -153,55 +153,46 @@ struct nsTArrayInfallibleAllocatorBase
static ResultType ConvertBoolToResultType(bool aValue)
{
if (!aValue) {
NS_RUNTIMEABORT("infallible nsTArray should never convert false to ResultType");
}
}
};
-#if defined(MOZALLOC_HAVE_XMALLOC)
-#include "mozilla/mozalloc_abort.h"
-
struct nsTArrayFallibleAllocator : nsTArrayFallibleAllocatorBase
{
static void* Malloc(size_t aSize) { return malloc(aSize); }
static void* Realloc(void* aPtr, size_t aSize)
{
return realloc(aPtr, aSize);
}
static void Free(void* aPtr) { free(aPtr); }
static void SizeTooBig(size_t) {}
};
+#if defined(MOZALLOC_HAVE_XMALLOC)
+#include "mozilla/mozalloc_abort.h"
+
struct nsTArrayInfallibleAllocator : nsTArrayInfallibleAllocatorBase
{
static void* Malloc(size_t aSize) { return moz_xmalloc(aSize); }
static void* Realloc(void* aPtr, size_t aSize)
{
return moz_xrealloc(aPtr, aSize);
}
static void Free(void* aPtr) { free(aPtr); }
static void SizeTooBig(size_t aSize) { NS_ABORT_OOM(aSize); }
};
#else
#include <stdlib.h>
-struct nsTArrayFallibleAllocator : nsTArrayFallibleAllocatorBase
-{
- static void* Malloc(size_t aSize) { return malloc(aSize); }
- static void* Realloc(void* aPtr, size_t aSize) { return realloc(aPtr, aSize); }
-
- static void Free(void* aPtr) { free(aPtr); }
- static void SizeTooBig(size_t) {}
-};
-
struct nsTArrayInfallibleAllocator : nsTArrayInfallibleAllocatorBase
{
static void* Malloc(size_t aSize)
{
void* ptr = malloc(aSize);
if (MOZ_UNLIKELY(!ptr)) {
NS_ABORT_OOM(aSize);
}