0.9.2.42:
[sbcl.git] / src / runtime / gc-common.c
index 8e8b3fa..a526ded 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Garbage Collection common functions for scavenging, moving and sizing 
+ * Garbage Collection common functions for scavenging, moving and sizing
  * objects.  These are for use with both GC (stop & copy GC) and GENCGC
  */
 
 #endif
 #endif
 
-inline static boolean 
+inline static boolean
 forwarding_pointer_p(lispobj *pointer) {
-    lispobj first_word=*pointer;                            
+    lispobj first_word=*pointer;
 #ifdef LISP_FEATURE_GENCGC
     return (first_word == 0x01);
 #else
     return (is_lisp_pointer(first_word)
-           && new_space_p(first_word));
+            && new_space_p(first_word));
 #endif
 }
 
@@ -129,63 +129,63 @@ scavenge(lispobj *start, long n_words)
     long n_words_scavenged;
     for (object_ptr = start;
 
-        object_ptr < end;
-        object_ptr += n_words_scavenged) {
+         object_ptr < end;
+         object_ptr += n_words_scavenged) {
 
-       lispobj object = *object_ptr;
+        lispobj object = *object_ptr;
 #ifdef LISP_FEATURE_GENCGC
-       gc_assert(!forwarding_pointer_p(object_ptr));
-#endif
-       if (is_lisp_pointer(object)) {
-           if (from_space_p(object)) {
-               /* It currently points to old space. Check for a
-                * forwarding pointer. */
-               lispobj *ptr = native_pointer(object);
-               if (forwarding_pointer_p(ptr)) {
-                   /* Yes, there's a forwarding pointer. */
-                   *object_ptr = LOW_WORD(forwarding_pointer_value(ptr));
-                   n_words_scavenged = 1;
-               } else {
-                   /* Scavenge that pointer. */
-                   n_words_scavenged =
-                       (scavtab[widetag_of(object)])(object_ptr, object);
-               }
-           } else {
-               /* It points somewhere other than oldspace. Leave it
-                * alone. */
-               n_words_scavenged = 1;
-           }
-       }
+        gc_assert(!forwarding_pointer_p(object_ptr));
+#endif
+        if (is_lisp_pointer(object)) {
+            if (from_space_p(object)) {
+                /* It currently points to old space. Check for a
+                 * forwarding pointer. */
+                lispobj *ptr = native_pointer(object);
+                if (forwarding_pointer_p(ptr)) {
+                    /* Yes, there's a forwarding pointer. */
+                    *object_ptr = LOW_WORD(forwarding_pointer_value(ptr));
+                    n_words_scavenged = 1;
+                } else {
+                    /* Scavenge that pointer. */
+                    n_words_scavenged =
+                        (scavtab[widetag_of(object)])(object_ptr, object);
+                }
+            } else {
+                /* It points somewhere other than oldspace. Leave it
+                 * alone. */
+                n_words_scavenged = 1;
+            }
+        }
 #ifndef LISP_FEATURE_GENCGC
-       /* this workaround is probably not necessary for gencgc; at least, the
-        * behaviour it describes has never been reported */
-       else if (n_words==1) {
-           /* there are some situations where an
-              other-immediate may end up in a descriptor
-              register.  I'm not sure whether this is
-              supposed to happen, but if it does then we
-              don't want to (a) barf or (b) scavenge over the
-              data-block, because there isn't one.  So, if
-              we're checking a single word and it's anything
-              other than a pointer, just hush it up */
-           int type=widetag_of(object);
-           n_words_scavenged=1;
-           
-           if ((scavtab[type]==scav_lose) ||
-               (((scavtab[type])(start,object))>1)) {
-               fprintf(stderr,"warning: attempted to scavenge non-descriptor value %x at %p.  If you can\nreproduce this warning, send a bug report (see manual page for details)\n",
-                       object,start);
-           }
-       }
-#endif
-       else if (fixnump(object)) {
-           /* It's a fixnum: really easy.. */
-           n_words_scavenged = 1;
-       } else {
-           /* It's some sort of header object or another. */
-           n_words_scavenged =
-               (scavtab[widetag_of(object)])(object_ptr, object);
-       }
+        /* this workaround is probably not necessary for gencgc; at least, the
+         * behaviour it describes has never been reported */
+        else if (n_words==1) {
+            /* there are some situations where an
+               other-immediate may end up in a descriptor
+               register.  I'm not sure whether this is
+               supposed to happen, but if it does then we
+               don't want to (a) barf or (b) scavenge over the
+               data-block, because there isn't one.  So, if
+               we're checking a single word and it's anything
+               other than a pointer, just hush it up */
+            int type=widetag_of(object);
+            n_words_scavenged=1;
+
+            if ((scavtab[type]==scav_lose) ||
+                (((scavtab[type])(start,object))>1)) {
+                fprintf(stderr,"warning: attempted to scavenge non-descriptor value %x at %p.  If you can\nreproduce this warning, send a bug report (see manual page for details)\n",
+                        object,start);
+            }
+        }
+#endif
+        else if (fixnump(object)) {
+            /* It's a fixnum: really easy.. */
+            n_words_scavenged = 1;
+        } else {
+            /* It's some sort of header object or another. */
+            n_words_scavenged =
+                (scavtab[widetag_of(object)])(object_ptr, object);
+        }
     }
     gc_assert(object_ptr == end);
 }
@@ -209,16 +209,16 @@ scav_fun_pointer(lispobj *where, lispobj object)
 
     switch (widetag_of(*first_pointer)) {
     case SIMPLE_FUN_HEADER_WIDETAG:
-       copy = trans_fun_header(object);
-       break;
+        copy = trans_fun_header(object);
+        break;
     default:
-       copy = trans_boxed(object);
-       break;
+        copy = trans_boxed(object);
+        break;
     }
 
     if (copy != object) {
-       /* Set forwarding pointer */
-       set_forwarding_pointer(first_pointer,copy);
+        /* Set forwarding pointer */
+        set_forwarding_pointer(first_pointer,copy);
     }
 
     gc_assert(is_lisp_pointer(copy));
@@ -243,12 +243,12 @@ trans_code(struct code *code)
     first = code->header;
     if (forwarding_pointer_p((lispobj *)code)) {
 #ifdef DEBUG_CODE_GC
-       printf("Was already transported\n");
+        printf("Was already transported\n");
 #endif
-       return (struct code *) forwarding_pointer_value
-           ((lispobj *)((pointer_sized_uint_t) code));
+        return (struct code *) forwarding_pointer_value
+            ((lispobj *)((pointer_sized_uint_t) code));
     }
-       
+
     gc_assert(widetag_of(first) == CODE_HEADER_WIDETAG);
 
     /* prepare to transport the code vector */
@@ -264,19 +264,19 @@ trans_code(struct code *code)
 
 #if defined(DEBUG_CODE_GC)
     printf("Old code object at 0x%08x, new code object at 0x%08x.\n",
-          (unsigned long) code, (unsigned long) new_code);
+           (unsigned long) code, (unsigned long) new_code);
     printf("Code object is %d words long.\n", nwords);
 #endif
 
 #ifdef LISP_FEATURE_GENCGC
     if (new_code == code)
-       return new_code;
+        return new_code;
 #endif
 
     displacement = l_new_code - l_code;
 
     set_forwarding_pointer((lispobj *)code, l_new_code);
-       
+
     /* set forwarding pointers for all the function headers in the */
     /* code object.  also fix all self pointers */
 
@@ -284,37 +284,37 @@ trans_code(struct code *code)
     prev_pointer = &new_code->entry_points;
 
     while (fheaderl != NIL) {
-       struct simple_fun *fheaderp, *nfheaderp;
-       lispobj nfheaderl;
-               
-       fheaderp = (struct simple_fun *) native_pointer(fheaderl);
-       gc_assert(widetag_of(fheaderp->header) == SIMPLE_FUN_HEADER_WIDETAG);
+        struct simple_fun *fheaderp, *nfheaderp;
+        lispobj nfheaderl;
+
+        fheaderp = (struct simple_fun *) native_pointer(fheaderl);
+        gc_assert(widetag_of(fheaderp->header) == SIMPLE_FUN_HEADER_WIDETAG);
 
-       /* Calculate the new function pointer and the new */
-       /* function header. */
-       nfheaderl = fheaderl + displacement;
-       nfheaderp = (struct simple_fun *) native_pointer(nfheaderl);
+        /* Calculate the new function pointer and the new */
+        /* function header. */
+        nfheaderl = fheaderl + displacement;
+        nfheaderp = (struct simple_fun *) native_pointer(nfheaderl);
 
 #ifdef DEBUG_CODE_GC
-       printf("fheaderp->header (at %x) <- %x\n",
-              &(fheaderp->header) , nfheaderl);
+        printf("fheaderp->header (at %x) <- %x\n",
+               &(fheaderp->header) , nfheaderl);
 #endif
-       set_forwarding_pointer((lispobj *)fheaderp, nfheaderl);
-               
-       /* fix self pointer. */
-       nfheaderp->self =
+        set_forwarding_pointer((lispobj *)fheaderp, nfheaderl);
+
+        /* fix self pointer. */
+        nfheaderp->self =
 #if defined(LISP_FEATURE_X86) || defined(LISP_FEATURE_X86_64)
-           FUN_RAW_ADDR_OFFSET +
+            FUN_RAW_ADDR_OFFSET +
 #endif
-           nfheaderl; 
-       
-       *prev_pointer = nfheaderl;
+            nfheaderl;
+
+        *prev_pointer = nfheaderl;
 
-       fheaderl = fheaderp->next;
-       prev_pointer = &nfheaderp->next;
+        fheaderl = fheaderp->next;
+        prev_pointer = &nfheaderp->next;
     }
     os_flush_icache((os_vm_address_t) (((long *)new_code) + nheader_words),
-                   ncode_words * sizeof(long));
+                    ncode_words * sizeof(long));
 #ifdef LISP_FEATURE_GENCGC
     gencgc_apply_code_fixups(code, new_code);
 #endif
@@ -326,7 +326,7 @@ scav_code_header(lispobj *where, lispobj object)
 {
     struct code *code;
     long n_header_words, n_code_words, n_words;
-    lispobj entry_point;       /* tagged pointer to entry point */
+    lispobj entry_point;        /* tagged pointer to entry point */
     struct simple_fun *function_ptr; /* untagged pointer to entry point */
 
     code = (struct code *) where;
@@ -341,19 +341,19 @@ scav_code_header(lispobj *where, lispobj object)
     /* Scavenge the boxed section of each function object in the
      * code data block. */
     for (entry_point = code->entry_points;
-        entry_point != NIL;
-        entry_point = function_ptr->next) {
+         entry_point != NIL;
+         entry_point = function_ptr->next) {
 
-       gc_assert(is_lisp_pointer(entry_point));
+        gc_assert(is_lisp_pointer(entry_point));
 
-       function_ptr = (struct simple_fun *) native_pointer(entry_point);
-       gc_assert(widetag_of(function_ptr->header)==SIMPLE_FUN_HEADER_WIDETAG);
+        function_ptr = (struct simple_fun *) native_pointer(entry_point);
+        gc_assert(widetag_of(function_ptr->header)==SIMPLE_FUN_HEADER_WIDETAG);
 
-       scavenge(&function_ptr->name, 1);
-       scavenge(&function_ptr->arglist, 1);
-       scavenge(&function_ptr->type, 1);
+        scavenge(&function_ptr->name, 1);
+        scavenge(&function_ptr->arglist, 1);
+        scavenge(&function_ptr->type, 1);
     }
-       
+
     return n_words;
 }
 
@@ -374,7 +374,7 @@ size_code_header(lispobj *where)
     long nheader_words, ncode_words, nwords;
 
     code = (struct code *) where;
-       
+
     ncode_words = fixnum_value(code->code_size);
     nheader_words = HeaderValue(code->header);
     nwords = ncode_words + nheader_words;
@@ -388,8 +388,8 @@ static long
 scav_return_pc_header(lispobj *where, lispobj object)
 {
     lose("attempted to scavenge a return PC header where=0x%08x object=0x%08x",
-        (unsigned long) where,
-        (unsigned long) object);
+         (unsigned long) where,
+         (unsigned long) object);
     return 0; /* bogus return value to satisfy static type checking */
 }
 #endif /* LISP_FEATURE_X86 */
@@ -432,7 +432,7 @@ scav_closure_header(lispobj *where, lispobj object)
     /* The function may have moved so update the raw address. But
      * don't write unnecessarily. */
     if (closure->fun != fun + FUN_RAW_ADDR_OFFSET)
-       closure->fun = fun + FUN_RAW_ADDR_OFFSET;
+        closure->fun = fun + FUN_RAW_ADDR_OFFSET;
 #endif
     return 2;
 }
@@ -443,8 +443,8 @@ static long
 scav_fun_header(lispobj *where, lispobj object)
 {
     lose("attempted to scavenge a function header where=0x%08x object=0x%08x",
-        (unsigned long) where,
-        (unsigned long) object);
+         (unsigned long) where,
+         (unsigned long) object);
     return 0; /* bogus return value to satisfy static type checking */
 }
 #endif /* LISP_FEATURE_X86 */
@@ -455,7 +455,7 @@ trans_fun_header(lispobj object)
     struct simple_fun *fheader;
     unsigned long offset;
     struct code *code, *ncode;
-       
+
     fheader = (struct simple_fun *) native_pointer(object);
     /* FIXME: was times 4, should it really be N_WORD_BYTES? */
     offset = HeaderValue(fheader->header) * N_WORD_BYTES;
@@ -532,8 +532,8 @@ trans_list(lispobj object)
     cons = (struct cons *) native_pointer(object);
 
     /* Copy 'object'. */
-    new_cons = (struct cons *) 
-       gc_general_alloc(sizeof(struct cons),ALLOC_BOXED,ALLOC_QUICK);
+    new_cons = (struct cons *)
+        gc_general_alloc(sizeof(struct cons),ALLOC_BOXED,ALLOC_QUICK);
     new_cons->car = cons->car;
     new_cons->cdr = cons->cdr; /* updated later */
     new_list_pointer = make_lispobj(new_cons,lowtag_of(object));
@@ -546,32 +546,32 @@ trans_list(lispobj object)
     /* Try to linearize the list in the cdr direction to help reduce
      * paging. */
     while (1) {
-       lispobj  new_cdr;
-       struct cons *cdr_cons, *new_cdr_cons;
-       
-       if(lowtag_of(cdr) != LIST_POINTER_LOWTAG ||
-          !from_space_p(cdr) ||
-          forwarding_pointer_p((lispobj *)native_pointer(cdr)))
-           break;
-       
-       cdr_cons = (struct cons *) native_pointer(cdr);
-
-       /* Copy 'cdr'. */
-       new_cdr_cons = (struct cons*)
-           gc_general_alloc(sizeof(struct cons),ALLOC_BOXED,ALLOC_QUICK);
-       new_cdr_cons->car = cdr_cons->car;
-       new_cdr_cons->cdr = cdr_cons->cdr;
-       new_cdr = make_lispobj(new_cdr_cons, lowtag_of(cdr));
-
-       /* Grab the cdr before it is clobbered. */
-       cdr = cdr_cons->cdr;
-       set_forwarding_pointer((lispobj *)cdr_cons, new_cdr);
-
-       /* Update the cdr of the last cons copied into new space to
-        * keep the newspace scavenge from having to do it. */
-       new_cons->cdr = new_cdr;
-
-       new_cons = new_cdr_cons;
+        lispobj  new_cdr;
+        struct cons *cdr_cons, *new_cdr_cons;
+
+        if(lowtag_of(cdr) != LIST_POINTER_LOWTAG ||
+           !from_space_p(cdr) ||
+           forwarding_pointer_p((lispobj *)native_pointer(cdr)))
+            break;
+
+        cdr_cons = (struct cons *) native_pointer(cdr);
+
+        /* Copy 'cdr'. */
+        new_cdr_cons = (struct cons*)
+            gc_general_alloc(sizeof(struct cons),ALLOC_BOXED,ALLOC_QUICK);
+        new_cdr_cons->car = cdr_cons->car;
+        new_cdr_cons->cdr = cdr_cons->cdr;
+        new_cdr = make_lispobj(new_cdr_cons, lowtag_of(cdr));
+
+        /* Grab the cdr before it is clobbered. */
+        cdr = cdr_cons->cdr;
+        set_forwarding_pointer((lispobj *)cdr_cons, new_cdr);
+
+        /* Update the cdr of the last cons copied into new space to
+         * keep the newspace scavenge from having to do it. */
+        new_cons->cdr = new_cdr;
+
+        new_cons = new_cdr_cons;
     }
 
     return new_list_pointer;
@@ -594,9 +594,9 @@ scav_other_pointer(lispobj *where, lispobj object)
     first = (transother[widetag_of(*first_pointer)])(object);
 
     if (first != object) {
-       set_forwarding_pointer(first_pointer, first);
+        set_forwarding_pointer(first_pointer, first);
 #ifdef LISP_FEATURE_GENCGC
-       *where = first;
+        *where = first;
 #endif
     }
 #ifndef LISP_FEATURE_GENCGC
@@ -652,7 +652,7 @@ scav_instance(lispobj *where, lispobj object)
     lispobj layout = ((struct instance *)native_pointer(where))->slots[0];
 
     if (!layout)
-       return 1;
+        return 1;
     if (forwarding_pointer_p(native_pointer(layout)))
         layout = (lispobj) forwarding_pointer_value(native_pointer(layout));
 
@@ -701,23 +701,23 @@ scav_fdefn(lispobj *where, lispobj object)
 
     fdefn = (struct fdefn *)where;
 
-    /* FSHOW((stderr, "scav_fdefn, function = %p, raw_addr = %p\n", 
+    /* FSHOW((stderr, "scav_fdefn, function = %p, raw_addr = %p\n",
        fdefn->fun, fdefn->raw_addr)); */
 
-    if ((char *)(fdefn->fun + FUN_RAW_ADDR_OFFSET) 
-       == (char *)((unsigned long)(fdefn->raw_addr))) {
-       scavenge(where + 1, sizeof(struct fdefn)/sizeof(lispobj) - 1);
+    if ((char *)(fdefn->fun + FUN_RAW_ADDR_OFFSET)
+        == (char *)((unsigned long)(fdefn->raw_addr))) {
+        scavenge(where + 1, sizeof(struct fdefn)/sizeof(lispobj) - 1);
 
-       /* Don't write unnecessarily. */
-       if (fdefn->raw_addr != (char *)(fdefn->fun + FUN_RAW_ADDR_OFFSET))
-           fdefn->raw_addr = (char *)(fdefn->fun + FUN_RAW_ADDR_OFFSET);
-       /* gc.c has more casts here, which may be relevant or alternatively
-          may be compiler warning defeaters.  try 
+        /* Don't write unnecessarily. */
+        if (fdefn->raw_addr != (char *)(fdefn->fun + FUN_RAW_ADDR_OFFSET))
+            fdefn->raw_addr = (char *)(fdefn->fun + FUN_RAW_ADDR_OFFSET);
+        /* gc.c has more casts here, which may be relevant or alternatively
+           may be compiler warning defeaters.  try
         fdefn->raw_addr = ((char *) LOW_WORD(fdefn->fun)) + FUN_RAW_ADDR_OFFSET;
-       */
-       return sizeof(struct fdefn) / sizeof(lispobj);
+        */
+        return sizeof(struct fdefn) / sizeof(lispobj);
     } else {
-       return 1;
+        return 1;
     }
 }
 #endif
@@ -1300,9 +1300,9 @@ scav_vector_long_float(lispobj *where, lispobj object)
 
     vector = (struct vector *) where;
     length = fixnum_value(vector->length);
-    nwords = CEILING(length * 
-                    LONG_FLOAT_SIZE
-                    + 2, 2);
+    nwords = CEILING(length *
+                     LONG_FLOAT_SIZE
+                     + 2, 2);
     return nwords;
 }
 
@@ -1467,7 +1467,7 @@ size_vector_complex_long_float(lispobj *where)
 #endif
 
 #define WEAK_POINTER_NWORDS \
-       CEILING((sizeof(struct weak_pointer) / sizeof(lispobj)), 2)
+        CEILING((sizeof(struct weak_pointer) / sizeof(lispobj)), 2)
 
 static lispobj
 trans_weak_pointer(lispobj object)
@@ -1488,7 +1488,7 @@ trans_weak_pointer(lispobj object)
     copy = copy_object(object, WEAK_POINTER_NWORDS);
 #ifndef LISP_FEATURE_GENCGC
     wp = (struct weak_pointer *) native_pointer(copy);
-       
+
     gc_assert(widetag_of(wp->header)==WEAK_POINTER_WIDETAG);
     /* Push the weak pointer onto the list of weak pointers. */
     wp->next = LOW_WORD(weak_pointers);
@@ -1507,29 +1507,29 @@ size_weak_pointer(lispobj *where)
 void scan_weak_pointers(void)
 {
     struct weak_pointer *wp;
-    for (wp = weak_pointers; wp != NULL; 
-        wp=(struct weak_pointer *)native_pointer(wp->next)) {
-       lispobj value = wp->value;
-       lispobj *first_pointer;
-       gc_assert(widetag_of(wp->header)==WEAK_POINTER_WIDETAG);
-       if (!(is_lisp_pointer(value) && from_space_p(value)))
-           continue;
-
-       /* Now, we need to check whether the object has been forwarded. If
-        * it has been, the weak pointer is still good and needs to be
-        * updated. Otherwise, the weak pointer needs to be nil'ed
-        * out. */
-
-       first_pointer = (lispobj *)native_pointer(value);
-       
-       if (forwarding_pointer_p(first_pointer)) {
-           wp->value=
-               (lispobj)LOW_WORD(forwarding_pointer_value(first_pointer));
-       } else {
-           /* Break it. */
-           wp->value = NIL;
-           wp->broken = T;
-       }
+    for (wp = weak_pointers; wp != NULL;
+         wp=(struct weak_pointer *)native_pointer(wp->next)) {
+        lispobj value = wp->value;
+        lispobj *first_pointer;
+        gc_assert(widetag_of(wp->header)==WEAK_POINTER_WIDETAG);
+        if (!(is_lisp_pointer(value) && from_space_p(value)))
+            continue;
+
+        /* Now, we need to check whether the object has been forwarded. If
+         * it has been, the weak pointer is still good and needs to be
+         * updated. Otherwise, the weak pointer needs to be nil'ed
+         * out. */
+
+        first_pointer = (lispobj *)native_pointer(value);
+
+        if (forwarding_pointer_p(first_pointer)) {
+            wp->value=
+                (lispobj)LOW_WORD(forwarding_pointer_value(first_pointer));
+        } else {
+            /* Break it. */
+            wp->value = NIL;
+            wp->broken = T;
+        }
     }
 }
 
@@ -1553,8 +1553,8 @@ static lispobj
 trans_lose(lispobj object)
 {
     lose("no transport function for object 0x%08x (widetag 0x%x)",
-        (unsigned long)object,
-        widetag_of(*(lispobj*)native_pointer(object)));
+         (unsigned long)object,
+         widetag_of(*(lispobj*)native_pointer(object)));
     return NIL; /* bogus return value to satisfy static type checking */
 }
 
@@ -1562,8 +1562,8 @@ static long
 size_lose(lispobj *where)
 {
     lose("no size function for object at 0x%08x (widetag 0x%x)",
-        (unsigned long)where,
-        widetag_of(LOW_WORD(where)));
+         (unsigned long)where,
+         widetag_of(LOW_WORD(where)));
     return 1; /* bogus return value to satisfy static type checking */
 }
 
@@ -1580,8 +1580,8 @@ gc_init_tables(void)
     /* Set default value in all slots of scavenge table.  FIXME
      * replace this gnarly sizeof with something based on
      * N_WIDETAG_BITS */
-    for (i = 0; i < ((sizeof scavtab)/(sizeof scavtab[0])); i++) { 
-       scavtab[i] = scav_lose;
+    for (i = 0; i < ((sizeof scavtab)/(sizeof scavtab[0])); i++) {
+        scavtab[i] = scav_lose;
     }
 
     /* For each type which can be selected by the lowtag alone, set
@@ -1590,14 +1590,14 @@ gc_init_tables(void)
      */
 
     for (i = 0; i < (1<<(N_WIDETAG_BITS-N_LOWTAG_BITS)); i++) {
-       scavtab[EVEN_FIXNUM_LOWTAG|(i<<N_LOWTAG_BITS)] = scav_immediate;
-       scavtab[FUN_POINTER_LOWTAG|(i<<N_LOWTAG_BITS)] = scav_fun_pointer;
-       /* skipping OTHER_IMMEDIATE_0_LOWTAG */
-       scavtab[LIST_POINTER_LOWTAG|(i<<N_LOWTAG_BITS)] = scav_list_pointer;
-       scavtab[ODD_FIXNUM_LOWTAG|(i<<N_LOWTAG_BITS)] = scav_immediate;
-       scavtab[INSTANCE_POINTER_LOWTAG|(i<<N_LOWTAG_BITS)] = scav_instance_pointer;
-       /* skipping OTHER_IMMEDIATE_1_LOWTAG */
-       scavtab[OTHER_POINTER_LOWTAG|(i<<N_LOWTAG_BITS)] = scav_other_pointer;
+        scavtab[EVEN_FIXNUM_LOWTAG|(i<<N_LOWTAG_BITS)] = scav_immediate;
+        scavtab[FUN_POINTER_LOWTAG|(i<<N_LOWTAG_BITS)] = scav_fun_pointer;
+        /* skipping OTHER_IMMEDIATE_0_LOWTAG */
+        scavtab[LIST_POINTER_LOWTAG|(i<<N_LOWTAG_BITS)] = scav_list_pointer;
+        scavtab[ODD_FIXNUM_LOWTAG|(i<<N_LOWTAG_BITS)] = scav_immediate;
+        scavtab[INSTANCE_POINTER_LOWTAG|(i<<N_LOWTAG_BITS)] = scav_instance_pointer;
+        /* skipping OTHER_IMMEDIATE_1_LOWTAG */
+        scavtab[OTHER_POINTER_LOWTAG|(i<<N_LOWTAG_BITS)] = scav_other_pointer;
     }
 
     /* Other-pointer types (those selected by all eight bits of the
@@ -1631,59 +1631,59 @@ gc_init_tables(void)
     scavtab[SIMPLE_BIT_VECTOR_WIDETAG] = scav_vector_bit;
     scavtab[SIMPLE_ARRAY_NIL_WIDETAG] = scav_vector_nil;
     scavtab[SIMPLE_ARRAY_UNSIGNED_BYTE_2_WIDETAG] =
-       scav_vector_unsigned_byte_2;
+        scav_vector_unsigned_byte_2;
     scavtab[SIMPLE_ARRAY_UNSIGNED_BYTE_4_WIDETAG] =
-       scav_vector_unsigned_byte_4;
+        scav_vector_unsigned_byte_4;
     scavtab[SIMPLE_ARRAY_UNSIGNED_BYTE_7_WIDETAG] =
-       scav_vector_unsigned_byte_8;
+        scav_vector_unsigned_byte_8;
     scavtab[SIMPLE_ARRAY_UNSIGNED_BYTE_8_WIDETAG] =
-       scav_vector_unsigned_byte_8;
+        scav_vector_unsigned_byte_8;
     scavtab[SIMPLE_ARRAY_UNSIGNED_BYTE_15_WIDETAG] =
-       scav_vector_unsigned_byte_16;
+        scav_vector_unsigned_byte_16;
     scavtab[SIMPLE_ARRAY_UNSIGNED_BYTE_16_WIDETAG] =
-       scav_vector_unsigned_byte_16;
+        scav_vector_unsigned_byte_16;
 #ifdef SIMPLE_ARRAY_UNSIGNED_BYTE_29_WIDETAG
     scavtab[SIMPLE_ARRAY_UNSIGNED_BYTE_29_WIDETAG] =
-       scav_vector_unsigned_byte_32;
+        scav_vector_unsigned_byte_32;
 #endif
     scavtab[SIMPLE_ARRAY_UNSIGNED_BYTE_31_WIDETAG] =
-       scav_vector_unsigned_byte_32;
+        scav_vector_unsigned_byte_32;
     scavtab[SIMPLE_ARRAY_UNSIGNED_BYTE_32_WIDETAG] =
-       scav_vector_unsigned_byte_32;
+        scav_vector_unsigned_byte_32;
 #ifdef SIMPLE_ARRAY_UNSIGNED_BYTE_60_WIDETAG
     scavtab[SIMPLE_ARRAY_UNSIGNED_BYTE_60_WIDETAG] =
-       scav_vector_unsigned_byte_64;
+        scav_vector_unsigned_byte_64;
 #endif
 #ifdef SIMPLE_ARRAY_UNSIGNED_BYTE_63_WIDETAG
     scavtab[SIMPLE_ARRAY_UNSIGNED_BYTE_63_WIDETAG] =
-       scav_vector_unsigned_byte_64;
+        scav_vector_unsigned_byte_64;
 #endif
 #ifdef SIMPLE_ARRAY_UNSIGNED_BYTE_64_WIDETAG
     scavtab[SIMPLE_ARRAY_UNSIGNED_BYTE_64_WIDETAG] =
-       scav_vector_unsigned_byte_64;
+        scav_vector_unsigned_byte_64;
 #endif
 #ifdef SIMPLE_ARRAY_SIGNED_BYTE_8_WIDETAG
     scavtab[SIMPLE_ARRAY_SIGNED_BYTE_8_WIDETAG] = scav_vector_unsigned_byte_8;
 #endif
 #ifdef SIMPLE_ARRAY_SIGNED_BYTE_16_WIDETAG
     scavtab[SIMPLE_ARRAY_SIGNED_BYTE_16_WIDETAG] =
-       scav_vector_unsigned_byte_16;
+        scav_vector_unsigned_byte_16;
 #endif
 #ifdef SIMPLE_ARRAY_SIGNED_BYTE_30_WIDETAG
     scavtab[SIMPLE_ARRAY_SIGNED_BYTE_30_WIDETAG] =
-       scav_vector_unsigned_byte_32;
+        scav_vector_unsigned_byte_32;
 #endif
 #ifdef SIMPLE_ARRAY_SIGNED_BYTE_32_WIDETAG
     scavtab[SIMPLE_ARRAY_SIGNED_BYTE_32_WIDETAG] =
-       scav_vector_unsigned_byte_32;
+        scav_vector_unsigned_byte_32;
 #endif
 #ifdef SIMPLE_ARRAY_SIGNED_BYTE_61_WIDETAG
     scavtab[SIMPLE_ARRAY_SIGNED_BYTE_61_WIDETAG] =
-       scav_vector_unsigned_byte_64;
+        scav_vector_unsigned_byte_64;
 #endif
 #ifdef SIMPLE_ARRAY_SIGNED_BYTE_64_WIDETAG
     scavtab[SIMPLE_ARRAY_SIGNED_BYTE_64_WIDETAG] =
-       scav_vector_unsigned_byte_64;
+        scav_vector_unsigned_byte_64;
 #endif
     scavtab[SIMPLE_ARRAY_SINGLE_FLOAT_WIDETAG] = scav_vector_single_float;
     scavtab[SIMPLE_ARRAY_DOUBLE_FLOAT_WIDETAG] = scav_vector_double_float;
@@ -1692,15 +1692,15 @@ gc_init_tables(void)
 #endif
 #ifdef SIMPLE_ARRAY_COMPLEX_SINGLE_FLOAT_WIDETAG
     scavtab[SIMPLE_ARRAY_COMPLEX_SINGLE_FLOAT_WIDETAG] =
-       scav_vector_complex_single_float;
+        scav_vector_complex_single_float;
 #endif
 #ifdef SIMPLE_ARRAY_COMPLEX_DOUBLE_FLOAT_WIDETAG
     scavtab[SIMPLE_ARRAY_COMPLEX_DOUBLE_FLOAT_WIDETAG] =
-       scav_vector_complex_double_float;
+        scav_vector_complex_double_float;
 #endif
 #ifdef SIMPLE_ARRAY_COMPLEX_LONG_FLOAT_WIDETAG
     scavtab[SIMPLE_ARRAY_COMPLEX_LONG_FLOAT_WIDETAG] =
-       scav_vector_complex_long_float;
+        scav_vector_complex_long_float;
 #endif
     scavtab[COMPLEX_BASE_STRING_WIDETAG] = scav_boxed;
 #ifdef COMPLEX_CHARACTER_STRING_WIDETAG
@@ -1711,7 +1711,7 @@ gc_init_tables(void)
     scavtab[COMPLEX_VECTOR_WIDETAG] = scav_boxed;
     scavtab[COMPLEX_ARRAY_WIDETAG] = scav_boxed;
     scavtab[CODE_HEADER_WIDETAG] = scav_code_header;
-#ifndef LISP_FEATURE_GENCGC    /* FIXME ..._X86 ? */
+#ifndef LISP_FEATURE_GENCGC     /* FIXME ..._X86 ? */
     scavtab[SIMPLE_FUN_HEADER_WIDETAG] = scav_fun_header;
     scavtab[RETURN_PC_HEADER_WIDETAG] = scav_return_pc_header;
 #endif
@@ -1736,7 +1736,7 @@ gc_init_tables(void)
 
     /* transport other table, initialized same way as scavtab */
     for (i = 0; i < ((sizeof transother)/(sizeof transother[0])); i++)
-       transother[i] = trans_lose;
+        transother[i] = trans_lose;
     transother[BIGNUM_WIDETAG] = trans_unboxed;
     transother[RATIO_WIDETAG] = trans_boxed;
 
@@ -1768,80 +1768,80 @@ gc_init_tables(void)
     transother[SIMPLE_VECTOR_WIDETAG] = trans_vector;
     transother[SIMPLE_ARRAY_NIL_WIDETAG] = trans_vector_nil;
     transother[SIMPLE_ARRAY_UNSIGNED_BYTE_2_WIDETAG] =
-       trans_vector_unsigned_byte_2;
+        trans_vector_unsigned_byte_2;
     transother[SIMPLE_ARRAY_UNSIGNED_BYTE_4_WIDETAG] =
-       trans_vector_unsigned_byte_4;
+        trans_vector_unsigned_byte_4;
     transother[SIMPLE_ARRAY_UNSIGNED_BYTE_7_WIDETAG] =
-       trans_vector_unsigned_byte_8;
+        trans_vector_unsigned_byte_8;
     transother[SIMPLE_ARRAY_UNSIGNED_BYTE_8_WIDETAG] =
-       trans_vector_unsigned_byte_8;
+        trans_vector_unsigned_byte_8;
     transother[SIMPLE_ARRAY_UNSIGNED_BYTE_15_WIDETAG] =
-       trans_vector_unsigned_byte_16;
+        trans_vector_unsigned_byte_16;
     transother[SIMPLE_ARRAY_UNSIGNED_BYTE_16_WIDETAG] =
-       trans_vector_unsigned_byte_16;
+        trans_vector_unsigned_byte_16;
 #ifdef SIMPLE_ARRAY_UNSIGNED_BYTE_29_WIDETAG
     transother[SIMPLE_ARRAY_UNSIGNED_BYTE_29_WIDETAG] =
-       trans_vector_unsigned_byte_32;
+        trans_vector_unsigned_byte_32;
 #endif
     transother[SIMPLE_ARRAY_UNSIGNED_BYTE_31_WIDETAG] =
-       trans_vector_unsigned_byte_32;
+        trans_vector_unsigned_byte_32;
     transother[SIMPLE_ARRAY_UNSIGNED_BYTE_32_WIDETAG] =
-       trans_vector_unsigned_byte_32;
+        trans_vector_unsigned_byte_32;
 #ifdef SIMPLE_ARRAY_UNSIGNED_BYTE_60_WIDETAG
     transother[SIMPLE_ARRAY_UNSIGNED_BYTE_60_WIDETAG] =
-       trans_vector_unsigned_byte_64;
+        trans_vector_unsigned_byte_64;
 #endif
 #ifdef SIMPLE_ARRAY_UNSIGNED_BYTE_63_WIDETAG
     transother[SIMPLE_ARRAY_UNSIGNED_BYTE_63_WIDETAG] =
-       trans_vector_unsigned_byte_64;
+        trans_vector_unsigned_byte_64;
 #endif
 #ifdef SIMPLE_ARRAY_UNSIGNED_BYTE_64_WIDETAG
     transother[SIMPLE_ARRAY_UNSIGNED_BYTE_64_WIDETAG] =
-       trans_vector_unsigned_byte_64;
+        trans_vector_unsigned_byte_64;
 #endif
 #ifdef SIMPLE_ARRAY_SIGNED_BYTE_8_WIDETAG
     transother[SIMPLE_ARRAY_SIGNED_BYTE_8_WIDETAG] =
-       trans_vector_unsigned_byte_8;
+        trans_vector_unsigned_byte_8;
 #endif
 #ifdef SIMPLE_ARRAY_SIGNED_BYTE_16_WIDETAG
     transother[SIMPLE_ARRAY_SIGNED_BYTE_16_WIDETAG] =
-       trans_vector_unsigned_byte_16;
+        trans_vector_unsigned_byte_16;
 #endif
 #ifdef SIMPLE_ARRAY_SIGNED_BYTE_30_WIDETAG
     transother[SIMPLE_ARRAY_SIGNED_BYTE_30_WIDETAG] =
-       trans_vector_unsigned_byte_32;
+        trans_vector_unsigned_byte_32;
 #endif
 #ifdef SIMPLE_ARRAY_SIGNED_BYTE_32_WIDETAG
     transother[SIMPLE_ARRAY_SIGNED_BYTE_32_WIDETAG] =
-       trans_vector_unsigned_byte_32;
+        trans_vector_unsigned_byte_32;
 #endif
 #ifdef SIMPLE_ARRAY_SIGNED_BYTE_61_WIDETAG
     transother[SIMPLE_ARRAY_SIGNED_BYTE_61_WIDETAG] =
-       trans_vector_unsigned_byte_64;
+        trans_vector_unsigned_byte_64;
 #endif
 #ifdef SIMPLE_ARRAY_SIGNED_BYTE_64_WIDETAG
     transother[SIMPLE_ARRAY_SIGNED_BYTE_64_WIDETAG] =
-       trans_vector_unsigned_byte_64;
+        trans_vector_unsigned_byte_64;
 #endif
     transother[SIMPLE_ARRAY_SINGLE_FLOAT_WIDETAG] =
-       trans_vector_single_float;
+        trans_vector_single_float;
     transother[SIMPLE_ARRAY_DOUBLE_FLOAT_WIDETAG] =
-       trans_vector_double_float;
+        trans_vector_double_float;
 #ifdef SIMPLE_ARRAY_LONG_FLOAT_WIDETAG
     transother[SIMPLE_ARRAY_LONG_FLOAT_WIDETAG] =
-       trans_vector_long_float;
+        trans_vector_long_float;
 #endif
 #ifdef SIMPLE_ARRAY_COMPLEX_SINGLE_FLOAT_WIDETAG
     transother[SIMPLE_ARRAY_COMPLEX_SINGLE_FLOAT_WIDETAG] =
-       trans_vector_complex_single_float;
+        trans_vector_complex_single_float;
 #endif
 #ifdef SIMPLE_ARRAY_COMPLEX_DOUBLE_FLOAT_WIDETAG
     transother[SIMPLE_ARRAY_COMPLEX_DOUBLE_FLOAT_WIDETAG] =
-       trans_vector_complex_double_float;
+        trans_vector_complex_double_float;
 #endif
 #ifdef SIMPLE_ARRAY_COMPLEX_LONG_FLOAT_WIDETAG
     transother[SIMPLE_ARRAY_COMPLEX_LONG_FLOAT_WIDETAG] =
-       trans_vector_complex_long_float;
+        trans_vector_complex_long_float;
 #endif
     transother[COMPLEX_BASE_STRING_WIDETAG] = trans_boxed;
 #ifdef COMPLEX_CHARACTER_STRING_WIDETAG
@@ -1867,16 +1867,16 @@ gc_init_tables(void)
 
     /* size table, initialized the same way as scavtab */
     for (i = 0; i < ((sizeof sizetab)/(sizeof sizetab[0])); i++)
-       sizetab[i] = size_lose;
+        sizetab[i] = size_lose;
     for (i = 0; i < (1<<(N_WIDETAG_BITS-N_LOWTAG_BITS)); i++) {
-       sizetab[EVEN_FIXNUM_LOWTAG|(i<<N_LOWTAG_BITS)] = size_immediate;
-       sizetab[FUN_POINTER_LOWTAG|(i<<N_LOWTAG_BITS)] = size_pointer;
-       /* skipping OTHER_IMMEDIATE_0_LOWTAG */
-       sizetab[LIST_POINTER_LOWTAG|(i<<N_LOWTAG_BITS)] = size_pointer;
-       sizetab[ODD_FIXNUM_LOWTAG|(i<<N_LOWTAG_BITS)] = size_immediate;
-       sizetab[INSTANCE_POINTER_LOWTAG|(i<<N_LOWTAG_BITS)] = size_pointer;
-       /* skipping OTHER_IMMEDIATE_1_LOWTAG */
-       sizetab[OTHER_POINTER_LOWTAG|(i<<N_LOWTAG_BITS)] = size_pointer;
+        sizetab[EVEN_FIXNUM_LOWTAG|(i<<N_LOWTAG_BITS)] = size_immediate;
+        sizetab[FUN_POINTER_LOWTAG|(i<<N_LOWTAG_BITS)] = size_pointer;
+        /* skipping OTHER_IMMEDIATE_0_LOWTAG */
+        sizetab[LIST_POINTER_LOWTAG|(i<<N_LOWTAG_BITS)] = size_pointer;
+        sizetab[ODD_FIXNUM_LOWTAG|(i<<N_LOWTAG_BITS)] = size_immediate;
+        sizetab[INSTANCE_POINTER_LOWTAG|(i<<N_LOWTAG_BITS)] = size_pointer;
+        /* skipping OTHER_IMMEDIATE_1_LOWTAG */
+        sizetab[OTHER_POINTER_LOWTAG|(i<<N_LOWTAG_BITS)] = size_pointer;
     }
     sizetab[BIGNUM_WIDETAG] = size_unboxed;
     sizetab[RATIO_WIDETAG] = size_boxed;
@@ -1908,59 +1908,59 @@ gc_init_tables(void)
     sizetab[SIMPLE_VECTOR_WIDETAG] = size_vector;
     sizetab[SIMPLE_ARRAY_NIL_WIDETAG] = size_vector_nil;
     sizetab[SIMPLE_ARRAY_UNSIGNED_BYTE_2_WIDETAG] =
-       size_vector_unsigned_byte_2;
+        size_vector_unsigned_byte_2;
     sizetab[SIMPLE_ARRAY_UNSIGNED_BYTE_4_WIDETAG] =
-       size_vector_unsigned_byte_4;
+        size_vector_unsigned_byte_4;
     sizetab[SIMPLE_ARRAY_UNSIGNED_BYTE_7_WIDETAG] =
-       size_vector_unsigned_byte_8;
+        size_vector_unsigned_byte_8;
     sizetab[SIMPLE_ARRAY_UNSIGNED_BYTE_8_WIDETAG] =
-       size_vector_unsigned_byte_8;
+        size_vector_unsigned_byte_8;
     sizetab[SIMPLE_ARRAY_UNSIGNED_BYTE_15_WIDETAG] =
-       size_vector_unsigned_byte_16;
+        size_vector_unsigned_byte_16;
     sizetab[SIMPLE_ARRAY_UNSIGNED_BYTE_16_WIDETAG] =
-       size_vector_unsigned_byte_16;
+        size_vector_unsigned_byte_16;
 #ifdef SIMPLE_ARRAY_UNSIGNED_BYTE_29_WIDETAG
     sizetab[SIMPLE_ARRAY_UNSIGNED_BYTE_29_WIDETAG] =
-       size_vector_unsigned_byte_32;
+        size_vector_unsigned_byte_32;
 #endif
     sizetab[SIMPLE_ARRAY_UNSIGNED_BYTE_31_WIDETAG] =
-       size_vector_unsigned_byte_32;
+        size_vector_unsigned_byte_32;
     sizetab[SIMPLE_ARRAY_UNSIGNED_BYTE_32_WIDETAG] =
-       size_vector_unsigned_byte_32;
+        size_vector_unsigned_byte_32;
 #ifdef SIMPLE_ARRAY_UNSIGNED_BYTE_60_WIDETAG
     sizetab[SIMPLE_ARRAY_UNSIGNED_BYTE_60_WIDETAG] =
-       size_vector_unsigned_byte_64;
+        size_vector_unsigned_byte_64;
 #endif
 #ifdef SIMPLE_ARRAY_UNSIGNED_BYTE_63_WIDETAG
     sizetab[SIMPLE_ARRAY_UNSIGNED_BYTE_63_WIDETAG] =
-       size_vector_unsigned_byte_64;
+        size_vector_unsigned_byte_64;
 #endif
 #ifdef SIMPLE_ARRAY_UNSIGNED_BYTE_64_WIDETAG
     sizetab[SIMPLE_ARRAY_UNSIGNED_BYTE_64_WIDETAG] =
-       size_vector_unsigned_byte_64;
+        size_vector_unsigned_byte_64;
 #endif
 #ifdef SIMPLE_ARRAY_SIGNED_BYTE_8_WIDETAG
     sizetab[SIMPLE_ARRAY_SIGNED_BYTE_8_WIDETAG] = size_vector_unsigned_byte_8;
 #endif
 #ifdef SIMPLE_ARRAY_SIGNED_BYTE_16_WIDETAG
     sizetab[SIMPLE_ARRAY_SIGNED_BYTE_16_WIDETAG] =
-       size_vector_unsigned_byte_16;
+        size_vector_unsigned_byte_16;
 #endif
 #ifdef SIMPLE_ARRAY_SIGNED_BYTE_30_WIDETAG
     sizetab[SIMPLE_ARRAY_SIGNED_BYTE_30_WIDETAG] =
-       size_vector_unsigned_byte_32;
+        size_vector_unsigned_byte_32;
 #endif
 #ifdef SIMPLE_ARRAY_SIGNED_BYTE_32_WIDETAG
     sizetab[SIMPLE_ARRAY_SIGNED_BYTE_32_WIDETAG] =
-       size_vector_unsigned_byte_32;
+        size_vector_unsigned_byte_32;
 #endif
 #ifdef SIMPLE_ARRAY_SIGNED_BYTE_61_WIDETAG
     sizetab[SIMPLE_ARRAY_SIGNED_BYTE_61_WIDETAG] =
-       size_vector_unsigned_byte_64;
+        size_vector_unsigned_byte_64;
 #endif
 #ifdef SIMPLE_ARRAY_SIGNED_BYTE_64_WIDETAG
     sizetab[SIMPLE_ARRAY_SIGNED_BYTE_64_WIDETAG] =
-       size_vector_unsigned_byte_64;
+        size_vector_unsigned_byte_64;
 #endif
     sizetab[SIMPLE_ARRAY_SINGLE_FLOAT_WIDETAG] = size_vector_single_float;
     sizetab[SIMPLE_ARRAY_DOUBLE_FLOAT_WIDETAG] = size_vector_double_float;
@@ -1969,15 +1969,15 @@ gc_init_tables(void)
 #endif
 #ifdef SIMPLE_ARRAY_COMPLEX_SINGLE_FLOAT_WIDETAG
     sizetab[SIMPLE_ARRAY_COMPLEX_SINGLE_FLOAT_WIDETAG] =
-       size_vector_complex_single_float;
+        size_vector_complex_single_float;
 #endif
 #ifdef SIMPLE_ARRAY_COMPLEX_DOUBLE_FLOAT_WIDETAG
     sizetab[SIMPLE_ARRAY_COMPLEX_DOUBLE_FLOAT_WIDETAG] =
-       size_vector_complex_double_float;
+        size_vector_complex_double_float;
 #endif
 #ifdef SIMPLE_ARRAY_COMPLEX_LONG_FLOAT_WIDETAG
     sizetab[SIMPLE_ARRAY_COMPLEX_LONG_FLOAT_WIDETAG] =
-       size_vector_complex_long_float;
+        size_vector_complex_long_float;
 #endif
     sizetab[COMPLEX_BASE_STRING_WIDETAG] = size_boxed;
 #ifdef COMPLEX_CHARACTER_STRING_WIDETAG
@@ -2014,15 +2014,15 @@ component_ptr_from_pc(lispobj *pc)
     lispobj *object = NULL;
 
     if ( (object = search_read_only_space(pc)) )
-       ;
+        ;
     else if ( (object = search_static_space(pc)) )
-       ;
+        ;
     else
-       object = search_dynamic_space(pc);
+        object = search_dynamic_space(pc);
 
     if (object) /* if we found something */
-       if (widetag_of(*object) == CODE_HEADER_WIDETAG)
-           return(object);
+        if (widetag_of(*object) == CODE_HEADER_WIDETAG)
+            return(object);
 
     return (NULL);
 }
@@ -2033,33 +2033,33 @@ lispobj *
 gc_search_space(lispobj *start, size_t words, lispobj *pointer)
 {
     while (words > 0) {
-       size_t count = 1;
-       lispobj thing = *start;
+        size_t count = 1;
+        lispobj thing = *start;
 
-       /* If thing is an immediate then this is a cons. */
-       if (is_lisp_pointer(thing)
-           || (fixnump(thing))
-           || (widetag_of(thing) == CHARACTER_WIDETAG)
+        /* If thing is an immediate then this is a cons. */
+        if (is_lisp_pointer(thing)
+            || (fixnump(thing))
+            || (widetag_of(thing) == CHARACTER_WIDETAG)
 #if N_WORD_BITS == 64
-           || (widetag_of(thing) == SINGLE_FLOAT_WIDETAG)
+            || (widetag_of(thing) == SINGLE_FLOAT_WIDETAG)
 #endif
-           || (widetag_of(thing) == UNBOUND_MARKER_WIDETAG))
-           count = 2;
-       else
-           count = (sizetab[widetag_of(thing)])(start);
+            || (widetag_of(thing) == UNBOUND_MARKER_WIDETAG))
+            count = 2;
+        else
+            count = (sizetab[widetag_of(thing)])(start);
 
-       /* Check whether the pointer is within this object. */
-       if ((pointer >= start) && (pointer < (start+count))) {
-           /* found it! */
-           /*FSHOW((stderr,"/found %x in %x %x\n", pointer, start, thing));*/
-           return(start);
-       }
+        /* Check whether the pointer is within this object. */
+        if ((pointer >= start) && (pointer < (start+count))) {
+            /* found it! */
+            /*FSHOW((stderr,"/found %x in %x %x\n", pointer, start, thing));*/
+            return(start);
+        }
 
-       /* Round up the count. */
-       count = CEILING(count,2);
+        /* Round up the count. */
+        count = CEILING(count,2);
 
-       start += count;
-       words -= count;
+        start += count;
+        words -= count;
     }
     return (NULL);
 }