X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fruntime%2Fgencgc.c;h=fbaaa9e7d25bd4e58f1f04d5d65eeb5f6a7eaa89;hb=b83353d9f998e5c0e34604b5593df70c66d2c510;hp=c082d386df4be8673bce91d349ef4a91bddae663;hpb=c6aa07913db78733634b49d305f41bb8ae4f97e2;p=sbcl.git diff --git a/src/runtime/gencgc.c b/src/runtime/gencgc.c index c082d38..fbaaa9e 100644 --- a/src/runtime/gencgc.c +++ b/src/runtime/gencgc.c @@ -125,8 +125,10 @@ boolean verify_after_free_heap = 0; * during a heap verify? */ boolean verify_dynamic_code_check = 0; +#ifdef LISP_FEATURE_X86 /* Should we check code objects for fixup errors after they are transported? */ boolean check_code_fixups = 0; +#endif /* Should we check that newly allocated regions are zero filled? */ boolean gencgc_zero_check = 0; @@ -1650,10 +1652,10 @@ static lispobj trans_boxed(lispobj object); * * Currently only absolute fixups to the constant vector, or to the * code area are checked. */ +#ifdef LISP_FEATURE_X86 void sniff_code_object(struct code *code, os_vm_size_t displacement) { -#ifdef LISP_FEATURE_X86 sword_t nheader_words, ncode_words, nwords; os_vm_address_t constants_start_addr = NULL, constants_end_addr, p; os_vm_address_t code_start_addr, code_end_addr; @@ -1822,14 +1824,13 @@ sniff_code_object(struct code *code, os_vm_size_t displacement) "/code start = %x, end = %x\n", code_start_addr, code_end_addr)); } -#endif } +#endif +#ifdef LISP_FEATURE_X86 void gencgc_apply_code_fixups(struct code *old_code, struct code *new_code) { -/* x86-64 uses pc-relative addressing instead of this kludge */ -#ifndef LISP_FEATURE_X86_64 sword_t nheader_words, ncode_words, nwords; os_vm_address_t constants_start_addr, constants_end_addr; os_vm_address_t code_start_addr, code_end_addr; @@ -1925,9 +1926,8 @@ gencgc_apply_code_fixups(struct code *old_code, struct code *new_code) if (check_code_fixups) { sniff_code_object(new_code,displacement); } -#endif } - +#endif static lispobj trans_boxed_large(lispobj object) @@ -3085,6 +3085,9 @@ verify_space(lispobj *start, size_t words) #ifdef COMPLEX_LONG_FLOAT_WIDETAG case COMPLEX_LONG_FLOAT_WIDETAG: #endif +#ifdef SIMD_PACK_WIDETAG + case SIMD_PACK_WIDETAG: +#endif case SIMPLE_BASE_STRING_WIDETAG: #ifdef SIMPLE_CHARACTER_STRING_WIDETAG case SIMPLE_CHARACTER_STRING_WIDETAG: @@ -3192,7 +3195,6 @@ verify_generation(generation_index_t generation) && (page_table[i].bytes_used != 0) && (page_table[i].gen == generation)) { page_index_t last_page; - int region_allocation = page_table[i].allocated; /* This should be the start of a contiguous block */ gc_assert(page_starts_contiguous_block_p(i));