return (void *)CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)start_routine, args, 0, 0);
}
-DWORD dwTlsIndex;
-
-void init_platform_globals()
-{
- if ((dwTlsIndex = TlsAlloc()) == TLS_OUT_OF_INDEXES)
- fatal_error("TlsAlloc failed - out of indexes",0);
-}
-
-void register_vm_with_thread(factor_vm *vm)
-{
- if (! TlsSetValue(dwTlsIndex, vm))
- fatal_error("TlsSetValue failed",0);
-}
-
-factor_vm *current_vm()
-{
- factor_vm *vm = (factor_vm *)TlsGetValue(dwTlsIndex);
- assert(vm != NULL);
- return vm;
-}
-
u64 system_micros()
{
FILETIME t;