Fix a problem with allocate_closure: All words must be initialized in
authorGuillermo J. Rozas <edu/mit/csail/zurich/gjr>
Sun, 24 Mar 1991 03:01:13 +0000 (03:01 +0000)
committerGuillermo J. Rozas <edu/mit/csail/zurich/gjr>
Sun, 24 Mar 1991 03:01:13 +0000 (03:01 +0000)
order to make the heap parseable.  This is needed by relocate_block
after disk-restore.

v7/src/microcode/cmpintmd/mc68k.h

index c80a4b49be0e3b5597fa5c45990e73efab61b525..5b2ba6126ca391416a3094ee7aabfb1a2cf53cb4 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-C-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/cmpintmd/mc68k.h,v 1.21 1991/03/24 00:46:41 jinx Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/cmpintmd/mc68k.h,v 1.22 1991/03/24 03:01:13 jinx Exp $
 
 Copyright (c) 1989-1991 Massachusetts Institute of Technology
 
@@ -581,6 +581,9 @@ DEFUN (allocate_closure,
     last_chunk_size = space;   /* To be used next time, maybe. */
     result = (start + 3);
     space = (eptr - result);
+      unsigned short *wptr;
+    for (ptr = result; ptr < eptr; ptr++)
+      *ptr = SHARP_F;          /* Allow forward scanning of heap. */
 
     for (ptr = result; ptr < eptr; ptr += CLOSURE_ENTRY_WORDS)
       wptr = ((unsigned short *) ptr);