added FACTOR_MULTITHREADED_TLS option
parent
f4af39b60e
commit
e49fa4109d
14
vm/vm.hpp
14
vm/vm.hpp
|
@ -690,11 +690,10 @@ struct factorvm {
|
|||
};
|
||||
|
||||
|
||||
// #define FACTOR_SINGLE_THREADED_SINGLETON
|
||||
#define FACTOR_SINGLE_THREADED_TESTING
|
||||
#define FACTOR_MULTITHREADED_TLS
|
||||
|
||||
#ifdef FACTOR_SINGLE_THREADED_SINGLETON
|
||||
/* calls are dispatched using the singleton */
|
||||
/* calls are dispatched using the singleton vm ptr */
|
||||
extern factorvm *vm;
|
||||
#define PRIMITIVE_GETVM() vm
|
||||
#define PRIMITIVE_OVERFLOW_GETVM() vm
|
||||
|
@ -713,6 +712,15 @@ struct factorvm {
|
|||
#define SIGNAL_VM_PTR() tls_vm()
|
||||
#endif
|
||||
|
||||
#ifdef FACTOR_MULTITHREADED_TLS
|
||||
/* uses thread local storage to obtain vm ptr */
|
||||
#define PRIMITIVE_GETVM() tls_vm()
|
||||
#define PRIMITIVE_OVERFLOW_GETVM() tls_vm()
|
||||
#define VM_PTR tls_vm()
|
||||
#define ASSERTVM()
|
||||
#define SIGNAL_VM_PTR() tls_vm()
|
||||
#endif
|
||||
|
||||
#ifdef FACTOR_MULTITHREADED
|
||||
#define PRIMITIVE_GETVM() ((factorvm*)myvm)
|
||||
#define PRIMITIVE_OVERFLOW_GETVM() ((factorvm*)myvm)
|
||||
|
|
Loading…
Reference in New Issue