1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 11:50:28 +02:00

* gc.c (scm_gc_stats): Bugfix: Measure size of the type we are

mallocating for (unsigned long *bounds).

* hashtab.c (scm_i_rehash): Cast SCM_HASHTABLE_FLAGS (table) to
scm_t_bits before storing them in the type word.

* gc.c (tag_table_to_type_alist): Modified type of c_tag from
scm_t_bits to int.
This commit is contained in:
Mikael Djurfeldt 2005-07-18 13:55:44 +00:00
parent 2468a3c820
commit 3e2073bd24
3 changed files with 17 additions and 3 deletions

View file

@ -1,3 +1,17 @@
2005-07-18 Mikael Djurfeldt <mdj@d14n36.pdc.kth.se>
Some changes towards making it possible to run Guile on the EM64T
platform.
* gc.c (scm_gc_stats): Bugfix: Measure size of the type we are
mallocating for (unsigned long *bounds).
* hashtab.c (scm_i_rehash): Cast SCM_HASHTABLE_FLAGS (table) to
scm_t_bits before storing them in the type word.
* gc.c (tag_table_to_type_alist): Modified type of c_tag from
scm_t_bits to int.
2005-07-12 Kevin Ryde <user42@zip.com.au> 2005-07-12 Kevin Ryde <user42@zip.com.au>
* eval.c (scm_dbg_make_iloc): Should be SCM_IFRAMEMAX and * eval.c (scm_dbg_make_iloc): Should be SCM_IFRAMEMAX and

View file

@ -264,7 +264,7 @@ tag_table_to_type_alist (void *closure, SCM key, SCM val, SCM acc)
{ {
if (scm_is_integer (key)) if (scm_is_integer (key))
{ {
scm_t_bits c_tag = scm_to_int (key); int c_tag = scm_to_int (key);
char const * name = scm_i_tag_name (c_tag); char const * name = scm_i_tag_name (c_tag);
if (name != NULL) if (name != NULL)
@ -329,7 +329,7 @@ SCM_DEFINE (scm_gc_stats, "gc-stats", 0, 0, 0,
temporarily store the numbers, so as not to cause GC. temporarily store the numbers, so as not to cause GC.
*/ */
bounds = malloc (sizeof (int) * table_size * 2); bounds = malloc (sizeof (unsigned long) * table_size * 2);
if (!bounds) if (!bounds)
abort(); abort();
for (i = table_size; i--; ) for (i = table_size; i--; )

View file

@ -176,7 +176,7 @@ scm_i_rehash (SCM table,
SCM_SET_HASHTABLE_VECTOR (table, new_buckets); SCM_SET_HASHTABLE_VECTOR (table, new_buckets);
SCM_SET_HASHTABLE_N_ITEMS (table, 0); SCM_SET_HASHTABLE_N_ITEMS (table, 0);
if (SCM_HASHTABLE_WEAK_P (table)) if (SCM_HASHTABLE_WEAK_P (table))
SCM_I_SET_WVECT_TYPE (buckets, (SCM_HASHTABLE_FLAGS (table))); SCM_I_SET_WVECT_TYPE (buckets, ((scm_t_bits) SCM_HASHTABLE_FLAGS (table)));
old_size = SCM_SIMPLE_VECTOR_LENGTH (buckets); old_size = SCM_SIMPLE_VECTOR_LENGTH (buckets);
for (i = 0; i < old_size; ++i) for (i = 0; i < old_size; ++i)