Merge pull request #2194 from GrundleTrundle/windows_timer_sub

Fix for timer overflow when using nimprofiler with 32bit Windows target.
This commit is contained in:
Andreas Rumpf
2015-02-22 21:24:23 +01:00
2 changed files with 3 additions and 3 deletions

View File

@@ -132,7 +132,7 @@ else:
proc hook(st: TStackTrace) {.nimcall.} =
if interval == 0:
hookAux(st, 1)
elif getTicks() - t0 > interval:
elif int64(t0) == 0 or getTicks() - t0 > interval:
hookAux(st, 1)
t0 = getTicks()

View File

@@ -27,9 +27,9 @@ when defined(windows):
proc `-`(a, b: TTicks): TNanos =
var frequency: int64
QueryPerformanceFrequency(frequency)
var performanceCounterRate = 1000000000.0 / toFloat(frequency.int)
var performanceCounterRate = 1e+9'f64 / float64(frequency)
result = ((a.int64 - b.int64).int.toFloat * performanceCounterRate).TNanos
result = TNanos(float64(a.int64 - b.int64) * performanceCounterRate)
elif defined(macosx):
type