X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fruntime%2Fgc-common.c;h=acbadae73dbfd6b7e72c91a66e2527fc04e7e43e;hb=f10dce4be24d44e1db0fb3d5b1d3689d6caa062a;hp=08baf7488ab1b260740fe67c93d3dd14939015b9;hpb=902e93736a0888aa6b04dc328b1eb328423bf426;p=sbcl.git diff --git a/src/runtime/gc-common.c b/src/runtime/gc-common.c index 08baf74..acbadae 100644 --- a/src/runtime/gc-common.c +++ b/src/runtime/gc-common.c @@ -233,7 +233,6 @@ scav_fun_pointer(lispobj *where, lispobj object) switch (widetag_of(*first_pointer)) { case SIMPLE_FUN_HEADER_WIDETAG: - case CLOSURE_FUN_HEADER_WIDETAG: copy = trans_fun_header(object); break; default: @@ -1536,10 +1535,18 @@ gc_init_tables(void) scav_vector_unsigned_byte_2; scavtab[SIMPLE_ARRAY_UNSIGNED_BYTE_4_WIDETAG] = scav_vector_unsigned_byte_4; + scavtab[SIMPLE_ARRAY_UNSIGNED_BYTE_7_WIDETAG] = + scav_vector_unsigned_byte_8; scavtab[SIMPLE_ARRAY_UNSIGNED_BYTE_8_WIDETAG] = scav_vector_unsigned_byte_8; + scavtab[SIMPLE_ARRAY_UNSIGNED_BYTE_15_WIDETAG] = + scav_vector_unsigned_byte_16; scavtab[SIMPLE_ARRAY_UNSIGNED_BYTE_16_WIDETAG] = scav_vector_unsigned_byte_16; + scavtab[SIMPLE_ARRAY_UNSIGNED_BYTE_29_WIDETAG] = + scav_vector_unsigned_byte_32; + scavtab[SIMPLE_ARRAY_UNSIGNED_BYTE_31_WIDETAG] = + scav_vector_unsigned_byte_32; scavtab[SIMPLE_ARRAY_UNSIGNED_BYTE_32_WIDETAG] = scav_vector_unsigned_byte_32; #ifdef SIMPLE_ARRAY_SIGNED_BYTE_8_WIDETAG @@ -1582,7 +1589,6 @@ gc_init_tables(void) scavtab[CODE_HEADER_WIDETAG] = scav_code_header; #ifndef LISP_FEATURE_GENCGC /* FIXME ..._X86 ? */ scavtab[SIMPLE_FUN_HEADER_WIDETAG] = scav_fun_header; - scavtab[CLOSURE_FUN_HEADER_WIDETAG] = scav_fun_header; scavtab[RETURN_PC_HEADER_WIDETAG] = scav_return_pc_header; #endif #ifdef LISP_FEATURE_X86 @@ -1633,10 +1639,18 @@ gc_init_tables(void) trans_vector_unsigned_byte_2; transother[SIMPLE_ARRAY_UNSIGNED_BYTE_4_WIDETAG] = trans_vector_unsigned_byte_4; + transother[SIMPLE_ARRAY_UNSIGNED_BYTE_7_WIDETAG] = + trans_vector_unsigned_byte_8; transother[SIMPLE_ARRAY_UNSIGNED_BYTE_8_WIDETAG] = trans_vector_unsigned_byte_8; + transother[SIMPLE_ARRAY_UNSIGNED_BYTE_15_WIDETAG] = + trans_vector_unsigned_byte_16; transother[SIMPLE_ARRAY_UNSIGNED_BYTE_16_WIDETAG] = trans_vector_unsigned_byte_16; + transother[SIMPLE_ARRAY_UNSIGNED_BYTE_29_WIDETAG] = + trans_vector_unsigned_byte_32; + transother[SIMPLE_ARRAY_UNSIGNED_BYTE_31_WIDETAG] = + trans_vector_unsigned_byte_32; transother[SIMPLE_ARRAY_UNSIGNED_BYTE_32_WIDETAG] = trans_vector_unsigned_byte_32; #ifdef SIMPLE_ARRAY_SIGNED_BYTE_8_WIDETAG @@ -1682,7 +1696,6 @@ gc_init_tables(void) transother[COMPLEX_ARRAY_WIDETAG] = trans_boxed; transother[CODE_HEADER_WIDETAG] = trans_code_header; transother[SIMPLE_FUN_HEADER_WIDETAG] = trans_fun_header; - transother[CLOSURE_FUN_HEADER_WIDETAG] = trans_fun_header; transother[RETURN_PC_HEADER_WIDETAG] = trans_return_pc_header; transother[CLOSURE_HEADER_WIDETAG] = trans_boxed; transother[FUNCALLABLE_INSTANCE_HEADER_WIDETAG] = trans_boxed; @@ -1734,10 +1747,18 @@ gc_init_tables(void) size_vector_unsigned_byte_2; sizetab[SIMPLE_ARRAY_UNSIGNED_BYTE_4_WIDETAG] = size_vector_unsigned_byte_4; + sizetab[SIMPLE_ARRAY_UNSIGNED_BYTE_7_WIDETAG] = + size_vector_unsigned_byte_8; sizetab[SIMPLE_ARRAY_UNSIGNED_BYTE_8_WIDETAG] = size_vector_unsigned_byte_8; + sizetab[SIMPLE_ARRAY_UNSIGNED_BYTE_15_WIDETAG] = + size_vector_unsigned_byte_16; sizetab[SIMPLE_ARRAY_UNSIGNED_BYTE_16_WIDETAG] = size_vector_unsigned_byte_16; + sizetab[SIMPLE_ARRAY_UNSIGNED_BYTE_29_WIDETAG] = + size_vector_unsigned_byte_32; + sizetab[SIMPLE_ARRAY_UNSIGNED_BYTE_31_WIDETAG] = + size_vector_unsigned_byte_32; sizetab[SIMPLE_ARRAY_UNSIGNED_BYTE_32_WIDETAG] = size_vector_unsigned_byte_32; #ifdef SIMPLE_ARRAY_SIGNED_BYTE_8_WIDETAG @@ -1781,7 +1802,6 @@ gc_init_tables(void) #if 0 /* We shouldn't see these, so just lose if it happens. */ sizetab[SIMPLE_FUN_HEADER_WIDETAG] = size_function_header; - sizetab[CLOSURE_FUN_HEADER_WIDETAG] = size_function_header; sizetab[RETURN_PC_HEADER_WIDETAG] = size_return_pc_header; #endif sizetab[CLOSURE_HEADER_WIDETAG] = size_boxed;