#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);
}
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);