1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-10 14:00:21 +02:00

* gc.c (scm_mark_locations): Changed * (SCM **) X --> * (SCM *) X

in order to obtain a value of type SCM.
(scm_cellp): Updated with new changes to scm_mark_locations.
This commit is contained in:
Mikael Djurfeldt 2000-03-23 13:04:27 +00:00
parent 50c65018d3
commit c67baafdd1

View file

@ -1383,9 +1383,9 @@ scm_mark_locations (SCM_STACKITEM x[], scm_sizet n)
register SCM_CELLPTR ptr;
while (0 <= --m)
if (SCM_CELLP (*(SCM **) (& x[m])))
if (SCM_CELLP (* (SCM *) &x[m]))
{
ptr = (SCM_CELLPTR) SCM2PTR ((*(SCM **) & x[m]));
ptr = (SCM_CELLPTR) SCM2PTR (* (SCM *) &x[m]);
i = 0;
j = scm_n_heap_segs - 1;
if ( SCM_PTR_LE (scm_heap_table[i].bounds[0], ptr)
@ -1425,12 +1425,12 @@ scm_mark_locations (SCM_STACKITEM x[], scm_sizet n)
break;
}
}
if ( !scm_heap_table[seg_id].valid
if (!scm_heap_table[seg_id].valid
|| scm_heap_table[seg_id].valid (ptr,
&scm_heap_table[seg_id]))
if ( scm_heap_table[seg_id].span == 1
|| SCM_DOUBLE_CELLP (*(SCM **) (& x[m])))
scm_gc_mark (*(SCM *) & x[m]);
if (scm_heap_table[seg_id].span == 1
|| SCM_DOUBLE_CELLP (* (SCM *) &x[m]))
scm_gc_mark (* (SCM *) &x[m]);
break;
}
@ -1450,9 +1450,9 @@ scm_cellp (SCM value)
register int i, j;
register SCM_CELLPTR ptr;
if SCM_CELLP (*(SCM **) (& value))
if (SCM_CELLP (value))
{
ptr = (SCM_CELLPTR) SCM2PTR ((*(SCM **) & value));
ptr = (SCM_CELLPTR) SCM2PTR (value);
i = 0;
j = scm_n_heap_segs - 1;
if ( SCM_PTR_LE (scm_heap_table[i].bounds[0], ptr)
@ -1492,10 +1492,12 @@ scm_cellp (SCM value)
break;
}
}
if ( !scm_heap_table[seg_id].valid
if (!scm_heap_table[seg_id].valid
|| scm_heap_table[seg_id].valid (ptr,
&scm_heap_table[seg_id]))
return 1;
if (scm_heap_table[seg_id].span == 1
|| SCM_DOUBLE_CELLP (value))
scm_gc_mark (value);
break;
}