mirror of
https://github.com/nim-lang/Nim.git
synced 2026-01-17 10:07:09 +00:00
atomicInc global alloc counters (#20571)
(cherry picked from commit ed26156c99)
This commit is contained in:
committed by
narimiran
parent
425f828178
commit
b47d12fe0a
@@ -1536,6 +1536,14 @@ const
|
||||
## and expect a reasonable result - use the `isNaN` or `classify` procedure
|
||||
## in the `math module <math.html>`_ for checking for NaN.
|
||||
|
||||
when not defined(nimscript):
|
||||
proc atomicInc*(memLoc: var int, x: int = 1): int {.inline,
|
||||
discardable, raises: [], tags: [], benign.}
|
||||
## Atomic increment of `memLoc`. Returns the value after the operation.
|
||||
|
||||
proc atomicDec*(memLoc: var int, x: int = 1): int {.inline,
|
||||
discardable, raises: [], tags: [], benign.}
|
||||
## Atomic decrement of `memLoc`. Returns the value after the operation.
|
||||
|
||||
include "system/memalloc"
|
||||
|
||||
@@ -1808,14 +1816,6 @@ when not declared(sysFatal):
|
||||
when not defined(nimscript):
|
||||
{.push stackTrace: off, profiler: off.}
|
||||
|
||||
proc atomicInc*(memLoc: var int, x: int = 1): int {.inline,
|
||||
discardable, benign.}
|
||||
## Atomic increment of `memLoc`. Returns the value after the operation.
|
||||
|
||||
proc atomicDec*(memLoc: var int, x: int = 1): int {.inline,
|
||||
discardable, benign.}
|
||||
## Atomic decrement of `memLoc`. Returns the value after the operation.
|
||||
|
||||
include "system/atomics"
|
||||
|
||||
{.pop.}
|
||||
|
||||
@@ -80,7 +80,7 @@ when hasAlloc and not defined(js):
|
||||
|
||||
when defined(nimAllocStats):
|
||||
var stats: AllocStats
|
||||
template incStat(what: untyped) = inc stats.what
|
||||
template incStat(what: untyped) = atomicInc stats.what
|
||||
proc getAllocStats*(): AllocStats = stats
|
||||
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user