Tony Cook [Sun, 9 Jul 2006 11:59:19 +0000 (11:59 +0000)]
- added Imager's memory debugging code in an attempt to find the
crash problem on Win32. This seems to have eliminated the crash
even when it's disabled (and just calls malloc/free/realloc)
https://rt.cpan.org/Ticket/Display.html?id=18543
- found the memory leak - we were creating an SV for the id to
priority hash and nothing was releasing it
https://rt.cpan.org/Ticket/Display.html?id=20018
- the memory leak fix has become obsolete, we now avoid creating the
SV at all by using the id in memory as a key to the hash.
- added a verify method during debugging, it's not necessary anymore
but someone else fiddling with the code might find it useful
- pq_find_item() and pq_insertion_point() now use a binary search for
larger queues. These were the hotspots going by sprof profiling.
Tony Cook [Tue, 11 Apr 2006 03:54:50 +0000 (03:54 +0000)]
- moved the structural queue code to queue.c, Array.xs is purely an
interface to that now.
- replaced all the opaque memmove() calls with a call to pq_move_items()
which does sanity checks in DEBUG code.
- added t/02_release.t which attempts to check we're handling references
correctly.