Finally and after more changes I like to ci in one bunch, the parrot
interpreter is (almost) memory leak free.
Summary
Currently broken test:
- t/op/interp_2 with standard allocator and --gc-malloc
Memory leakages:
- PIO (PIO_new doesn't remember ParrotIO structures)
- rx (bitmaps)
- intstack (my br0ken destroy code)
Changes and bugfixes beyond Parrot_destroy:
string.c:
- illegal usage of buflen (buflen may only be used to determine, if
there is space after bufused)
- string_set() is gone, highly (WRT malloc) illegal reusage of existing
string headers - and unnecessary IMHO
spf_render: simplified WRT string_set
packfile and others: don't destroy resources which DOD/GC handles
TODOs
- s. XXX in string.c
- rx.c
- move destroy code to the appropriate files
- fix - finally - BUFFER_external_FLAG, which is IMHO broken with
standard allocator, I did introduce a new flag, which currently only
malloc allocators are using.
I did undo some of joshs indent changes - rediffing was to cumbersome -
sorry.
leo
- RE: [CVS ci] Parrot_destroy Leopold Toetsch
- RE: [CVS ci] Parrot_destroy Brent Dax
- Re: [CVS ci] Parrot_destroy Leopold Toetsch
- RE: [CVS ci] Parrot_destroy Brent Dax
- Re: [CVS ci] Parrot_destroy Leopold Toetsch
- Re: [CVS ci] Parrot_destroy Leopold Toetsch