some scm_i_init_guile cleanups
authorAndy Wingo <wingo@pobox.com>
Sat, 5 Dec 2009 10:16:54 +0000 (11:16 +0100)
committerAndy Wingo <wingo@pobox.com>
Sat, 5 Dec 2009 10:16:54 +0000 (11:16 +0100)
* libguile/init.c (scm_i_init_guile): Since hash tables are tc7 objects,
  things that depend on hash tables no longer depend on smobs, so move
  smob_prehistory up a bit. No more struct_prehistory.

* libguile/struct.h:
* libguile/struct.c (scm_struct_prehistory): Remove empty function.

libguile/init.c
libguile/struct.c
libguile/struct.h

index 781c181..05f5c97 100644 (file)
@@ -436,19 +436,16 @@ scm_i_init_guile (SCM_STACKITEM *base)
 
   scm_storage_prehistory ();
   scm_threads_prehistory (base);
-  scm_smob_prehistory ();
   scm_weaks_prehistory ();
 #ifdef GUILE_DEBUG_MALLOC
   scm_debug_malloc_prehistory ();
 #endif
-  if (scm_init_storage ())        /* requires threads_prehistory,
-                                    smob_prehistory and
-                                    hashtab_prehistory */
+  if (scm_init_storage ())        /* requires threads_prehistory */
     abort ();
   
-  scm_struct_prehistory ();      /* requires storage */
+  scm_smob_prehistory ();
   scm_symbols_prehistory ();      /* requires storage */
-  scm_modules_prehistory ();      /* requires storage and hash tables */
+  scm_modules_prehistory ();      /* requires storage */
   scm_init_variable ();           /* all bindings need variables */
   scm_init_continuations ();
   scm_init_root ();              /* requires continuations */
index 9fd73a6..cd2c441 100644 (file)
@@ -853,12 +853,6 @@ scm_print_struct (SCM exp, SCM port, scm_print_state *pstate)
     }
 }
 
-void
-scm_struct_prehistory ()
-{
-  /* Empty.  */
-}
-
 void
 scm_init_struct ()
 {
index 9372cec..1e80fc1 100644 (file)
@@ -157,7 +157,6 @@ SCM_API SCM scm_struct_create_handle (SCM obj);
 SCM_API SCM scm_struct_vtable_name (SCM vtable);
 SCM_API SCM scm_set_struct_vtable_name_x (SCM vtable, SCM name);
 SCM_API void scm_print_struct (SCM exp, SCM port, scm_print_state *);
-SCM_API void scm_struct_prehistory (void);
 
 SCM_INTERNAL SCM scm_i_struct_equalp (SCM s1, SCM s2);
 SCM_INTERNAL unsigned long scm_struct_ihashq (SCM, unsigned long, void *);