mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 03:40:34 +02:00
Replace SCM_INLINE_GC_KIND_* enums with libgc's GC_I_* defines
Guile has an enum scm_inline_gc_kind used to replace GC constants that were private. Those defines were made public in 2015, so it is should be safe to use them now. Replace SCM_INLINE_GC_KIND_POINTERLESS with GC_I_PTRFREE. Replace SCM_INLINE_GC_KIND_NORMAL with GC_I_NORMAL. * libguile/gc-inline.h (scm_inline_gc_kind): remove type (scm_inline_gc_alloc): kind argument is now int (scm_inline_gc_malloc_pointerless): use GC_I_PTRFREE (scm_inline_gc_malloc): use GC_I_NORMAL * libguile/intrinsics.c (allocate_words_with_freelist): use GC_I_NORMAL (allocate_pointerless_words): use GC_I_PTRFREE
This commit is contained in:
parent
c214a15e47
commit
50371bc6ed
2 changed files with 5 additions and 14 deletions
|
@ -59,17 +59,8 @@ scm_inline_gc_freelist_object_size (size_t idx)
|
||||||
return (idx + 1U) * SCM_INLINE_GC_GRANULE_BYTES;
|
return (idx + 1U) * SCM_INLINE_GC_GRANULE_BYTES;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The values of these must match the internal POINTERLESS and NORMAL
|
|
||||||
definitions in libgc, for which unfortunately there are no external
|
|
||||||
definitions. Alack. */
|
|
||||||
typedef enum scm_inline_gc_kind
|
|
||||||
{
|
|
||||||
SCM_INLINE_GC_KIND_POINTERLESS,
|
|
||||||
SCM_INLINE_GC_KIND_NORMAL
|
|
||||||
} scm_inline_gc_kind;
|
|
||||||
|
|
||||||
static inline void *
|
static inline void *
|
||||||
scm_inline_gc_alloc (void **freelist, size_t idx, scm_inline_gc_kind kind)
|
scm_inline_gc_alloc (void **freelist, size_t idx, int kind)
|
||||||
{
|
{
|
||||||
void *head = *freelist;
|
void *head = *freelist;
|
||||||
|
|
||||||
|
@ -96,7 +87,7 @@ scm_inline_gc_malloc_pointerless (scm_thread *thread, size_t bytes)
|
||||||
return GC_malloc_atomic (bytes);
|
return GC_malloc_atomic (bytes);
|
||||||
|
|
||||||
return scm_inline_gc_alloc
|
return scm_inline_gc_alloc
|
||||||
(&thread->pointerless_freelists[idx], idx, SCM_INLINE_GC_KIND_POINTERLESS);
|
(&thread->pointerless_freelists[idx], idx, GC_I_PTRFREE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void *
|
static inline void *
|
||||||
|
@ -108,7 +99,7 @@ scm_inline_gc_malloc (scm_thread *thread, size_t bytes)
|
||||||
return GC_malloc (bytes);
|
return GC_malloc (bytes);
|
||||||
|
|
||||||
return scm_inline_gc_alloc
|
return scm_inline_gc_alloc
|
||||||
(&thread->freelists[idx], idx, SCM_INLINE_GC_KIND_NORMAL);
|
(&thread->freelists[idx], idx, GC_I_NORMAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void *
|
static inline void *
|
||||||
|
|
|
@ -472,7 +472,7 @@ allocate_words_with_freelist (scm_thread *thread, size_t freelist_idx)
|
||||||
return SCM_PACK_POINTER
|
return SCM_PACK_POINTER
|
||||||
(scm_inline_gc_alloc (&thread->freelists[freelist_idx],
|
(scm_inline_gc_alloc (&thread->freelists[freelist_idx],
|
||||||
freelist_idx,
|
freelist_idx,
|
||||||
SCM_INLINE_GC_KIND_NORMAL));
|
GC_I_NORMAL));
|
||||||
}
|
}
|
||||||
|
|
||||||
static SCM
|
static SCM
|
||||||
|
@ -487,7 +487,7 @@ allocate_pointerless_words_with_freelist (scm_thread *thread, size_t freelist_id
|
||||||
return SCM_PACK_POINTER
|
return SCM_PACK_POINTER
|
||||||
(scm_inline_gc_alloc (&thread->pointerless_freelists[freelist_idx],
|
(scm_inline_gc_alloc (&thread->pointerless_freelists[freelist_idx],
|
||||||
freelist_idx,
|
freelist_idx,
|
||||||
SCM_INLINE_GC_KIND_POINTERLESS));
|
GC_I_PTRFREE));
|
||||||
}
|
}
|
||||||
|
|
||||||
static SCM
|
static SCM
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue