summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2017-06-08 18:35:46 +0200
committerAraq <rumpf_a@web.de>2017-06-08 18:35:46 +0200
commit4e19c4a2529e27708168fab9d20b31a0c57f5348 (patch)
tree6cd1f6e8b567db747817e6ae2124674ae8ef1629
parent4033929127f940a967d0ef522e7e1ecba049b6f1 (diff)
parent0c8c878f5a9a33e50be8a998f9b476d078469a30 (diff)
downloadNim-4e19c4a2529e27708168fab9d20b31a0c57f5348.tar.gz
Merge branch 'devel' of github.com:nim-lang/Nim into devel
-rw-r--r--lib/system/mmdisp.nim11
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/system/mmdisp.nim b/lib/system/mmdisp.nim
index 431f84bfd..5b5ba9490 100644
--- a/lib/system/mmdisp.nim
+++ b/lib/system/mmdisp.nim
@@ -255,12 +255,21 @@ elif defined(gogc):
         next_gc: uint64          # next GC (in heap_alloc time)
         last_gc: uint64          # last GC (in absolute time)
         pause_total_ns: uint64
-        pause_ns: array[256, uint64]
+        pause_ns: array[256, uint64] # circular buffer of recent gc pause lengths
+        pause_end: array[256, uint64] # circular buffer of recent gc end times (nanoseconds since 1970)
         numgc: uint32
+        numforcedgc: uint32      # number of user-forced GCs
+        gc_cpu_fraction: float64 # fraction of CPU time used by GC
         enablegc: cbool
         debuggc: cbool
         # Statistics about allocation size classes.
         by_size: array[goNumSizeClasses, goMStats_inner_struct]
+        # Statistics below here are not exported to MemStats directly.
+        tinyallocs: uint64       # number of tiny allocations that didn't cause actual allocation; not exported to go directly
+        gc_trigger: uint64
+        heap_live: uint64
+        heap_scan: uint64
+        heap_marked: uint64
 
   proc goRuntime_ReadMemStats(a2: ptr goMStats) {.cdecl,
     importc: "runtime_ReadMemStats",