From: Michael H. <mic...@ju...> - 2001-02-02 20:15:07
|
I like garbage collection - or more importantly I like not having to track temorariy heap objects. Hmm. Theres an interesting idea. I realise this is a hack, but for a stateless system like the code generator you could have a temporary heap that everything is deleted from at function end. For example all temporaries are allocated using 'tmp_alloc' which does a normal malloc and adds it to the allocated list. At the end of the generator you call 'tmp_free_all' which frees all on the allocated list. You could probably do the same thing around any block which uses may temporaries that dont need to live outside the block. Incidently when I profiled sdcc a few months back the GC used the most amount of time. If the GC is split out, I'd like to still use a macro to wrap malloc as I'd like to experiment with the speed of sdcc on different types of heap. -- Michael |
From: John T. V. <jt...@e-...> - 2001-02-03 02:26:32
|
Michael, I have Steve's updates and I'm going to wrap them in functions with the= error (no-more-memory) checking included. I'll let you know when this is= done. I like your idea about tracking the heap objects and freeing them in bulk= when not needed. Let me see what I can do. John *********** REPLY SEPARATOR *********** On 2/2/01 at 2:14 PM Michael Hope wrote: >I like garbage collection - or more importantly I like not having to track >temorariy heap objects. > >Hmm. Theres an interesting idea. I realise this is a hack, but for a >stateless system like the code generator you could have a temporary heap >that everything is deleted from at function end. For example all >temporaries are allocated using 'tmp_alloc' which does a normal malloc and >adds it to the allocated list. At the end of the generator you call >'tmp_free_all' which frees all on the allocated list. You could probably >do the same thing around any block which uses may temporaries that dont >need to live outside the block. > >Incidently when I profiled sdcc a few months back the GC used the most >amount of time. If the GC is split out, I'd like to still use a macro >to wrap malloc as I'd like to experiment with the speed of sdcc on >different types of heap. > >-- Michael > > > > > >_______________________________________________ >sdcc-devel mailing list >sdc...@li... >http://lists.sourceforge.net/lists/listinfo/sdcc-devel |