[MLton] Card/cross map alignment broken?
Wesley W. Terpstra
wesley at terpstra.ca
Tue Oct 13 17:10:13 PDT 2009
On Tue, Oct 13, 2009 at 9:14 PM, Matthew Fluet <mtf at cs.rit.edu> wrote:
> All of heap.size, cardMapSize, and crossMapSize are aligned according to
> the system page size (s->sysvals.pagesize).
Ok, but it is definitely updateCrossMap that is doing the unaligned
accesses. The moment the GC switches to generational behaviour, the
performance of the system dies. I'm trying to narrow the problem down
further, but it's painful... 30 minutes per binary search step. :p
gdb says the address of the trap is...
(gdb) break *(void*)0x0000000120d843ac
Breakpoint 1 at 0x120d843ac: file gc/generational.c, line 373.
=> s->generationalMaps.crossMap[cardIndex] = (GC_crossMapElem)offset;
... but we all know how reliable gcc is in this regard.. o.O
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mlton.org/pipermail/mlton/attachments/20091014/b425fe26/attachment.htm
More information about the MLton
mailing list