[psoc-2008] PDD09 Garbage Collector Week 2
Andrew Whitworth
wknight8111 at gmail.com
Mon Jun 9 01:38:25 UTC 2008
This week has been a busy one for me, but unfortunately there aren't a
lot of results that I can show to prove this.
PDD09, the design document that represents my specifications for this
project, is not entirely up to date. It includes a number of
deprecation notes for functions and macros which need to be updated
but have not yet been. I spent a day or two updating function and
macro names to satisfy these deprecation notes, and submitted a hefty
patch for testing and comments.
With a set of specifications that are more accurate, I was able to do
more work on my code. I've done a lot of conceptualizing which has
lead me to a more simple algorithm. I'm hoping the added algorithmic
simplicity is going to translate to real efficiency gains in the
finished product. Any time that we change an algorithm, of course, we
need to go back and rip out all the old things we've written that
don't correspond to it. I spent some time to update my data
structures, redo some of the basic scaffolding that I had in place,
write lots of comments to guide me and to help keep my mentor informed
about my intentions and my progress.
This week, I plan to really get things moving, although I have the
unfortunate habit of volunteering myself for other things as well. A
previous SOC project to implement a garbage collector created a branch
"GMC". I intend to look through that, see if it's viable to merge into
trunk, see if I can salvage any code from it for my purposes, and see
if we can finally make that branch disappear.
My timeline says that by the 10th I should have memory arenas and
generational demarcations implemented. This is done conceptually, but
I need to write several functions to support generations still. By the
15th I am supposed to have tracing and collection of simple buffer
pools set up. In this same time I will see if I can implement some
basic memory compacting, possibly as an option, and possibly stolen
wholesale from the old GMC branch. If I determine compaction is not
feasible or is too inefficient, I will not implement it now. After
simple buffers, I need to work hard on tracing and collection of PMCs
and other aggregates, probably starting on the 16th.
--Andrew Whitworth
More information about the psoc-2008
mailing list