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


Hi!

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
correct?

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
architecture...

CU

Matthias

-- 
    //             |   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
 WWW:    http://wwwcip.informatik.uni-erlangen.de/user/mshopf/




More information about the kaffe mailing list