X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fcheneygc.c;h=14b52085d4a34faf52315bdc01b370673a160f8b;hb=9b79c4c51954ffc46c631e56547ac865860e8855;hp=10b4d4af3c9595df2f476591f633c7e2ddcc00a7;hpb=ab9c6bbaaa409e815a1c9696885c9621b429aed6;p=sbcl.git diff --git a/src/runtime/cheneygc.c b/src/runtime/cheneygc.c index 10b4d4a..14b5208 100644 --- a/src/runtime/cheneygc.c +++ b/src/runtime/cheneygc.c @@ -62,19 +62,19 @@ tv_diff(struct timeval *x, struct timeval *y) #endif void * -gc_general_alloc(long bytes, int page_type_flag, int quick_p) { +gc_general_alloc(word_t bytes, int page_type_flag, int quick_p) { lispobj *new=new_space_free_pointer; new_space_free_pointer+=(bytes/N_WORD_BYTES); return new; } -lispobj copy_large_unboxed_object(lispobj object, long nwords) { +lispobj copy_large_unboxed_object(lispobj object, sword_t nwords) { return copy_object(object,nwords); } -lispobj copy_unboxed_object(lispobj object, long nwords) { +lispobj copy_unboxed_object(lispobj object, sword_t nwords) { return copy_object(object,nwords); } -lispobj copy_large_object(lispobj object, long nwords) { +lispobj copy_large_object(lispobj object, sword_t nwords) { return copy_object(object,nwords); } @@ -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);