Nattfodd SoC

Thursday, August 25, 2005

GMC is here (but still buggy)

I just finished debugging the obvious flaws of compaction function a few minutes ago. Which, with yesterday's marking function, means that GMC is here ! It can run and do so flawlessly enough not to segfault (well, I saw it perform runs without segfaulting...).

However, there are stills a lot of bugs, as make test dropped from 96.5% to a mere 90.5% (check at the usual place), with segfaults, corruption and even sometimes glibc complaining or parrot freezing for some time... Some old bugs even seem to come back !

But I've still got a whole week to work things out, and I believe (err, hope) that I will be able to seek and destroy them all !

Saturday, August 20, 2005

Bugs everywhere

I have been hunting bugs for the last few days, and it is beginning to pay!

With much help from leo, as usual (I wouldn't even have been aware that we needed to call VTABLE_destroy for every object out there because it forces io objects to flush their contents if he hadn't told me), make tests now reports 96% of passed tests (instead of 85%). And the remaining evil 3.5% seem to be only one memory corruption that makes them segfault (I cross fingers that I'll be able to find it soon and that it is the only one remaining). The url I gave for make test output has been updated, and I'll try to keep updating it when it changes (happily very soon !).

There also has been a discussion with people from TPF and leo went through my code. He seemed to see no serious flaw (other than not having enough comments, which is one of my bad coding habits...) and confirmed that, as me, he thought I would be able to make it in time.

Tuesday, August 16, 2005

Compiles and run !

Great news : the parrot code with modified object allocation targetted for GMC is not only compiling correctly (it has been for some days now) but running without segfaulting, which is a great improvement !
make test reports 85% of tests ok (more details here : make test output), so this means that there are still some important bugs around (but in heavy modification of such complicated source, the contrary would have been quite surprising !).

Saturday, August 13, 2005

Update : GMC on tracks

More than two weeks since last post, and a little more than two weeks before deadline... But things have changed a lot !

The coding phase is quite advanced, and you can retrieve it in a svn branch : svn co https://svn.perl.org/parrot/branches/gmc

I'm almost done with the extra-layer of indirection for PMC. It was much slower than what I expected, mostly because I had to understand many parts of parrot internals in great details before being able to modify it in the way I intended to. Leo was of course a great help in the process, and I hope my repetitive questions have not annoyed him too much...

As soon as the new PMC design works (without GC, of course), which I expect to be in a day or two, I will be able to begin coding the GC itself. It should be faster because it's mostly linked list manipulation, which I'm a lot more familiar with, and the algorithms are ready...