18#ifdef BT_DEBUG_MEMORY_ALLOCATIONS
37#if defined(BT_HAS_ALIGNED_ALLOCATOR)
48#elif defined(__CELLOS_LV2__)
70 *((
void **)(
ret)-1) = (
void *)(
real);
85 real = *((
void **)(ptr)-1);
106#ifdef BT_DEBUG_MEMORY_ALLOCATIONS
166 int sz4prt = 4 *
sizeof(
void *);
174 p.cptr -=
sizeof(
void *);
175 *p.vptrptr = (
void *)
real;
176 p.cptr -=
sizeof(
void *);
178 p.cptr -=
sizeof(
void *);
193 int *ptr = (
int *)
ret;
208 p.cptr -=
sizeof(
void *);
210 p.cptr -=
sizeof(
void *);
212 p.cptr -=
sizeof(
void *);
232 printf(
"free %d at address %x, from %s,line %d, size %d (total remain = %d in %d non-freed allocations)\n",
allocId,
real,
filename,
line,
size,
gTotalBytesAlignedAllocs,
diff);
static btAlignedAllocFunc * sAlignedAllocFunc
static void btAlignedFreeDefault(void *ptr)
static btAllocFunc * sAllocFunc
void * btAlignedAllocInternal(size_t size, int alignment)
we probably replace this with our own aligned memory allocator so we replace _aligned_malloc and _ali...
static void * btAlignedAllocDefault(size_t size, int alignment)
static void * btAllocDefault(size_t size)
void btAlignedAllocSetCustomAligned(btAlignedAllocFunc *allocFunc, btAlignedFreeFunc *freeFunc)
If the developer has already an custom aligned allocator, then btAlignedAllocSetCustomAligned can be ...
static void btFreeDefault(void *ptr)
static btFreeFunc * sFreeFunc
void btAlignedFreeInternal(void *ptr)
static btAlignedFreeFunc * sAlignedFreeFunc
void btAlignedAllocSetCustom(btAllocFunc *allocFunc, btFreeFunc *freeFunc)
The developer can let all Bullet memory allocations go through a custom memory allocator,...
void() btFreeFunc(void *memblock)
void *() btAllocFunc(size_t size)
void *() btAlignedAllocFunc(size_t size, int alignment)
void() btAlignedFreeFunc(void *memblock)
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
const T & btMax(const T &a, const T &b)
T * btAlignPointer(T *unalignedPtr, size_t alignment)
align a pointer to the provided alignment, upwards