X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fgc-common.c;h=3f251bf845eb33d0577b499755bcd455b8934923;hb=9b1fade83db8453b75b8c7380eb12ce41b5b889c;hp=a615b66936687e2b2cec13dc7e1a058f597bce44;hpb=e5129834a1348cbe313d31fc2743e7f8f73848a6;p=sbcl.git diff --git a/src/runtime/gc-common.c b/src/runtime/gc-common.c index a615b66..3f251bf 100644 --- a/src/runtime/gc-common.c +++ b/src/runtime/gc-common.c @@ -54,6 +54,7 @@ #endif size_t dynamic_space_size = DEFAULT_DYNAMIC_SPACE_SIZE; +size_t thread_control_stack_size = DEFAULT_CONTROL_STACK_SIZE; inline static boolean forwarding_pointer_p(lispobj *pointer) { @@ -137,7 +138,9 @@ scavenge(lispobj *start, long n_words) lispobj object = *object_ptr; #ifdef LISP_FEATURE_GENCGC - gc_assert(!forwarding_pointer_p(object_ptr)); + if (forwarding_pointer_p(object_ptr)) + lose("unexpect forwarding pointer in scavenge: %p, start=%p, n=%l\n", + object_ptr, start, n_words); #endif if (is_lisp_pointer(object)) { if (from_space_p(object)) { @@ -1638,7 +1641,7 @@ scav_hash_table_entries (struct hash_table *hash_table) unsigned long hash_vector_length; lispobj empty_symbol; lispobj weakness = hash_table->weakness; - long i; + unsigned long i; kv_vector = get_array_data(hash_table->table, SIMPLE_VECTOR_WIDETAG, &kv_length); @@ -1827,7 +1830,7 @@ scan_weak_hash_table (struct hash_table *hash_table) lispobj *hash_vector; lispobj empty_symbol; lispobj weakness = hash_table->weakness; - long i; + unsigned long i; kv_vector = get_array_data(hash_table->table, SIMPLE_VECTOR_WIDETAG, NULL); @@ -1903,7 +1906,7 @@ size_lose(lispobj *where) void gc_init_tables(void) { - long i; + unsigned long i; /* Set default value in all slots of scavenge table. FIXME * replace this gnarly sizeof with something based on @@ -2451,7 +2454,7 @@ maybe_gc(os_context_t *context) /* SIG_STOP_FOR_GC needs to be enabled before we can call lisp: * otherwise two threads racing here may deadlock: the other will * wait on the GC lock, and the other cannot stop the first one... */ - funcall0(SymbolFunction(SUB_GC)); + funcall0(StaticSymbolFunction(SUB_GC)); undo_fake_foreign_function_call(context); return 1; }