Explorar o código

+ implemented SysUtils.GetTickCount64 for WASI

Nikolay Nikolov %!s(int64=3) %!d(string=hai) anos
pai
achega
d134fc1ddf
Modificáronse 1 ficheiros con 12 adicións e 0 borrados
  1. 12 0
      rtl/wasi/sysutils.pp

+ 12 - 0
rtl/wasi/sysutils.pp

@@ -29,6 +29,7 @@ uses
   wasiapi;
 
 {$DEFINE HAS_SLEEP}
+{$DEFINE HAS_GETTICKCOUNT64}
 
 { used OS file system APIs use ansistring }
 {$define SYSUTILS_HAS_ANSISTR_FILEUTIL_IMPL}
@@ -54,6 +55,17 @@ implementation
 {$i sysutils.inc}
 
 
+function GetTickCount64: QWord;
+var
+  NanoSecsPast: __wasi_timestamp_t;
+begin
+  if __wasi_clock_time_get(__WASI_CLOCKID_MONOTONIC,1000000,@NanoSecsPast)=__WASI_ERRNO_SUCCESS then
+    Result:=NanoSecsPast div 1000000
+  else
+    Result:=0;
+end;
+
+
 {****************************************************************************
                               File Functions
 ****************************************************************************}