Remove madvise() (and dubious value for PAGE_SIZE) from
gc-common.c
... GC still not working properly :(
... memcpy()'s behaviour when given overlapping memory ranges
appears not to be the problem, either; replacing it with
memmove() doesn't fix things
/* FIXME: Most calls end up going to some trouble to compute an
* 'n_words' value for this function. The system might be a little
* simpler if this function used an 'end' parameter instead. */
-#define PAGE_SIZE 4096
void
scavenge(lispobj *start, long n_words)
{
lispobj *end = start + n_words;
lispobj *object_ptr;
int n_words_scavenged;
- if((((unsigned int)start & (PAGE_SIZE-1))==0) &&
- (n_words>(PAGE_SIZE/4))) {
- madvise(start, n_words*4, MADV_SEQUENTIAL|MADV_WILLNEED);
- }
for (object_ptr = start;
object_ptr < end;
object_ptr += n_words_scavenged) {
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.8.7.10"
+"0.8.7.11"