X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fcheneygc.c;h=7573c82f1d1785a90f40fc27dc661441f4eb8485;hb=43c6634142a96e1d1bab2efe1a39cd8234903c41;hp=10b4d4af3c9595df2f476591f633c7e2ddcc00a7;hpb=ab9c6bbaaa409e815a1c9696885c9621b429aed6;p=sbcl.git diff --git a/src/runtime/cheneygc.c b/src/runtime/cheneygc.c index 10b4d4a..7573c82 100644 --- a/src/runtime/cheneygc.c +++ b/src/runtime/cheneygc.c @@ -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);