diff options
author | Daniel Dragan <bulk88@hotmail.com> | 2014-05-20 03:23:01 -0400 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2014-11-15 06:57:53 -0800 |
commit | 6edcbed6404ee551719c9a49397baea538aae7cc (patch) | |
tree | ad31ebdeaa29319bfb89b5dd28ab266feb6cef03 /perl.c | |
parent | 1f9498d0e14a8f9d5a95c29b732bb33bb3c669d8 (diff) | |
download | perl-6edcbed6404ee551719c9a49397baea538aae7cc.tar.gz |
make debugging easier in memory allocator code in perl.c and util.c
-show intermediate values to make C debugging easier
-Perl_safesysfree overwrote var where with a different value, this caused
alot of confusion for me of trying to hunt for a pointer from a stack
trace with conditional breakpoints, so don't change var where in an
unoptimized build
-in Perl_safesysrealloc and Perl_safesysmalloc provide 1 exit path, so
the returned value is easily seen and BPed on unoptimized builds
Diffstat (limited to 'perl.c')
-rw-r--r-- | perl.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -1364,8 +1364,11 @@ perl_free(pTHXx) "free this thread's memory\n"); PL_debug &= ~ DEBUG_m_FLAG; } - while(aTHXx->Imemory_debug_header.next != &(aTHXx->Imemory_debug_header)) - safesysfree(PERL_MEMORY_DEBUG_HEADER_SIZE + (char *)(aTHXx->Imemory_debug_header.next)); + while(aTHXx->Imemory_debug_header.next != &(aTHXx->Imemory_debug_header)){ + char * next = (char *)(aTHXx->Imemory_debug_header.next); + Malloc_t ptr = PERL_MEMORY_DEBUG_HEADER_SIZE + next; + safesysfree(ptr); + } PL_debug = old_debug; } } |