mirror of
https://github.com/RPCS3/llvm.git
synced 2025-02-22 11:42:42 +00:00
Remove gunk that was supposed to make space evaluation more precise, but never worked.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5549 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e809b05f16
commit
e040f97066
@ -23,12 +23,6 @@ namespace {
|
|||||||
cl::Hidden);
|
cl::Hidden);
|
||||||
}
|
}
|
||||||
|
|
||||||
// getNumBytesToNotCount - This function is supposed to return the number of
|
|
||||||
// bytes that are to be considered not allocated, even though malloc thinks they
|
|
||||||
// are allocated.
|
|
||||||
//
|
|
||||||
static unsigned getNumBytesToNotCount();
|
|
||||||
|
|
||||||
static TimerGroup *DefaultTimerGroup = 0;
|
static TimerGroup *DefaultTimerGroup = 0;
|
||||||
static TimerGroup *getDefaultTimerGroup() {
|
static TimerGroup *getDefaultTimerGroup() {
|
||||||
if (DefaultTimerGroup) return DefaultTimerGroup;
|
if (DefaultTimerGroup) return DefaultTimerGroup;
|
||||||
@ -75,7 +69,7 @@ Timer::~Timer() {
|
|||||||
static long getMemUsage() {
|
static long getMemUsage() {
|
||||||
if (TrackSpace) {
|
if (TrackSpace) {
|
||||||
struct mallinfo MI = mallinfo();
|
struct mallinfo MI = mallinfo();
|
||||||
return MI.uordblks/*+MI.hblkhd-getNumBytesToNotCount()*/;
|
return MI.uordblks/*+MI.hblkhd*/;
|
||||||
} else {
|
} else {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -257,60 +251,3 @@ void TimerGroup::removeTimer() {
|
|||||||
DefaultTimerGroup = 0;
|
DefaultTimerGroup = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#if (__GNUC__ == 3) && (__GNUC_MINOR__ == 2) && (__GNUC_PATCHLEVEL__ == 0)
|
|
||||||
// If we have GCC 3.2.0, we can calculate pool allocation bookkeeping info
|
|
||||||
#define HAVE_POOL
|
|
||||||
extern "C" {
|
|
||||||
// Taken from GCC 3.2's stl_alloc.h file:
|
|
||||||
enum {_ALIGN = 8, _MAX_BYTES = 128, NFREE = _MAX_BYTES / _ALIGN};
|
|
||||||
struct FreeList { FreeList *Next; };
|
|
||||||
|
|
||||||
FreeList *_ZNSt24__default_alloc_templateILb1ELi0EE12_S_free_listE[NFREE];
|
|
||||||
char *_ZNSt24__default_alloc_templateILb1ELi0EE13_S_start_freeE;
|
|
||||||
char *_ZNSt24__default_alloc_templateILb1ELi0EE11_S_end_freeE;
|
|
||||||
size_t _ZNSt24__default_alloc_templateILb1ELi0EE12_S_heap_sizeE;
|
|
||||||
|
|
||||||
// Make the symbols possible to use...
|
|
||||||
FreeList* (&TheFreeList)[NFREE] = _ZNSt24__default_alloc_templateILb1ELi0EE12_S_free_listE;
|
|
||||||
char * &StartFree = _ZNSt24__default_alloc_templateILb1ELi0EE13_S_start_freeE;
|
|
||||||
char * &EndFree = _ZNSt24__default_alloc_templateILb1ELi0EE11_S_end_freeE;
|
|
||||||
size_t &HeapSize = _ZNSt24__default_alloc_templateILb1ELi0EE12_S_heap_sizeE;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// getNumBytesToNotCount - This function is supposed to return the number of
|
|
||||||
// bytes that are to be considered not allocated, even though malloc thinks they
|
|
||||||
// are allocated.
|
|
||||||
//
|
|
||||||
static unsigned getNumBytesToNotCount() {
|
|
||||||
#ifdef HAVE_POOL
|
|
||||||
// If we have GCC 3.2.0, we can subtract off pool allocation bookkeeping info
|
|
||||||
|
|
||||||
// Size of the free slab section...
|
|
||||||
unsigned FreePoolMem = (unsigned)(EndFree-StartFree);
|
|
||||||
|
|
||||||
// Walk all of the free lists, adding memory to the free counter whenever we
|
|
||||||
// have a free bucket.
|
|
||||||
for (unsigned i = 0; i != NFREE; ++i) {
|
|
||||||
unsigned NumEntries = 0;
|
|
||||||
for (FreeList *FL = TheFreeList[i]; FL; ++NumEntries, FL = FL->Next)
|
|
||||||
/*empty*/ ;
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
if (NumEntries)
|
|
||||||
std::cerr << " For Size[" << (i+1)*_ALIGN << "]: " << NumEntries
|
|
||||||
<< " Free entries\n";
|
|
||||||
#endif
|
|
||||||
FreePoolMem += NumEntries*(i+1)*_ALIGN;
|
|
||||||
}
|
|
||||||
return FreePoolMem;
|
|
||||||
|
|
||||||
#else
|
|
||||||
#warning "Don't know how to avoid pool allocation accounting overhead for this"
|
|
||||||
#warning " compiler: Space usage numbers (with -time-passes) may be off!"
|
|
||||||
return 0;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
@ -23,12 +23,6 @@ namespace {
|
|||||||
cl::Hidden);
|
cl::Hidden);
|
||||||
}
|
}
|
||||||
|
|
||||||
// getNumBytesToNotCount - This function is supposed to return the number of
|
|
||||||
// bytes that are to be considered not allocated, even though malloc thinks they
|
|
||||||
// are allocated.
|
|
||||||
//
|
|
||||||
static unsigned getNumBytesToNotCount();
|
|
||||||
|
|
||||||
static TimerGroup *DefaultTimerGroup = 0;
|
static TimerGroup *DefaultTimerGroup = 0;
|
||||||
static TimerGroup *getDefaultTimerGroup() {
|
static TimerGroup *getDefaultTimerGroup() {
|
||||||
if (DefaultTimerGroup) return DefaultTimerGroup;
|
if (DefaultTimerGroup) return DefaultTimerGroup;
|
||||||
@ -75,7 +69,7 @@ Timer::~Timer() {
|
|||||||
static long getMemUsage() {
|
static long getMemUsage() {
|
||||||
if (TrackSpace) {
|
if (TrackSpace) {
|
||||||
struct mallinfo MI = mallinfo();
|
struct mallinfo MI = mallinfo();
|
||||||
return MI.uordblks/*+MI.hblkhd-getNumBytesToNotCount()*/;
|
return MI.uordblks/*+MI.hblkhd*/;
|
||||||
} else {
|
} else {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -257,60 +251,3 @@ void TimerGroup::removeTimer() {
|
|||||||
DefaultTimerGroup = 0;
|
DefaultTimerGroup = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#if (__GNUC__ == 3) && (__GNUC_MINOR__ == 2) && (__GNUC_PATCHLEVEL__ == 0)
|
|
||||||
// If we have GCC 3.2.0, we can calculate pool allocation bookkeeping info
|
|
||||||
#define HAVE_POOL
|
|
||||||
extern "C" {
|
|
||||||
// Taken from GCC 3.2's stl_alloc.h file:
|
|
||||||
enum {_ALIGN = 8, _MAX_BYTES = 128, NFREE = _MAX_BYTES / _ALIGN};
|
|
||||||
struct FreeList { FreeList *Next; };
|
|
||||||
|
|
||||||
FreeList *_ZNSt24__default_alloc_templateILb1ELi0EE12_S_free_listE[NFREE];
|
|
||||||
char *_ZNSt24__default_alloc_templateILb1ELi0EE13_S_start_freeE;
|
|
||||||
char *_ZNSt24__default_alloc_templateILb1ELi0EE11_S_end_freeE;
|
|
||||||
size_t _ZNSt24__default_alloc_templateILb1ELi0EE12_S_heap_sizeE;
|
|
||||||
|
|
||||||
// Make the symbols possible to use...
|
|
||||||
FreeList* (&TheFreeList)[NFREE] = _ZNSt24__default_alloc_templateILb1ELi0EE12_S_free_listE;
|
|
||||||
char * &StartFree = _ZNSt24__default_alloc_templateILb1ELi0EE13_S_start_freeE;
|
|
||||||
char * &EndFree = _ZNSt24__default_alloc_templateILb1ELi0EE11_S_end_freeE;
|
|
||||||
size_t &HeapSize = _ZNSt24__default_alloc_templateILb1ELi0EE12_S_heap_sizeE;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// getNumBytesToNotCount - This function is supposed to return the number of
|
|
||||||
// bytes that are to be considered not allocated, even though malloc thinks they
|
|
||||||
// are allocated.
|
|
||||||
//
|
|
||||||
static unsigned getNumBytesToNotCount() {
|
|
||||||
#ifdef HAVE_POOL
|
|
||||||
// If we have GCC 3.2.0, we can subtract off pool allocation bookkeeping info
|
|
||||||
|
|
||||||
// Size of the free slab section...
|
|
||||||
unsigned FreePoolMem = (unsigned)(EndFree-StartFree);
|
|
||||||
|
|
||||||
// Walk all of the free lists, adding memory to the free counter whenever we
|
|
||||||
// have a free bucket.
|
|
||||||
for (unsigned i = 0; i != NFREE; ++i) {
|
|
||||||
unsigned NumEntries = 0;
|
|
||||||
for (FreeList *FL = TheFreeList[i]; FL; ++NumEntries, FL = FL->Next)
|
|
||||||
/*empty*/ ;
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
if (NumEntries)
|
|
||||||
std::cerr << " For Size[" << (i+1)*_ALIGN << "]: " << NumEntries
|
|
||||||
<< " Free entries\n";
|
|
||||||
#endif
|
|
||||||
FreePoolMem += NumEntries*(i+1)*_ALIGN;
|
|
||||||
}
|
|
||||||
return FreePoolMem;
|
|
||||||
|
|
||||||
#else
|
|
||||||
#warning "Don't know how to avoid pool allocation accounting overhead for this"
|
|
||||||
#warning " compiler: Space usage numbers (with -time-passes) may be off!"
|
|
||||||
return 0;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user