]> gitweb.factorcode.org Git - factor.git/blob - vm/mvm.cpp
xmode.marker: more correct faster update-match-group
[factor.git] / vm / mvm.cpp
1 #include "master.hpp"
2
3 namespace factor {
4
5 std::map<THREADHANDLE, factor_vm*> thread_vms;
6
7 struct startargs {
8   int argc;
9   vm_char** argv;
10 };
11
12 // arg must be new'ed because we're going to delete it!
13 void* start_standalone_factor_thread(void* arg) {
14   factor_vm* newvm = new_factor_vm();
15   startargs* args = (startargs*)arg;
16   int argc = args->argc;
17   vm_char** argv = args->argv;
18   delete args;
19   newvm->start_standalone_factor(argc, argv);
20   return 0;
21 }
22
23 VM_C_API THREADHANDLE start_standalone_factor_in_new_thread(int argc,
24                                                             vm_char** argv) {
25   startargs* args = new startargs;
26   args->argc = argc;
27   args->argv = argv;
28   return start_thread(start_standalone_factor_thread, args);
29 }
30
31 }