b> If you still have the diffs, I'd be willing to do the work needed
b> to:
b> a) fit it into scsh
This should be easy, unless you don't have PreScheme.
b> b) put a hard limit on it
This should be relatively straightforward.
b> c) make optionally use mmap to do the heap allocation.
This should also be straightforward. Since Olin and Brian already
have yea system calls in there, I'm sure they'll know how to add
another.
b> Did you edit the virtual machine source and regenerate prescheme.c,
b> or just edit prescheme.c?
I edited the virtual machine source and regenerated scheme48vm.c. I
still have the patch to the VM source, but no longer the generated C
code (not that it would be of much use at this point, anyway). Maybe
Olin or Brian might be willing to integrate the patch. On the off
chance that you get a copy of PreScheme from Richard Kelsey, don't
even think about doing anything with it if your machine has less than
~48M of RAM free.
b> BTW, what heuristic did you use to know when to grow the heap?
If the heap is more than 75% full at the end of a collection, we
schedule a grow at beginning of the next one. Each grow increases the
size of the heap by 50%. I'm afraid that the rationale behind this
"schedule now, grow later" strategy is lost in the mists of my memory,
but I dimly recall it as having something to do with reallocation at
the beginning of a collection seeming to be a pain for some reason or
other. I have no idea whether or not that rationale is still (or was
ever) valid.
The patch itself may be found at <URL:
ftp://ftp.maths.tcd.ie/pub/bosullvn/wreavoc/misc/s48-dynamic-heap-resize-patch>.
<b
|