projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
0.pre7.31:
[sbcl.git]
/
src
/
runtime
/
gc.c
diff --git
a/src/runtime/gc.c
b/src/runtime/gc.c
index
90a0f40
..
b7fee14
100644
(file)
--- a/
src/runtime/gc.c
+++ b/
src/runtime/gc.c
@@
-79,9
+79,9
@@
from_space_p(lispobj object)
/* this can be called for untagged pointers as well as for
descriptors, so this assertion's not applicable
/* this can be called for untagged pointers as well as for
descriptors, so this assertion's not applicable
- gc_assert(Pointerp(object));
+ gc_assert(is_lisp_pointer(object));
*/
*/
- ptr = (lispobj *) PTR(object);
+ ptr = (lispobj *) native_pointer(object);
return ((from_space <= ptr) &&
(ptr < from_space_free_pointer));
return ((from_space <= ptr) &&
(ptr < from_space_free_pointer));
@@
-92,9
+92,9
@@
new_space_p(lispobj object)
{
lispobj *ptr;
{
lispobj *ptr;
- gc_assert(Pointerp(object));
+ gc_assert(is_lisp_pointer(object));
- ptr = (lispobj *) PTR(object);
+ ptr = (lispobj *) native_pointer(object);
return ((new_space <= ptr) &&
(ptr < new_space_free_pointer));
return ((new_space <= ptr) &&
(ptr < new_space_free_pointer));
@@
-122,7
+122,7
@@
copy_object(lispobj object, int nwords)
lispobj *new;
lispobj *source, *dest;
lispobj *new;
lispobj *source, *dest;
- gc_assert(Pointerp(object));
+ gc_assert(is_lisp_pointer(object));
gc_assert(from_space_p(object));
gc_assert((nwords & 0x01) == 0);
gc_assert(from_space_p(object));
gc_assert((nwords & 0x01) == 0);
@@
-134,7
+134,7
@@
copy_object(lispobj object, int nwords)
new_space_free_pointer += nwords;
dest = new;
new_space_free_pointer += nwords;
dest = new;
- source = (lispobj *) PTR(object);
+ source = (lispobj *) native_pointer(object);
#ifdef DEBUG_COPY_VERBOSE
fprintf(stderr,"Copying %d words from %p to %p\n", nwords,source,new);
#ifdef DEBUG_COPY_VERBOSE
fprintf(stderr,"Copying %d words from %p to %p\n", nwords,source,new);
@@
-230,11
+230,7
@@
struct timeval start_tv, stop_tv;
/* Set up from space and new space pointers. */
from_space = current_dynamic_space;
/* Set up from space and new space pointers. */
from_space = current_dynamic_space;
-#ifndef ibmrt
from_space_free_pointer = dynamic_space_free_pointer;
from_space_free_pointer = dynamic_space_free_pointer;
-#else
- from_space_free_pointer = (lispobj *)SymbolValue(ALLOCATION_POINTER);
-#endif
#ifdef PRINTNOISE
fprintf(stderr,"from_space = %lx\n",
#ifdef PRINTNOISE
fprintf(stderr,"from_space = %lx\n",
@@
-279,14
+275,9
@@
struct timeval start_tv, stop_tv;
scavenge(((lispobj *)CONTROL_STACK_START), control_stack_size);
scavenge(((lispobj *)CONTROL_STACK_START), control_stack_size);
-#ifdef ibmrt
- binding_stack_size =
- (lispobj *)SymbolValue(BINDING_STACK_POINTER) - binding_stack;
-#else
binding_stack_size =
current_binding_stack_pointer -
(lispobj *)BINDING_STACK_START;
binding_stack_size =
current_binding_stack_pointer -
(lispobj *)BINDING_STACK_START;
-#endif
#ifdef PRINTNOISE
printf("Scavenging the binding stack %x - %x (%d words) ...\n",
BINDING_STACK_START,current_binding_stack_pointer,
#ifdef PRINTNOISE
printf("Scavenging the binding stack %x - %x (%d words) ...\n",
BINDING_STACK_START,current_binding_stack_pointer,
@@
-331,11
+322,7
@@
struct timeval start_tv, stop_tv;
(os_vm_size_t) DYNAMIC_SPACE_SIZE);
current_dynamic_space = new_space;
(os_vm_size_t) DYNAMIC_SPACE_SIZE);
current_dynamic_space = new_space;
-#ifndef ibmrt
dynamic_space_free_pointer = new_space_free_pointer;
dynamic_space_free_pointer = new_space_free_pointer;
-#else
- SetSymbolValue(ALLOCATION_POINTER, (lispobj)new_space_free_pointer);
-#endif
#ifdef PRINTNOISE
size_discarded = (from_space_free_pointer - from_space) * sizeof(lispobj);
#ifdef PRINTNOISE
size_discarded = (from_space_free_pointer - from_space) * sizeof(lispobj);
@@
-401,15
+388,16
@@
scavenge(lispobj *start, u32 nwords)
(unsigned long) start, (unsigned long) object, type);
#endif
(unsigned long) start, (unsigned long) object, type);
#endif
- if (Pointerp(object)) {
+ if (is_lisp_pointer(object)) {
/* It be a pointer. */
if (from_space_p(object)) {
/* It currently points to old space. Check for a */
/* forwarding pointer. */
lispobj first_word;
/* It be a pointer. */
if (from_space_p(object)) {
/* It currently points to old space. Check for a */
/* forwarding pointer. */
lispobj first_word;
- first_word = *((lispobj *)PTR(object));
- if (Pointerp(first_word) && new_space_p(first_word)) {
+ first_word = *((lispobj *)native_pointer(object));
+ if (is_lisp_pointer(first_word) &&
+ new_space_p(first_word)) {
/* Yep, there be a forwarding pointer. */
*start = first_word;
words_scavenged = 1;
/* Yep, there be a forwarding pointer. */
*start = first_word;
words_scavenged = 1;
@@
-560,15
+548,15
@@
scavenge_interrupt_context(os_context_t *context)
void scavenge_interrupt_contexts(void)
{
void scavenge_interrupt_contexts(void)
{
- int i, index;
- os_context_t *context;
+ int i, index;
+ os_context_t *context;
- index = fixnum_value(SymbolValue(FREE_INTERRUPT_CONTEXT_INDEX));
+ index = fixnum_value(SymbolValue(FREE_INTERRUPT_CONTEXT_INDEX));
- for (i = 0; i < index; i++) {
- context = lisp_interrupt_contexts[i];
- scavenge_interrupt_context(context);
- }
+ for (i = 0; i < index; i++) {
+ context = lisp_interrupt_contexts[i];
+ scavenge_interrupt_context(context);
+ }
}
\f
}
\f
@@
-590,7
+578,7
@@
print_garbage(lispobj *from_space, lispobj *from_space_free_pointer)
lispobj header;
object = *start;
lispobj header;
object = *start;
- forwardp = Pointerp(object) && new_space_p(object);
+ forwardp = is_lisp_pointer(object) && new_space_p(object);
if (forwardp) {
int tag;
if (forwardp) {
int tag;
@@
-610,7
+598,7
@@
print_garbage(lispobj *from_space, lispobj *from_space_free_pointer)
nwords = 1;
break;
case type_OtherPointer:
nwords = 1;
break;
case type_OtherPointer:
- pointer = (lispobj *) PTR(object);
+ pointer = (lispobj *) native_pointer(object);
header = *pointer;
type = TypeOf(header);
nwords = (sizetab[type])(pointer);
header = *pointer;
type = TypeOf(header);
nwords = (sizetab[type])(pointer);
@@
-636,6
+624,7
@@
print_garbage(lispobj *from_space, lispobj *from_space_free_pointer)
static lispobj trans_function_header(lispobj object);
static lispobj trans_boxed(lispobj object);
static lispobj trans_function_header(lispobj object);
static lispobj trans_boxed(lispobj object);
+
static int
scav_function_pointer(lispobj *where, lispobj object)
{
static int
scav_function_pointer(lispobj *where, lispobj object)
{
@@
-644,10
+633,10
@@
scav_function_pointer(lispobj *where, lispobj object)
lispobj first;
int type;
lispobj first;
int type;
- gc_assert(Pointerp(object));
+ gc_assert(is_lisp_pointer(object));
/* object is a pointer into from space. Not a FP */
/* object is a pointer into from space. Not a FP */
- first_pointer = (lispobj *) PTR(object);
+ first_pointer = (lispobj *) native_pointer(object);
first = *first_pointer;
/* must transport object -- object may point */
first = *first_pointer;
/* must transport object -- object may point */
@@
-667,7
+656,7
@@
scav_function_pointer(lispobj *where, lispobj object)
first = *first_pointer = copy;
first = *first_pointer = copy;
- gc_assert(Pointerp(first));
+ gc_assert(is_lisp_pointer(first));
gc_assert(!from_space_p(first));
*where = first;
gc_assert(!from_space_p(first));
*where = first;
@@
-690,11
+679,11
@@
trans_code(struct code *code)
/* if object has already been transported, just return pointer */
first = code->header;
/* if object has already been transported, just return pointer */
first = code->header;
- if (Pointerp(first) && new_space_p(first)) {
+ if (is_lisp_pointer(first) && new_space_p(first)) {
#ifdef DEBUG_CODE_GC
printf("Was already transported\n");
#endif
#ifdef DEBUG_CODE_GC
printf("Was already transported\n");
#endif
- return (struct code *) PTR(first);
+ return (struct code *) native_pointer(first);
}
gc_assert(TypeOf(first) == type_CodeHeader);
}
gc_assert(TypeOf(first) == type_CodeHeader);
@@
-708,7
+697,7
@@
trans_code(struct code *code)
nwords = CEILING(nwords, 2);
l_new_code = copy_object(l_code, nwords);
nwords = CEILING(nwords, 2);
l_new_code = copy_object(l_code, nwords);
- new_code = (struct code *) PTR(l_new_code);
+ new_code = (struct code *) native_pointer(l_new_code);
displacement = l_new_code - l_code;
displacement = l_new_code - l_code;
@@
-731,13
+720,13
@@
trans_code(struct code *code)
struct function *fheaderp, *nfheaderp;
lispobj nfheaderl;
struct function *fheaderp, *nfheaderp;
lispobj nfheaderl;
- fheaderp = (struct function *) PTR(fheaderl);
+ fheaderp = (struct function *) native_pointer(fheaderl);
gc_assert(TypeOf(fheaderp->header) == type_FunctionHeader);
/* calcuate the new function pointer and the new */
/* function header */
nfheaderl = fheaderl + displacement;
gc_assert(TypeOf(fheaderp->header) == type_FunctionHeader);
/* calcuate the new function pointer and the new */
/* function header */
nfheaderl = fheaderl + displacement;
- nfheaderp = (struct function *) PTR(nfheaderl);
+ nfheaderp = (struct function *) native_pointer(nfheaderl);
/* set forwarding pointer */
#ifdef DEBUG_CODE_GC
/* set forwarding pointer */
#ifdef DEBUG_CODE_GC
@@
-791,12
+780,12
@@
scav_code_header(lispobj *where, lispobj object)
/* code data block */
fheaderl = code->entry_points;
while (fheaderl != NIL) {
/* code data block */
fheaderl = code->entry_points;
while (fheaderl != NIL) {
- fheaderp = (struct function *) PTR(fheaderl);
+ fheaderp = (struct function *) native_pointer(fheaderl);
gc_assert(TypeOf(fheaderp->header) == type_FunctionHeader);
#if defined(DEBUG_CODE_GC)
printf("Scavenging boxed section of entry point located at 0x%08x.\n",
gc_assert(TypeOf(fheaderp->header) == type_FunctionHeader);
#if defined(DEBUG_CODE_GC)
printf("Scavenging boxed section of entry point located at 0x%08x.\n",
- (unsigned long) PTR(fheaderl));
+ (unsigned long) native_pointer(fheaderl));
#endif
scavenge(&fheaderp->name, 1);
scavenge(&fheaderp->arglist, 1);
#endif
scavenge(&fheaderp->name, 1);
scavenge(&fheaderp->arglist, 1);
@@
-813,7
+802,7
@@
trans_code_header(lispobj object)
{
struct code *ncode;
{
struct code *ncode;
- ncode = trans_code((struct code *) PTR(object));
+ ncode = trans_code((struct code *) native_pointer(object));
return (lispobj) LOW_WORD(ncode) | type_OtherPointer;
}
return (lispobj) LOW_WORD(ncode) | type_OtherPointer;
}
@@
-851,7
+840,7
@@
trans_return_pc_header(lispobj object)
unsigned long offset;
struct code *code, *ncode;
lispobj ret;
unsigned long offset;
struct code *code, *ncode;
lispobj ret;
- return_pc = (struct function *) PTR(object);
+ return_pc = (struct function *) native_pointer(object);
offset = HeaderValue(return_pc->header) * 4 ;
/* Transport the whole code object */
offset = HeaderValue(return_pc->header) * 4 ;
/* Transport the whole code object */
@@
-861,7
+850,7
@@
trans_return_pc_header(lispobj object)
#endif
ncode = trans_code(code);
if(object==0x304748d7) {
#endif
ncode = trans_code(code);
if(object==0x304748d7) {
- /* ldb_monitor(); */
+ /* monitor_or_something(); */
}
ret= ((lispobj) LOW_WORD(ncode) + offset) | type_OtherPointer;
#ifdef DEBUG_CODE_GC
}
ret= ((lispobj) LOW_WORD(ncode) + offset) | type_OtherPointer;
#ifdef DEBUG_CODE_GC
@@
-909,7
+898,7
@@
trans_function_header(lispobj object)
unsigned long offset;
struct code *code, *ncode;
unsigned long offset;
struct code *code, *ncode;
- fheader = (struct function *) PTR(object);
+ fheader = (struct function *) native_pointer(object);
offset = HeaderValue(fheader->header) * 4;
/* Transport the whole code object */
offset = HeaderValue(fheader->header) * 4;
/* Transport the whole code object */
@@
-929,7
+918,7
@@
scav_instance_pointer(lispobj *where, lispobj object)
lispobj *first_pointer;
/* object is a pointer into from space. Not a FP */
lispobj *first_pointer;
/* object is a pointer into from space. Not a FP */
- first_pointer = (lispobj *) PTR(object);
+ first_pointer = (lispobj *) native_pointer(object);
*where = *first_pointer = trans_boxed(object);
return 1;
*where = *first_pointer = trans_boxed(object);
return 1;
@@
-945,14
+934,14
@@
scav_list_pointer(lispobj *where, lispobj object)
{
lispobj first, *first_pointer;
{
lispobj first, *first_pointer;
- gc_assert(Pointerp(object));
+ gc_assert(is_lisp_pointer(object));
/* object is a pointer into from space. Not a FP. */
/* object is a pointer into from space. Not a FP. */
- first_pointer = (lispobj *) PTR(object);
+ first_pointer = (lispobj *) native_pointer(object);
first = *first_pointer = trans_list(object);
first = *first_pointer = trans_list(object);
- gc_assert(Pointerp(first));
+ gc_assert(is_lisp_pointer(first));
gc_assert(!from_space_p(first));
*where = first;
gc_assert(!from_space_p(first));
*where = first;
@@
-965,11
+954,11
@@
trans_list(lispobj object)
lispobj new_list_pointer;
struct cons *cons, *new_cons;
lispobj new_list_pointer;
struct cons *cons, *new_cons;
- cons = (struct cons *) PTR(object);
+ cons = (struct cons *) native_pointer(object);
/* ### Don't use copy_object here. */
new_list_pointer = copy_object(object, 2);
/* ### Don't use copy_object here. */
new_list_pointer = copy_object(object, 2);
- new_cons = (struct cons *) PTR(new_list_pointer);
+ new_cons = (struct cons *) native_pointer(new_list_pointer);
/* Set forwarding pointer. */
cons->car = new_list_pointer;
/* Set forwarding pointer. */
cons->car = new_list_pointer;
@@
-985,15
+974,15
@@
trans_list(lispobj object)
if (LowtagOf(cdr) != type_ListPointer ||
!from_space_p(cdr) ||
if (LowtagOf(cdr) != type_ListPointer ||
!from_space_p(cdr) ||
- (Pointerp(first = *(lispobj *)PTR(cdr)) &&
- new_space_p(first)))
+ (is_lisp_pointer(first = *(lispobj *)native_pointer(cdr))
+ && new_space_p(first)))
break;
break;
- cdr_cons = (struct cons *) PTR(cdr);
+ cdr_cons = (struct cons *) native_pointer(cdr);
/* ### Don't use copy_object here */
new_cdr = copy_object(cdr, 2);
/* ### Don't use copy_object here */
new_cdr = copy_object(cdr, 2);
- new_cdr_cons = (struct cons *) PTR(new_cdr);
+ new_cdr_cons = (struct cons *) native_pointer(new_cdr);
/* Set forwarding pointer */
cdr_cons->car = new_cdr;
/* Set forwarding pointer */
cdr_cons->car = new_cdr;
@@
-1018,13
+1007,13
@@
scav_other_pointer(lispobj *where, lispobj object)
{
lispobj first, *first_pointer;
{
lispobj first, *first_pointer;
- gc_assert(Pointerp(object));
+ gc_assert(is_lisp_pointer(object));
/* Object is a pointer into from space - not a FP */
/* Object is a pointer into from space - not a FP */
- first_pointer = (lispobj *) PTR(object);
+ first_pointer = (lispobj *) native_pointer(object);
first = *first_pointer = (transother[TypeOf(*first_pointer)])(object);
first = *first_pointer = (transother[TypeOf(*first_pointer)])(object);
- gc_assert(Pointerp(first));
+ gc_assert(is_lisp_pointer(first));
gc_assert(!from_space_p(first));
*where = first;
gc_assert(!from_space_p(first));
*where = first;
@@
-1073,9
+1062,9
@@
trans_boxed(lispobj object)
lispobj header;
unsigned long length;
lispobj header;
unsigned long length;
- gc_assert(Pointerp(object));
+ gc_assert(is_lisp_pointer(object));
- header = *((lispobj *) PTR(object));
+ header = *((lispobj *) native_pointer(object));
length = HeaderValue(header) + 1;
length = CEILING(length, 2);
length = HeaderValue(header) + 1;
length = CEILING(length, 2);
@@
-1134,9
+1123,9
@@
trans_unboxed(lispobj object)
unsigned long length;
unsigned long length;
- gc_assert(Pointerp(object));
+ gc_assert(is_lisp_pointer(object));
- header = *((lispobj *) PTR(object));
+ header = *((lispobj *) native_pointer(object));
length = HeaderValue(header) + 1;
length = CEILING(length, 2);
length = HeaderValue(header) + 1;
length = CEILING(length, 2);
@@
-1183,12
+1172,12
@@
trans_string(lispobj object)
struct vector *vector;
int length, nwords;
struct vector *vector;
int length, nwords;
- gc_assert(Pointerp(object));
+ gc_assert(is_lisp_pointer(object));
/* NOTE: Strings contain one more byte of data than the length */
/* slot indicates. */
/* NOTE: Strings contain one more byte of data than the length */
/* slot indicates. */
- vector = (struct vector *) PTR(object);
+ vector = (struct vector *) native_pointer(object);
length = fixnum_value(vector->length) + 1;
nwords = CEILING(NWORDS(length, 4) + 2, 2);
length = fixnum_value(vector->length) + 1;
nwords = CEILING(NWORDS(length, 4) + 2, 2);
@@
-1227,9
+1216,9
@@
trans_vector(lispobj object)
struct vector *vector;
int length, nwords;
struct vector *vector;
int length, nwords;
- gc_assert(Pointerp(object));
+ gc_assert(is_lisp_pointer(object));
- vector = (struct vector *) PTR(object);
+ vector = (struct vector *) native_pointer(object);
length = fixnum_value(vector->length);
nwords = CEILING(length + 2, 2);
length = fixnum_value(vector->length);
nwords = CEILING(length + 2, 2);
@@
-1270,9
+1259,9
@@
trans_vector_bit(lispobj object)
struct vector *vector;
int length, nwords;
struct vector *vector;
int length, nwords;
- gc_assert(Pointerp(object));
+ gc_assert(is_lisp_pointer(object));
- vector = (struct vector *) PTR(object);
+ vector = (struct vector *) native_pointer(object);
length = fixnum_value(vector->length);
nwords = CEILING(NWORDS(length, 32) + 2, 2);
length = fixnum_value(vector->length);
nwords = CEILING(NWORDS(length, 32) + 2, 2);
@@
-1312,9
+1301,9
@@
trans_vector_unsigned_byte_2(lispobj object)
struct vector *vector;
int length, nwords;
struct vector *vector;
int length, nwords;
- gc_assert(Pointerp(object));
+ gc_assert(is_lisp_pointer(object));
- vector = (struct vector *) PTR(object);
+ vector = (struct vector *) native_pointer(object);
length = fixnum_value(vector->length);
nwords = CEILING(NWORDS(length, 16) + 2, 2);
length = fixnum_value(vector->length);
nwords = CEILING(NWORDS(length, 16) + 2, 2);
@@
-1354,9
+1343,9
@@
trans_vector_unsigned_byte_4(lispobj object)
struct vector *vector;
int length, nwords;
struct vector *vector;
int length, nwords;
- gc_assert(Pointerp(object));
+ gc_assert(is_lisp_pointer(object));
- vector = (struct vector *) PTR(object);
+ vector = (struct vector *) native_pointer(object);
length = fixnum_value(vector->length);
nwords = CEILING(NWORDS(length, 8) + 2, 2);
length = fixnum_value(vector->length);
nwords = CEILING(NWORDS(length, 8) + 2, 2);
@@
-1396,9
+1385,9
@@
trans_vector_unsigned_byte_8(lispobj object)
struct vector *vector;
int length, nwords;
struct vector *vector;
int length, nwords;
- gc_assert(Pointerp(object));
+ gc_assert(is_lisp_pointer(object));
- vector = (struct vector *) PTR(object);
+ vector = (struct vector *) native_pointer(object);
length = fixnum_value(vector->length);
nwords = CEILING(NWORDS(length, 4) + 2, 2);
length = fixnum_value(vector->length);
nwords = CEILING(NWORDS(length, 4) + 2, 2);
@@
-1438,9
+1427,9
@@
trans_vector_unsigned_byte_16(lispobj object)
struct vector *vector;
int length, nwords;
struct vector *vector;
int length, nwords;
- gc_assert(Pointerp(object));
+ gc_assert(is_lisp_pointer(object));
- vector = (struct vector *) PTR(object);
+ vector = (struct vector *) native_pointer(object);
length = fixnum_value(vector->length);
nwords = CEILING(NWORDS(length, 2) + 2, 2);
length = fixnum_value(vector->length);
nwords = CEILING(NWORDS(length, 2) + 2, 2);
@@
-1480,9
+1469,9
@@
trans_vector_unsigned_byte_32(lispobj object)
struct vector *vector;
int length, nwords;
struct vector *vector;
int length, nwords;
- gc_assert(Pointerp(object));
+ gc_assert(is_lisp_pointer(object));
- vector = (struct vector *) PTR(object);
+ vector = (struct vector *) native_pointer(object);
length = fixnum_value(vector->length);
nwords = CEILING(length + 2, 2);
length = fixnum_value(vector->length);
nwords = CEILING(length + 2, 2);
@@
-1522,9
+1511,9
@@
trans_vector_single_float(lispobj object)
struct vector *vector;
int length, nwords;
struct vector *vector;
int length, nwords;
- gc_assert(Pointerp(object));
+ gc_assert(is_lisp_pointer(object));
- vector = (struct vector *) PTR(object);
+ vector = (struct vector *) native_pointer(object);
length = fixnum_value(vector->length);
nwords = CEILING(length + 2, 2);
length = fixnum_value(vector->length);
nwords = CEILING(length + 2, 2);
@@
-1564,9
+1553,9
@@
trans_vector_double_float(lispobj object)
struct vector *vector;
int length, nwords;
struct vector *vector;
int length, nwords;
- gc_assert(Pointerp(object));
+ gc_assert(is_lisp_pointer(object));
- vector = (struct vector *) PTR(object);
+ vector = (struct vector *) native_pointer(object);
length = fixnum_value(vector->length);
nwords = CEILING(length * 2 + 2, 2);
length = fixnum_value(vector->length);
nwords = CEILING(length * 2 + 2, 2);
@@
-1609,9
+1598,9
@@
trans_vector_long_float(lispobj object)
struct vector *vector;
int length, nwords;
struct vector *vector;
int length, nwords;
- gc_assert(Pointerp(object));
+ gc_assert(is_lisp_pointer(object));
- vector = (struct vector *) PTR(object);
+ vector = (struct vector *) native_pointer(object);
length = fixnum_value(vector->length);
#ifdef sparc
nwords = CEILING(length * 4 + 2, 2);
length = fixnum_value(vector->length);
#ifdef sparc
nwords = CEILING(length * 4 + 2, 2);
@@
-1657,9
+1646,9
@@
trans_vector_complex_single_float(lispobj object)
struct vector *vector;
int length, nwords;
struct vector *vector;
int length, nwords;
- gc_assert(Pointerp(object));
+ gc_assert(is_lisp_pointer(object));
- vector = (struct vector *) PTR(object);
+ vector = (struct vector *) native_pointer(object);
length = fixnum_value(vector->length);
nwords = CEILING(length * 2 + 2, 2);
length = fixnum_value(vector->length);
nwords = CEILING(length * 2 + 2, 2);
@@
-1700,9
+1689,9
@@
trans_vector_complex_double_float(lispobj object)
struct vector *vector;
int length, nwords;
struct vector *vector;
int length, nwords;
- gc_assert(Pointerp(object));
+ gc_assert(is_lisp_pointer(object));
- vector = (struct vector *) PTR(object);
+ vector = (struct vector *) native_pointer(object);
length = fixnum_value(vector->length);
nwords = CEILING(length * 4 + 2, 2);
length = fixnum_value(vector->length);
nwords = CEILING(length * 4 + 2, 2);
@@
-1745,9
+1734,9
@@
trans_vector_complex_long_float(lispobj object)
struct vector *vector;
int length, nwords;
struct vector *vector;
int length, nwords;
- gc_assert(Pointerp(object));
+ gc_assert(is_lisp_pointer(object));
- vector = (struct vector *) PTR(object);
+ vector = (struct vector *) native_pointer(object);
length = fixnum_value(vector->length);
#ifdef sparc
nwords = CEILING(length * 8 + 2, 2);
length = fixnum_value(vector->length);
#ifdef sparc
nwords = CEILING(length * 8 + 2, 2);
@@
-1794,7
+1783,7
@@
trans_weak_pointer(lispobj object)
lispobj copy;
struct weak_pointer *wp;
lispobj copy;
struct weak_pointer *wp;
- gc_assert(Pointerp(object));
+ gc_assert(is_lisp_pointer(object));
#if defined(DEBUG_WEAK)
printf("Transporting weak pointer from 0x%08x\n", object);
#if defined(DEBUG_WEAK)
printf("Transporting weak pointer from 0x%08x\n", object);
@@
-1804,7
+1793,7
@@
trans_weak_pointer(lispobj object)
/* been transported so they can be fixed up in a post-GC pass. */
copy = copy_object(object, WEAK_POINTER_NWORDS);
/* been transported so they can be fixed up in a post-GC pass. */
copy = copy_object(object, WEAK_POINTER_NWORDS);
- wp = (struct weak_pointer *) PTR(copy);
+ wp = (struct weak_pointer *) native_pointer(copy);
/* Push the weak pointer onto the list of weak pointers. */
/* Push the weak pointer onto the list of weak pointers. */
@@
-1836,7
+1825,7
@@
void scan_weak_pointers(void)
printf("Value: 0x%08x\n", (unsigned int) value);
#endif
printf("Value: 0x%08x\n", (unsigned int) value);
#endif
- if (!(Pointerp(value) && from_space_p(value)))
+ if (!(is_lisp_pointer(value) && from_space_p(value)))
continue;
/* Now, we need to check if the object has been */
continue;
/* Now, we need to check if the object has been */
@@
-1844,14
+1833,14
@@
void scan_weak_pointers(void)
/* still good and needs to be updated. Otherwise, the */
/* weak pointer needs to be nil'ed out. */
/* still good and needs to be updated. Otherwise, the */
/* weak pointer needs to be nil'ed out. */
- first_pointer = (lispobj *) PTR(value);
+ first_pointer = (lispobj *) native_pointer(value);
first = *first_pointer;
#if defined(DEBUG_WEAK)
printf("First: 0x%08x\n", (unsigned long) first);
#endif
first = *first_pointer;
#if defined(DEBUG_WEAK)
printf("First: 0x%08x\n", (unsigned long) first);
#endif
- if (Pointerp(first) && new_space_p(first))
+ if (is_lisp_pointer(first) && new_space_p(first))
wp->value = first;
else {
wp->value = NIL;
wp->value = first;
else {
wp->value = NIL;
@@
-2174,8
+2163,6
@@
gc_init(void)
\f
/* noise to manipulate the gc trigger stuff */
\f
/* noise to manipulate the gc trigger stuff */
-#ifndef ibmrt
-
void set_auto_gc_trigger(os_vm_size_t dynamic_usage)
{
os_vm_address_t addr=(os_vm_address_t)current_dynamic_space +
void set_auto_gc_trigger(os_vm_size_t dynamic_usage)
{
os_vm_address_t addr=(os_vm_address_t)current_dynamic_space +
@@
-2228,5
+2215,3
@@
void clear_auto_gc_trigger(void)
current_auto_gc_trigger = NULL;
}
}
current_auto_gc_trigger = NULL;
}
}
-
-#endif