#include "interrupt.h"
#include "purify.h"
#include "interr.h"
-#include "fixnump.h"
#include "gc.h"
#include "gc-internal.h"
#include "thread.h"
#endif
case SAP_WIDETAG:
return ptrans_unboxed(thing, header);
-#ifdef LUTEX_WIDETAG
- case LUTEX_WIDETAG:
- gencgc_unregister_lutex((struct lutex *) native_pointer(thing));
- return ptrans_unboxed(thing, header);
-#endif
-
case RATIO_WIDETAG:
case COMPLEX_WIDETAG:
case SIMPLE_ARRAY_WIDETAG:
return ptrans_vector(thing, 16, 0, 0, constant);
case SIMPLE_ARRAY_UNSIGNED_BYTE_32_WIDETAG:
-#ifdef SIMPLE_ARRAY_SIGNED_BYTE_30_WIDETAG
- case SIMPLE_ARRAY_SIGNED_BYTE_30_WIDETAG:
- case SIMPLE_ARRAY_UNSIGNED_BYTE_29_WIDETAG:
-#endif
+ case SIMPLE_ARRAY_FIXNUM_WIDETAG:
+ case SIMPLE_ARRAY_UNSIGNED_FIXNUM_WIDETAG:
#ifdef SIMPLE_ARRAY_SIGNED_BYTE_32_WIDETAG
case SIMPLE_ARRAY_SIGNED_BYTE_32_WIDETAG:
case SIMPLE_ARRAY_UNSIGNED_BYTE_31_WIDETAG:
return ptrans_vector(thing, 32, 0, 0, constant);
#if N_WORD_BITS == 64
-#ifdef SIMPLE_ARRAY_UNSIGNED_BYTE_60_WIDETAG
- case SIMPLE_ARRAY_UNSIGNED_BYTE_60_WIDETAG:
-#endif
#ifdef SIMPLE_ARRAY_UNSIGNED_BYTE_63_WIDETAG
case SIMPLE_ARRAY_UNSIGNED_BYTE_63_WIDETAG:
#endif
#ifdef SIMPLE_ARRAY_UNSIGNED_BYTE_64_WIDETAG
case SIMPLE_ARRAY_UNSIGNED_BYTE_64_WIDETAG:
#endif
-#ifdef SIMPLE_ARRAY_SIGNED_BYTE_61_WIDETAG
- case SIMPLE_ARRAY_SIGNED_BYTE_61_WIDETAG:
-#endif
#ifdef SIMPLE_ARRAY_SIGNED_BYTE_64_WIDETAG
case SIMPLE_ARRAY_SIGNED_BYTE_64_WIDETAG:
#endif
case SIMPLE_VECTOR_WIDETAG:
if (HeaderValue(thing) == subtype_VectorValidHashing) {
struct hash_table *hash_table =
- (struct hash_table *)native_pointer(((lispobj *)thing)[2]);
+ (struct hash_table *)native_pointer(addr[2]);
hash_table->needs_rehash_p = T;
}
count = 2;
break;
case SIMPLE_ARRAY_UNSIGNED_BYTE_32_WIDETAG:
-#ifdef SIMPLE_ARRAY_SIGNED_BYTE_30_WIDETAG
- case SIMPLE_ARRAY_SIGNED_BYTE_30_WIDETAG:
- case SIMPLE_ARRAY_UNSIGNED_BYTE_29_WIDETAG:
-#endif
+
+ case SIMPLE_ARRAY_FIXNUM_WIDETAG:
+ case SIMPLE_ARRAY_UNSIGNED_FIXNUM_WIDETAG:
+
#ifdef SIMPLE_ARRAY_SIGNED_BYTE_32_WIDETAG
case SIMPLE_ARRAY_SIGNED_BYTE_32_WIDETAG:
case SIMPLE_ARRAY_UNSIGNED_BYTE_31_WIDETAG:
#if N_WORD_BITS == 64
case SIMPLE_ARRAY_UNSIGNED_BYTE_64_WIDETAG:
-#ifdef SIMPLE_ARRAY_SIGNED_BYTE_61_WIDETAG
- case SIMPLE_ARRAY_SIGNED_BYTE_61_WIDETAG:
- case SIMPLE_ARRAY_UNSIGNED_BYTE_60_WIDETAG:
-#endif
#ifdef SIMPLE_ARRAY_SIGNED_BYTE_64_WIDETAG
case SIMPLE_ARRAY_SIGNED_BYTE_64_WIDETAG:
case SIMPLE_ARRAY_UNSIGNED_BYTE_63_WIDETAG:
fflush(stdout);
#endif
pscav((lispobj *)all_threads->control_stack_start,
- current_control_stack_pointer -
+ access_control_stack_pointer(all_threads) -
all_threads->control_stack_start,
0);
#endif
pscav( (lispobj *)all_threads->binding_stack_start,
- (lispobj *)current_binding_stack_pointer -
+ (lispobj *)get_binding_stack_pointer(all_threads) -
all_threads->binding_stack_start,
0);
printf(" cleanup");
fflush(stdout);
#endif
+#ifdef LISP_FEATURE_HPUX
+ clear_auto_gc_trigger(); /* restore mmap as it was given by os */
+#endif
- os_zero((os_vm_address_t) current_dynamic_space,
- (os_vm_size_t) dynamic_space_size);
+ os_zero((os_vm_address_t) current_dynamic_space, dynamic_space_size);
/* Zero the stack. */
- os_zero((os_vm_address_t) current_control_stack_pointer,
+ os_zero((os_vm_address_t) access_control_stack_pointer(all_threads),
(os_vm_size_t)
((all_threads->control_stack_end -
- current_control_stack_pointer) * sizeof(lispobj)));
+ access_control_stack_pointer(all_threads)) * sizeof(lispobj)));
/* It helps to update the heap free pointers so that free_heap can
* verify after it's done. */