Commit bf836e01 authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

also trace realloc calls

parent 566e698c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ extern "C" {

void* mpcalloc(size_t nmemb, size_t size);
void* mpmalloc(size_t size);
void* mprealloc(void* addr, size_t size);
void mpfree(void* addr);

#ifdef __cplusplus
+17 −3
Original line number Diff line number Diff line
@@ -2,7 +2,8 @@
#include "driver/stdout.h"
#include "lib/mpmalloc.h"

void* mpcalloc(size_t nmemb, size_t size) {
void* mpcalloc(size_t nmemb, size_t size)
{
	void* ret = calloc(nmemb, size);
#ifdef ADDR_20BIT
	kout << "calloc:" << dec << (uint32_t)nmemb << "x" << (uint32_t)size << "@" << ret << endl;
@@ -12,7 +13,8 @@ void* mpcalloc(size_t nmemb, size_t size) {
	return ret;
}

void* mpmalloc(size_t size) {
void* mpmalloc(size_t size)
{
	void* ret = malloc(size);
#ifdef ADDR_20BIT
	kout << "malloc:" << dec << (uint32_t)size << "@" << ret << endl;
@@ -22,7 +24,19 @@ void* mpmalloc(size_t size) {
	return ret;
}

void mpfree(void* addr) {
void* mprealloc(void* addr, size_t size)
{
	void* ret = realloc(addr, size);
#ifdef ADDR_20BIT
	kout << "realloc:" << addr << ":" << dec << (uint32_t)size << "@" << ret << endl;
#else
	kout << "realloc:" << addr << ":" << dec << size << "@" << ret << endl;
#endif
	return ret;
}

void mpfree(void* addr)
{
	kout << "free:" << addr << endl;
	free(addr);
}
+4 −3
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@
#include "lib/mpmalloc.h"
#else
#define mpmalloc malloc
#define mprealloc realloc
#define mpfree free
#endif

@@ -370,7 +371,7 @@ static inline ubjr_array_t priv_ubjr_read_raw_array(ubjr_context_t* ctx)
			if (myarray.size >= (1ULL << arrpot))
			{
				arrpot ++;
				myarray.values = realloc(myarray.values, (1ULL << arrpot)*ls+1);
				myarray.values = mprealloc(myarray.values, (1ULL << arrpot)*ls+1);
			}
			priv_ubjr_read_to_ptr(ctx,(uint8_t*)myarray.values + ls*myarray.size,myarray.type);
		}
@@ -422,8 +423,8 @@ static inline ubjr_object_t priv_ubjr_read_raw_object(ubjr_context_t* ctx)
			if (myobject.size >= (1ULL << arrpot))
			{
				arrpot++;
				myobject.values = realloc(myobject.values, (1ULL << arrpot)*ls + 1);
				myobject.keys = realloc((uint8_t*)myobject.keys, (1ULL << arrpot)*sizeof(ubjr_string_t));
				myobject.values = mprealloc(myobject.values, (1ULL << arrpot)*ls + 1);
				myobject.keys = mprealloc((uint8_t*)myobject.keys, (1ULL << arrpot)*sizeof(ubjr_string_t));
			}
			priv_ubjr_read_to_ptr(ctx, (uint8_t*)(myobject.keys + myobject.size), UBJ_STRING);
			priv_ubjr_read_to_ptr(ctx, (uint8_t*)myobject.values + ls*myobject.size, myobject.type);