added FACTOR_MULTITHREADED_TLS option
parent
a8f233c055
commit
1f4abd57b8
14
vm/vm.hpp
14
vm/vm.hpp
|
@ -690,11 +690,10 @@ struct factorvm {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// #define FACTOR_SINGLE_THREADED_SINGLETON
|
#define FACTOR_MULTITHREADED_TLS
|
||||||
#define FACTOR_SINGLE_THREADED_TESTING
|
|
||||||
|
|
||||||
#ifdef FACTOR_SINGLE_THREADED_SINGLETON
|
#ifdef FACTOR_SINGLE_THREADED_SINGLETON
|
||||||
/* calls are dispatched using the singleton */
|
/* calls are dispatched using the singleton vm ptr */
|
||||||
extern factorvm *vm;
|
extern factorvm *vm;
|
||||||
#define PRIMITIVE_GETVM() vm
|
#define PRIMITIVE_GETVM() vm
|
||||||
#define PRIMITIVE_OVERFLOW_GETVM() vm
|
#define PRIMITIVE_OVERFLOW_GETVM() vm
|
||||||
|
@ -713,6 +712,15 @@ struct factorvm {
|
||||||
#define SIGNAL_VM_PTR() tls_vm()
|
#define SIGNAL_VM_PTR() tls_vm()
|
||||||
#endif
|
#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
|
#ifdef FACTOR_MULTITHREADED
|
||||||
#define PRIMITIVE_GETVM() ((factorvm*)myvm)
|
#define PRIMITIVE_GETVM() ((factorvm*)myvm)
|
||||||
#define PRIMITIVE_OVERFLOW_GETVM() ((factorvm*)myvm)
|
#define PRIMITIVE_OVERFLOW_GETVM() ((factorvm*)myvm)
|
||||||
|
|
Loading…
Reference in New Issue