move up some initializations in the vm
authorAndy Wingo <wingo@pobox.com>
Tue, 2 Sep 2008 07:27:59 +0000 (00:27 -0700)
committerAndy Wingo <wingo@pobox.com>
Tue, 2 Sep 2008 18:00:32 +0000 (11:00 -0700)
* libguile/vm.c: Move 'vm-run, 'vm-error, 'debug sym initialization up to
  the bootstrap phase, so they are ready if load-compiled/vm is called
  before (system vm vm) is loaded.

libguile/vm.c

index 688e441..3933894 100644 (file)
@@ -144,8 +144,9 @@ vm_cont_free (SCM obj)
  * VM Internal functions
  */
 
-SCM_SYMBOL (sym_vm_run, "vm-run");
-SCM_SYMBOL (sym_vm_error, "vm-error");
+static SCM sym_vm_run;
+static SCM sym_vm_error;
+static SCM sym_debug;
 
 static scm_byte_t *
 vm_fetch_length (scm_byte_t *ip, size_t *lenp)
@@ -316,8 +317,6 @@ vm_free (SCM obj)
   return 0;
 }
 
-SCM_SYMBOL (sym_debug, "debug");
-
 SCM
 scm_vm_apply (SCM vm, SCM program, SCM args)
 #define FUNC_NAME "scm_vm_apply"
@@ -660,6 +659,10 @@ scm_bootstrap_vm (void)
                 scm_c_make_gsubr ("load-compiled/vm", 1, 0, 0,
                                   scm_load_compiled_with_vm));
 
+  sym_vm_run = scm_permanent_object (scm_from_locale_symbol ("vm-run"));
+  sym_vm_error = scm_permanent_object (scm_from_locale_symbol ("vm-error"));
+  sym_debug = scm_permanent_object (scm_from_locale_symbol ("debug"));
+
   strappage = 1;
 }