boot the VM very early in init.c
authorAndy Wingo <wingo@pobox.com>
Tue, 5 Jan 2010 18:49:18 +0000 (19:49 +0100)
committerAndy Wingo <wingo@pobox.com>
Thu, 7 Jan 2010 22:42:41 +0000 (23:42 +0100)
* libguile/init.c (scm_i_init_guile): Now that the VM doesn't depend on
  smobs, we can boot it before anything.

libguile/init.c

index b3d67a9b9293f1fec45c0d4b9f482a82df71b228..abca490486b8a1d7896164d7043cfc616ef44583 100644 (file)
@@ -448,6 +448,11 @@ scm_i_init_guile (SCM_STACKITEM *base)
   scm_modules_prehistory ();
   scm_init_array_handle ();
   scm_bootstrap_bytevectors ();   /* Requires array-handle */
+  scm_bootstrap_instructions ();
+  scm_bootstrap_objcodes ();
+  scm_bootstrap_programs ();
+  scm_bootstrap_vm ();
+
   scm_init_strings ();            /* Requires array-handle */
   scm_init_struct ();             /* Requires strings */
   scm_smob_prehistory ();
@@ -522,11 +527,6 @@ scm_i_init_guile (SCM_STACKITEM *base)
   scm_init_arrays ();    /* Requires smob_prehistory, array-handle */
   scm_init_array_map ();
 
-  scm_bootstrap_instructions ();
-  scm_bootstrap_objcodes ();
-  scm_bootstrap_programs ();
-  scm_bootstrap_vm ();
-
   scm_init_frames ();   /* Requires smob_prehistory */
   scm_init_stacks ();   /* Requires strings, struct, frames */
   scm_init_symbols ();