kaffe-0.8.x garbage collection problem (at least on m68k)
Matthias Hopf (@Home)
mshopf at ftpamiga.dialin.rrze.uni-erlangen.de
Sat May 24 16:08:57 PDT 1997
At least I had some time to think a bit about the gc related problems on
m68k (pointer alignment != pointer size).
Esa Salonen wrote on 5 Mar 1997:
> That will be the ultimate fix, but meanwhile
> I tried to find all structures which have alignment problems on
> (some) m68k systems (when only 2 byte alignment for pointers in structures).
> After following modifications, which should not do any harm for other
> configurations (or maybe alpha needs aligned(8) ?), garbage collection
> seems to work now (doesn't any more collect too much).
Well, as you already see this would be a m68k only sollution.
And: The compiler knows, how pointers have to be aligned, so the garbage
collector should be addapted to use correct pointer alignment as stepping
width, not the other way round!
I will have to take a closer look at the collector, but
gc-incremental.c:scanConservative seems to be the only function that scans
through a memory object without assuming anything about the object, is this
I will check and addapt the collector so it uses the real pointer alignment
size and post a patch here. I hope that this approach works with any
// | Matthias Hopf - "Hoeppel" | _ __
\\ // Amiga | student of computer science | _|cience |-iction
\X/ by conviction | in Erlangen/Germany | by belief in Future
EMail: mshopf at informatik.uni-erlangen.de
Aminet: ftpamiga at epix.rrze.uni-erlangen.de
More information about the kaffe