]> gitweb.factorcode.org Git - factor.git/commitdiff
removed most global functions from factor.cpp
authorPhil Dawes <phil@phildawes.net>
Mon, 24 Aug 2009 17:34:30 +0000 (18:34 +0100)
committerPhil Dawes <phil@phildawes.net>
Wed, 16 Sep 2009 07:17:27 +0000 (08:17 +0100)
vm/factor.cpp
vm/factor.hpp

index 883b4f94627e9da9db5f06fa49a13e51bd387153..0c47e2329ae4b93697d705ef05fd1681220e760d 100755 (executable)
@@ -3,7 +3,7 @@
 namespace factor
 {
 
-factorvm *vm = new factorvm;
+factorvm *vm;
 
 void factorvm::default_parameters(vm_parameters *p)
 {
@@ -45,11 +45,6 @@ void factorvm::default_parameters(vm_parameters *p)
        p->stack_traces = true;
 }
 
-VM_C_API void default_parameters(vm_parameters *p)
-{
-       return vm->default_parameters(p);
-}
-
 bool factorvm::factor_arg(const vm_char* str, const vm_char* arg, cell* value)
 {
        int val;
@@ -62,11 +57,6 @@ bool factorvm::factor_arg(const vm_char* str, const vm_char* arg, cell* value)
                return false;
 }
 
-bool factor_arg(const vm_char* str, const vm_char* arg, cell* value)
-{
-       return vm->factor_arg(str,arg,value);
-}
-
 void factorvm::init_parameters_from_args(vm_parameters *p, int argc, vm_char **argv)
 {
        default_parameters(p);
@@ -92,11 +82,6 @@ void factorvm::init_parameters_from_args(vm_parameters *p, int argc, vm_char **a
        }
 }
 
-VM_C_API void init_parameters_from_args(vm_parameters *p, int argc, vm_char **argv)
-{
-       return vm->init_parameters_from_args(p,argc,argv);
-}
-
 /* Do some initialization that we do once only */
 void factorvm::do_stage1_init()
 {
@@ -110,11 +95,6 @@ void factorvm::do_stage1_init()
        fflush(stdout);
 }
 
-void do_stage1_init()
-{
-       return vm->do_stage1_init();
-}
-
 void factorvm::init_factor(vm_parameters *p)
 {
        /* Kilobytes */
@@ -171,11 +151,6 @@ void factorvm::init_factor(vm_parameters *p)
        }
 }
 
-VM_C_API void init_factor(vm_parameters *p)
-{
-       return vm->init_factor(p);
-}
-
 /* May allocate memory */
 void factorvm::pass_args_to_factor(int argc, vm_char **argv)
 {
@@ -189,11 +164,6 @@ void factorvm::pass_args_to_factor(int argc, vm_char **argv)
        userenv[ARGS_ENV] = args.elements.value();
 }
 
-VM_C_API void pass_args_to_factor(int argc, vm_char **argv)
-{
-       return vm->pass_args_to_factor(argc,argv);
-}
-
 void factorvm::start_factor(vm_parameters *p)
 {
        if(p->fep) factorbug();
@@ -203,36 +173,6 @@ void factorvm::start_factor(vm_parameters *p)
        unnest_stacks();
 }
 
-void start_factor(vm_parameters *p)
-{
-       return vm->start_factor(p);
-}
-
-void factorvm::start_embedded_factor(vm_parameters *p)
-{
-       userenv[EMBEDDED_ENV] = T;
-       start_factor(p);
-}
-
-VM_C_API void start_embedded_factor(vm_parameters *p)
-{
-       return vm->start_embedded_factor(p);
-}
-
-void factorvm::start_standalone_factor(int argc, vm_char **argv)
-{
-       vm_parameters p;
-       default_parameters(&p);
-       init_parameters_from_args(&p,argc,argv);
-       init_factor(&p);
-       pass_args_to_factor(argc,argv);
-       start_factor(&p);
-}
-
-VM_C_API void start_standalone_factor(int argc, vm_char **argv)
-{
-       return vm->start_standalone_factor(argc,argv);
-}
 
 char *factorvm::factor_eval_string(char *string)
 {
@@ -240,41 +180,31 @@ char *factorvm::factor_eval_string(char *string)
        return callback(string);
 }
 
-VM_C_API char *factor_eval_string(char *string)
-{
-       return vm->factor_eval_string(string);
-}
-
 void factorvm::factor_eval_free(char *result)
 {
        free(result);
 }
 
-VM_C_API void factor_eval_free(char *result)
-{
-       return vm->factor_eval_free(result);
-}
-
 void factorvm::factor_yield()
 {
        void (*callback)() = (void (*)())alien_offset(userenv[YIELD_CALLBACK_ENV]);
        callback();
 }
 
-VM_C_API void factor_yield()
-{
-       return vm->factor_yield();
-}
-
 void factorvm::factor_sleep(long us)
 {
        void (*callback)(long) = (void (*)(long))alien_offset(userenv[SLEEP_CALLBACK_ENV]);
        callback(us);
 }
 
-VM_C_API void factor_sleep(long us)
+void factorvm::start_standalone_factor(int argc, vm_char **argv)
 {
-       return vm->factor_sleep(us);
+       vm_parameters p;
+       default_parameters(&p);
+       init_parameters_from_args(&p,argc,argv);
+       init_factor(&p);
+       pass_args_to_factor(argc,argv);
+       start_factor(&p);
 }
 
 struct startargs {
@@ -286,16 +216,18 @@ void* start_standalone_factor_thread(void *arg)
 {
        factorvm *newvm = new factorvm;
        startargs *args = (startargs*) arg;
-       vm_parameters p;
-       newvm->default_parameters(&p);
-       newvm->init_parameters_from_args(&p,args->argc, args->argv);
-       newvm->init_factor(&p);
-       newvm->pass_args_to_factor(args->argc,args->argv);
-       newvm->start_factor(&p);
+       newvm->start_standalone_factor(args->argc, args->argv);
        return 0;
 }
 
 
+VM_C_API void start_standalone_factor(int argc, vm_char **argv)
+{
+       factorvm *newvm = new factorvm;
+       vm = newvm;
+       return newvm->start_standalone_factor(argc,argv);
+}
+
 VM_C_API void start_standalone_factor_in_new_thread(int argc, vm_char **argv)
 {
        startargs *args = new startargs;   // leaks startargs structure
index b2aeccd1a621434bf4b0d0b7d74a383b517fbbf6..5c5b92dff21674382c751c08f31066c8be818dba 100644 (file)
@@ -1,17 +1,7 @@
 namespace factor
 {
 
-VM_C_API void default_parameters(vm_parameters *p);
-VM_C_API void init_parameters_from_args(vm_parameters *p, int argc, vm_char **argv);
-VM_C_API void init_factor(vm_parameters *p);
-VM_C_API void pass_args_to_factor(int argc, vm_char **argv);
-VM_C_API void start_embedded_factor(vm_parameters *p);
 VM_C_API void start_standalone_factor(int argc, vm_char **argv);
 VM_C_API void start_standalone_factor_in_new_thread(int argc, vm_char **argv);
 
-VM_C_API char *factor_eval_string(char *string);
-VM_C_API void factor_eval_free(char *result);
-VM_C_API void factor_yield();
-VM_C_API void factor_sleep(long ms);
-
 }