return count.QuadPart*(1000000000/frequency.QuadPart);
}
+void sleep_nanos(u64 nsec)
+{
+ Sleep((DWORD)(nsec/1000000));
+}
+
LONG factor_vm::exception_handler(PEXCEPTION_POINTERS pe)
{
PEXCEPTION_RECORD e = (PEXCEPTION_RECORD)pe->ExceptionRecord;
fatal_error("Segment deallocation failed",0);
}
-void sleep_nanos(u64 nsec)
-{
- Sleep((DWORD)(nsec/1000000));
-}
-
long getpagesize()
{
static long g_pagesize = 0;
u64 system_micros();
u64 nano_count();
+void sleep_nanos(u64 nsec);
long getpagesize();
}
void factor_vm::primitive_sleep()
{
- sleep_nanos(factor_vm::to_unsigned_8(dpop()));
+ sleep_nanos(to_unsigned_8(dpop()));
}
}
// os-windows
#if defined(WINDOWS)
- void sleep_nanos(u64 nsec);
const vm_char *vm_executable_path();
const vm_char *default_image_path();
void windows_image_path(vm_char *full_path, vm_char *temp_path, unsigned int length);