mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-25 05:41:12 +00:00
404ef7af3e
Bug 1134923 removed the use of those functions in gecko, and left some for the XPCOM standalone glue. The XPCOM standalone glue was severely stripped down in bug 1306327, with the effect of removing the implementation for those functions. The remains in nsXPCOM.h are: XPCOM_API(void*) NS_Alloc(size_t aSize); XPCOM_API(void*) NS_Realloc(void* aPtr, size_t aSize); XPCOM_API(void) NS_Free(void* aPtr); With no implementation left, the first arm is never actually used, and the second arm means every remaining use of those functions in the tree is a macro expansion to one of moz_xmalloc, moz_xrealloc or free. --HG-- extra : rebase_source : fd1669abc5a25d8edbd5c3a8522e22a5c3f558e2
54 lines
1.2 KiB
C++
54 lines
1.2 KiB
C++
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#include "nsXPCOM.h"
|
|
#include "nsMemory.h"
|
|
#include "nsIMemory.h"
|
|
#include "nsXPCOMPrivate.h"
|
|
#include "nsDebug.h"
|
|
#include "nsISupportsUtils.h"
|
|
#include "nsCOMPtr.h"
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// nsMemory static helper routines
|
|
|
|
nsresult
|
|
nsMemory::HeapMinimize(bool aImmediate)
|
|
{
|
|
nsCOMPtr<nsIMemory> mem;
|
|
nsresult rv = NS_GetMemoryManager(getter_AddRefs(mem));
|
|
if (NS_WARN_IF(NS_FAILED(rv))) {
|
|
return rv;
|
|
}
|
|
|
|
return mem->HeapMinimize(aImmediate);
|
|
}
|
|
|
|
void*
|
|
nsMemory::Clone(const void* aPtr, size_t aSize)
|
|
{
|
|
void* newPtr = moz_xmalloc(aSize);
|
|
if (newPtr) {
|
|
memcpy(newPtr, aPtr, aSize);
|
|
}
|
|
return newPtr;
|
|
}
|
|
|
|
nsIMemory*
|
|
nsMemory::GetGlobalMemoryService()
|
|
{
|
|
nsIMemory* mem;
|
|
nsresult rv = NS_GetMemoryManager(&mem);
|
|
if (NS_FAILED(rv)) {
|
|
return nullptr;
|
|
}
|
|
|
|
return mem;
|
|
}
|
|
|
|
//----------------------------------------------------------------------
|
|
|