1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-17 17:20:29 +02:00

more boot cleanup

* libguile/bytevectors.c (scm_bootstrap_bytevectors): Remove a call to
  scm_gc_protect_object.

* libguile/gc.h:
* libguile/gc.c (scm_init_gc_protect_object): Rename from
  scm_init_storage, and just return void. Make the GC boot procs have
  internal linkage.

* libguile/init.c: Adapt to the name change.
This commit is contained in:
Andy Wingo 2009-12-05 11:43:20 +01:00
parent f39448c5a3
commit 562cd1b8f8
4 changed files with 19 additions and 23 deletions

View file

@ -2202,8 +2202,7 @@ scm_bootstrap_bytevectors (void)
/* This must be instantiated here because the generalized-vector API may /* This must be instantiated here because the generalized-vector API may
want to access bytevectors even though `(rnrs bytevector)' hasn't been want to access bytevectors even though `(rnrs bytevector)' hasn't been
loaded. */ loaded. */
scm_null_bytevector = scm_null_bytevector = make_bytevector (0, SCM_ARRAY_ELEMENT_TYPE_VU8);
scm_gc_protect_object (make_bytevector (0, SCM_ARRAY_ELEMENT_TYPE_VU8));
#ifdef WORDS_BIGENDIAN #ifdef WORDS_BIGENDIAN
scm_i_native_endianness = scm_from_locale_symbol ("big"); scm_i_native_endianness = scm_from_locale_symbol ("big");

View file

@ -646,8 +646,8 @@ scm_storage_prehistory ()
scm_i_pthread_mutex_t scm_i_gc_admin_mutex = SCM_I_PTHREAD_MUTEX_INITIALIZER; scm_i_pthread_mutex_t scm_i_gc_admin_mutex = SCM_I_PTHREAD_MUTEX_INITIALIZER;
int void
scm_init_storage () scm_init_gc_protect_object ()
{ {
size_t j; size_t j;
@ -670,8 +670,6 @@ scm_init_storage ()
#endif #endif
scm_protects = scm_c_make_hash_table (31); scm_protects = scm_c_make_hash_table (31);
return 0;
} }

View file

@ -237,9 +237,9 @@ SCM_API void scm_gc_register_root (SCM *p);
SCM_API void scm_gc_unregister_root (SCM *p); SCM_API void scm_gc_unregister_root (SCM *p);
SCM_API void scm_gc_register_roots (SCM *b, unsigned long n); SCM_API void scm_gc_register_roots (SCM *b, unsigned long n);
SCM_API void scm_gc_unregister_roots (SCM *b, unsigned long n); SCM_API void scm_gc_unregister_roots (SCM *b, unsigned long n);
SCM_API void scm_storage_prehistory (void); SCM_INTERNAL void scm_storage_prehistory (void);
SCM_API int scm_init_storage (void); SCM_INTERNAL void scm_init_gc_protect_object (void);
SCM_API void scm_init_gc (void); SCM_INTERNAL void scm_init_gc (void);
#if SCM_ENABLE_DEPRECATED == 1 #if SCM_ENABLE_DEPRECATED == 1

View file

@ -435,21 +435,20 @@ scm_i_init_guile (SCM_STACKITEM *base)
} }
scm_storage_prehistory (); scm_storage_prehistory ();
scm_threads_prehistory (base); scm_threads_prehistory (base); /* requires storage_prehistory */
scm_weaks_prehistory (); scm_weaks_prehistory (); /* requires storage_prehistory */
#ifdef GUILE_DEBUG_MALLOC #ifdef GUILE_DEBUG_MALLOC
scm_debug_malloc_prehistory (); scm_debug_malloc_prehistory ();
#endif #endif
if (scm_init_storage ()) /* requires threads_prehistory */ scm_init_gc_protect_object (); /* requires threads_prehistory, only provides
abort (); scm_protect_object / scm_permanent_object */
scm_smob_prehistory (); scm_smob_prehistory ();
scm_symbols_prehistory (); /* requires storage */ scm_symbols_prehistory (); /* requires weaks_prehistory */
scm_modules_prehistory (); /* requires storage */ scm_modules_prehistory ();
scm_init_variable (); /* all bindings need variables */ scm_init_variable ();
scm_init_continuations (); scm_init_continuations (); /* requires smobs */
scm_init_root (); /* requires continuations */ scm_init_root (); /* requires continuations */
scm_init_threads (); /* requires fluids */ scm_init_threads ();
scm_init_gsubr (); scm_init_gsubr ();
scm_init_thread_procs (); /* requires gsubrs */ scm_init_thread_procs (); /* requires gsubrs */
scm_init_procprop (); scm_init_procprop ();
@ -465,20 +464,20 @@ scm_i_init_guile (SCM_STACKITEM *base)
scm_init_eq (); scm_init_eq ();
scm_init_error (); scm_init_error ();
scm_init_fluids (); scm_init_fluids ();
scm_init_feature (); /* Requires fluids */ scm_init_feature ();
scm_init_backtrace (); /* Requires fluids */ scm_init_backtrace ();
scm_init_fports (); scm_init_fports ();
scm_init_strports (); scm_init_strports ();
scm_init_ports (); scm_init_ports ();
scm_init_gdbint (); /* Requires strports */ scm_init_gdbint (); /* Requires strports */
scm_init_hash (); scm_init_hash ();
scm_init_hashtab (); scm_init_hashtab ();
scm_init_deprecation (); /* Requires hashtabs */ scm_init_deprecation ();
scm_init_objprop (); scm_init_objprop ();
scm_init_promises (); scm_init_promises ();
scm_init_properties (); scm_init_properties ();
scm_init_hooks (); /* Requires smob_prehistory */ scm_init_hooks (); /* Requires smob_prehistory */
scm_init_gc (); /* Requires hooks, async */ scm_init_gc (); /* Requires hooks */
scm_init_gettext (); scm_init_gettext ();
scm_init_ioext (); scm_init_ioext ();
scm_init_keywords (); scm_init_keywords ();