index a9e254bd725365b52b5444a1370d62bd14ee14fb..59e43fd31112ef0020da1cff36c23a3976465c63 100644 (file)
unixtype, linux
{$ELSEIF DEFINED(WINDOWS)}
Windows
+ {$ELSEIF DEFINED(HAIKU)}
+ unixtype
{$ELSE}
{$WARNING You suck!}
{$ENDIF}
if not mHasHPTimer then raise Exception.Create('profiler error: hires timer is not available');
mFrequency := 1; // just a flag
if (r.tv_nsec <> 0) then mFrequency := 1000000000000000000 div r.tv_nsec;
-{$ELSE}
+{$ELSEIF DEFINED(WINDOWS)}
mHasHPTimer := QueryPerformanceFrequency(r);
if not mHasHPTimer then raise Exception.Create('profiler error: hires timer is not available');
mFrequency := r;
{$IF DEFINED(LINUX)}
clock_gettime(CLOCK_MONOTONIC, @r);
result := UInt64(r.tv_sec)*1000000+UInt64(r.tv_nsec) div 1000; // microseconds
- {$ELSE}
+ {$ELSEIF DEFINED(WINDOWS)}
QueryPerformanceCounter(r);
result := UInt64(r)*1000000 div mFrequency;
{$ENDIF}