]> gitweb.factorcode.org Git - factor.git/commitdiff
vm: clean up TLS usage
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Sat, 27 Mar 2010 07:44:40 +0000 (03:44 -0400)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Sat, 27 Mar 2010 07:44:40 +0000 (03:44 -0400)
vm/code_blocks.cpp
vm/errors.cpp
vm/os-linux-arm.cpp
vm/os-unix.cpp
vm/os-unix.hpp
vm/os-windows-nt.cpp
vm/os-windows-nt.hpp

index e002b26afcfeee0e40bf1f41128e48dbf30cd9a2..4741a68c54f8a83120edfc26cd29d04e5fea24f7 100755 (executable)
@@ -149,7 +149,7 @@ void factor_vm::undefined_symbol()
 
 void undefined_symbol()
 {
-       return tls_vm()->undefined_symbol();
+       return current_vm()->undefined_symbol();
 }
 
 /* Look up an external library symbol referenced by a compiled code block */
index 8efcb3346f36ac9c3a267a41f42518aee15e59a9..37a94527441f80664a79db6965f33070818679ce 100755 (executable)
@@ -17,13 +17,13 @@ void critical_error(const char *msg, cell tagged)
        std::cout << "critical_error: " << msg;
        std::cout << ": " << std::hex << tagged << std::dec;
        std::cout << std::endl;
-       tls_vm()->factorbug();
+       current_vm()->factorbug();
 }
 
 void out_of_memory()
 {
        std::cout << "Out of memory\n\n";
-       tls_vm()->dump_generations();
+       current_vm()->dump_generations();
        exit(1);
 }
 
@@ -146,7 +146,7 @@ void factor_vm::memory_signal_handler_impl()
 
 void memory_signal_handler_impl()
 {
-       tls_vm()->memory_signal_handler_impl();
+       current_vm()->memory_signal_handler_impl();
 }
 
 void factor_vm::misc_signal_handler_impl()
@@ -156,7 +156,7 @@ void factor_vm::misc_signal_handler_impl()
 
 void misc_signal_handler_impl()
 {
-       tls_vm()->misc_signal_handler_impl();
+       current_vm()->misc_signal_handler_impl();
 }
 
 void factor_vm::fp_signal_handler_impl()
@@ -166,7 +166,7 @@ void factor_vm::fp_signal_handler_impl()
 
 void fp_signal_handler_impl()
 {
-       tls_vm()->fp_signal_handler_impl();
+       current_vm()->fp_signal_handler_impl();
 }
 
 }
index 07eda12186d1437466ed8dec4c8c48a927228f59..8e131b9011b8df4ef4573c7a7598931689a6c4c1 100644 (file)
@@ -25,7 +25,7 @@ void flush_icache(cell start, cell len)
                : "r0","r1","r2");
 
        if(result < 0)
-               tls_vm()critical_error("flush_icache() failed",result);
+               critical_error("flush_icache() failed",result);
 }
 
 }
index 15f8132a634e560e12db87c5bef62f0c9ac9971d..f63b509cb59228800a8a5f07eb83c87ae52b2da1 100644 (file)
@@ -17,23 +17,23 @@ THREADHANDLE start_thread(void *(*start_routine)(void *),void *args)
        return thread;
 }
 
-pthread_key_t tlsKey = 0;
+pthread_key_t current_vm_tls_key = 0;
 
 void init_platform_globals()
 {
-       if (pthread_key_create(&tlsKey, NULL) != 0)
+       if (pthread_key_create(&current_vm_tls_key, NULL) != 0)
                fatal_error("pthread_key_create() failed",0);
 
 }
 
 void register_vm_with_thread(factor_vm *vm)
 {
-       pthread_setspecific(tlsKey,vm);
+       pthread_setspecific(current_vm_tls_key,vm);
 }
 
-factor_vm *tls_vm()
+factor_vm *current_vm()
 {
-       factor_vm *vm = (factor_vm*)pthread_getspecific(tlsKey);
+       factor_vm *vm = (factor_vm*)pthread_getspecific(current_vm_tls_key);
        assert(vm != NULL);
        return vm;
 }
@@ -156,21 +156,21 @@ void factor_vm::dispatch_signal(void *uap, void (handler)())
 
 void memory_signal_handler(int signal, siginfo_t *siginfo, void *uap)
 {
-       factor_vm *vm = tls_vm();
+       factor_vm *vm = current_vm();
        vm->signal_fault_addr = (cell)siginfo->si_addr;
        vm->dispatch_signal(uap,factor::memory_signal_handler_impl);
 }
 
 void misc_signal_handler(int signal, siginfo_t *siginfo, void *uap)
 {
-       factor_vm *vm = tls_vm();
+       factor_vm *vm = current_vm();
        vm->signal_number = signal;
        vm->dispatch_signal(uap,factor::misc_signal_handler_impl);
 }
 
 void fpe_signal_handler(int signal, siginfo_t *siginfo, void *uap)
 {
-       factor_vm *vm = tls_vm();
+       factor_vm *vm = current_vm();
        vm->signal_number = signal;
        vm->signal_fpu_status = fpu_status(uap_fpu_status(uap));
        uap_clear_fpu_status(uap);
index 29378bb52331bba35e2c298af705fdc42237949f..de60bbe15f8dfe352c593c1f538997450ce0d924 100644 (file)
@@ -50,7 +50,7 @@ void sleep_nanos(u64 nsec);
 void init_platform_globals();
 
 void register_vm_with_thread(factor_vm *vm);
-factor_vm *tls_vm();
+factor_vm *current_vm();
 void open_console();
 
 void move_file(const vm_char *path1, const vm_char *path2);
index 07d428fb4925a7bd33b23f6aecb522945213ea98..d33a935f7fd108d16a691ca9f34efa79e691f905 100755 (executable)
@@ -22,9 +22,9 @@ void register_vm_with_thread(factor_vm *vm)
                fatal_error("TlsSetValue failed",0);
 }
 
-factor_vm *tls_vm()
+factor_vm *current_vm()
 {
-       factor_vm *vm = (factor_vm*)TlsGetValue(dwTlsIndex);
+       factor_vm *vm = (factor_vm *)TlsGetValue(dwTlsIndex);
        assert(vm != NULL);
        return vm;
 }
@@ -122,7 +122,7 @@ LONG factor_vm::exception_handler(PEXCEPTION_POINTERS pe)
 
 FACTOR_STDCALL(LONG) exception_handler(PEXCEPTION_POINTERS pe)
 {
-       return tls_vm()->exception_handler(pe);
+       return current_vm()->exception_handler(pe);
 }
 
 void factor_vm::c_to_factor_toplevel(cell quot)
index 8ad34ed147c7011d1eb94363343c82a7183043bf..d425a2c2816be453337036d40e1542d62319254b 100755 (executable)
@@ -47,6 +47,6 @@ inline static THREADHANDLE thread_id() { return GetCurrentThread(); }
 
 void init_platform_globals();
 void register_vm_with_thread(factor_vm *vm);
-factor_vm *tls_vm();
+factor_vm *current_vm();
 
 }