fix(util/memory): remove get_thread_allocated_memory, it used thread_local

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
This commit is contained in:
Leonardo de Moura 2014-06-07 13:05:03 -07:00
parent 60a1ac3192
commit d827b56777
3 changed files with 0 additions and 29 deletions

View file

@ -20,7 +20,6 @@ static void tst1() {
a = static_cast<int*>(lean::realloc(a, N * 2 * sizeof(N)));
lean_assert(lean::get_allocated_memory() >= old_mem + N * 2 * sizeof(N));
std::cout << "Total: " << static_cast<size_t>(lean::get_allocated_memory()) << "\n";
std::cout << "Thread: " << static_cast<size_t>(lean::get_thread_allocated_memory()) << "\n";
#if !defined(HAS_TCMALLOC) && !defined(LEAN_USE_BOOST)
// When TCMALLOC is used, there is a problem during initialization, and the value of get_thread_allocated_memory is off.
lean_assert_eq(lean::get_allocated_memory(), static_cast<size_t>(lean::get_thread_allocated_memory()));

View file

@ -14,10 +14,6 @@ size_t get_allocated_memory() {
return 0;
}
long long get_thread_allocated_memory() {
return 0;
}
void * malloc(size_t sz) {
void * r = ::malloc(sz);
if (r || sz == 0)
@ -105,31 +101,15 @@ public:
size_t size() const { return m_size; }
};
class thread_alloc_info {
size_t m_size; // It can be negative
public:
thread_alloc_info():m_size(0) {}
void inc(size_t sz) { m_size += sz; }
void dec(size_t sz) { m_size -= sz; }
long long size() const { return static_cast<long long>(m_size); }
};
static alloc_info g_global_memory;
static thread_alloc_info & get_thread_memory() {
// we cannot use MK_THREAD_LOCAL_GET here because it depends on new/delete, and the Lean new/delete invokes this procedure
static thread_alloc_info LEAN_THREAD_LOCAL g_info;
return g_info;
}
size_t get_allocated_memory() { return g_global_memory.size(); }
long long get_thread_allocated_memory() { return get_thread_memory().size(); }
void * malloc(size_t sz) {
void * r = malloc_core(sz);
if (r || sz == 0) {
size_t rsz = malloc_size(r);
g_global_memory.inc(rsz);
get_thread_memory().inc(rsz);
return r;
} else {
throw std::bad_alloc();
@ -145,11 +125,9 @@ void * realloc(void * ptr, size_t sz) {
}
size_t old_sz = malloc_size(ptr);
g_global_memory.dec(old_sz);
get_thread_memory().dec(old_sz);
void * r = realloc_core(ptr, sz);
size_t new_sz = malloc_size(r);
g_global_memory.inc(new_sz);
get_thread_memory().inc(new_sz);
if (r || sz == 0)
return r;
else
@ -160,7 +138,6 @@ void free(void * ptr) {
if (ptr) {
size_t sz = malloc_size(ptr);
g_global_memory.dec(sz);
get_thread_memory().dec(sz);
}
free_core(ptr);
}

View file

@ -8,12 +8,7 @@ Author: Leonardo de Moura
namespace lean {
size_t get_allocated_memory();
long long get_thread_allocated_memory();
void * malloc(size_t sz);
void * realloc(void * ptr, size_t sz);
void free(void * ptr);
}