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:
parent
50c65018d3
commit
c67baafdd1
1 changed files with 12 additions and 10 deletions
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue