Web assembly #6

Merged
Mergul merged 38 commits from WebAssembly into master 2020-04-14 17:44:27 +02:00
2 changed files with 24 additions and 3 deletions
Showing only changes of commit cde772c077 - Show all commits

View file

@ -131,9 +131,8 @@ static struct Mallocator
static void* alignAlloc(size_t length, size_t alignment) nothrow @nogc
{
void* ret;
version(Posix)ret = aligned_alloc(alignment, length);
version(Posix)posix_memalign(&ret, alignment, length);//ret = aligned_alloc(alignment, length);
else version(Windows)ret = _aligned_malloc(length, alignment);
else static assert(0, "Unimplemented platform!");
//posix_memalign(&ret, alignment, length);
@ -149,7 +148,7 @@ static struct Mallocator
static void alignDispose(T)(T object)
{
static if(__traits(hasMember, T, "__dtor"))object.__dtor();
version(Posix)aligned_free(cast(void*)object);
version(Posix)free(cast(void*)object);
else version(Windows)_aligned_free(cast(void*)object);
else static assert(0, "Unimplemented platform!");

View file

@ -27,6 +27,28 @@ version(Windows)
}
}
}
else version(Posix)
{
import core.sys.posix.time;
struct Time
{
static long getUSecTime()
{
time_t time;
timespec spec;
clock_gettime(CLOCK_REALTIME, &spec);
//time = spec.tv_sec;
return spec.tv_sec * 1000_000 + spec.tv_nsec / 1000;//time / 1000_000;
/*LARGE_INTEGER time, freq;
QueryPerformanceFrequency(&freq);
QueryPerformanceCounter(&time);
return time.QuadPart / (freq.QuadPart / 1000_000);*/
}
}
}
struct TestEvent
{