1 |
/* Copyright (C) 1995,1996,1997,1998,1999,2000,2001, 2002 Free Software Foundation, Inc. |
/* Copyright (C) 1995,1996,1997,1998,1999,2000,2001, 2002, 2003 Free Software Foundation, Inc. |
2 |
* |
* |
3 |
* This program is free software; you can redistribute it and/or modify |
* This program is free software; you can redistribute it and/or modify |
4 |
* it under the terms of the GNU General Public License as published by |
* it under the terms of the GNU General Public License as published by |
120 |
/* mark the registered roots */ |
/* mark the registered roots */ |
121 |
{ |
{ |
122 |
size_t i; |
size_t i; |
123 |
for (i = 0; i < SCM_VECTOR_LENGTH (scm_gc_registered_roots); ++i) |
for (i = 0; i < SCM_HASHTABLE_N_BUCKETS (scm_gc_registered_roots); ++i) |
124 |
{ |
{ |
125 |
SCM l = SCM_VELTS (scm_gc_registered_roots)[i]; |
SCM l = SCM_HASHTABLE_BUCKETS (scm_gc_registered_roots)[i]; |
126 |
for (; !SCM_NULLP (l); l = SCM_CDR (l)) |
for (; !SCM_NULLP (l); l = SCM_CDR (l)) |
127 |
{ |
{ |
128 |
SCM *p = (SCM *) (scm_num2long (SCM_CAAR (l), 0, NULL)); |
SCM *p = (SCM *) (scm_num2long (SCM_CAAR (l), 0, NULL)); |
313 |
int weak_values; |
int weak_values; |
314 |
|
|
315 |
len = SCM_VECTOR_LENGTH (ptr); |
len = SCM_VECTOR_LENGTH (ptr); |
316 |
weak_keys = SCM_IS_WHVEC (ptr) || SCM_IS_WHVEC_B (ptr); |
weak_keys = SCM_WVECT_WEAK_KEY_P (ptr); |
317 |
weak_values = SCM_IS_WHVEC_V (ptr) || SCM_IS_WHVEC_B (ptr); |
weak_values = SCM_WVECT_WEAK_VALUE_P (ptr); |
318 |
|
|
319 |
for (x = 0; x < len; ++x) |
for (x = 0; x < len; ++x) |
320 |
{ |
{ |