don't check SUBTYPEP of ELEMENT-TYPE in ADJUST-ARRAY unnecessarily
[sbcl.git] / src / runtime / cheneygc.c
index 10b4d4a..7573c82 100644 (file)
@@ -149,24 +149,18 @@ collect_garbage(generation_index_t ignore)
     scavenge((lispobj *) interrupt_handlers,
              sizeof(interrupt_handlers) / sizeof(lispobj));
 
-    /* _size quantities are in units of sizeof(lispobj) - i.e. 4 */
-    control_stack_size =
-        current_control_stack_pointer-
-        (lispobj *)th->control_stack_start;
 #ifdef PRINTNOISE
-    printf("Scavenging the control stack at %p (%ld words) ...\n",
-           ((lispobj *)th->control_stack_start),
-           control_stack_size);
+    printf("Scavenging the control stack ...\n");
 #endif
-    scavenge(((lispobj *)th->control_stack_start), control_stack_size);
+    scavenge_control_stack(th);
 
 
     binding_stack_size =
-        current_binding_stack_pointer -
+        (lispobj *)get_binding_stack_pointer(th) -
         (lispobj *)th->binding_stack_start;
 #ifdef PRINTNOISE
     printf("Scavenging the binding stack %x - %x (%d words) ...\n",
-           th->binding_stack_start,current_binding_stack_pointer,
+           th->binding_stack_start,get_binding_stack_pointer(th),
            (int)(binding_stack_size));
 #endif
     scavenge(((lispobj *)th->binding_stack_start), binding_stack_size);