summaryrefslogtreecommitdiffstats
path: root/stdlib/gc.ml
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/gc.ml')
-rw-r--r--stdlib/gc.ml5
1 files changed, 5 insertions, 0 deletions
diff --git a/stdlib/gc.ml b/stdlib/gc.ml
index fcbf23176..a6a874eaa 100644
--- a/stdlib/gc.ml
+++ b/stdlib/gc.ml
@@ -39,6 +39,7 @@ type control = {
};;
external stat : unit -> stat = "gc_stat";;
+external counters : unit -> (int * int * int) = "gc_counters";;
external get : unit -> control = "gc_get";;
external set : control -> unit = "gc_set";;
external minor : unit -> unit = "gc_minor";;
@@ -65,3 +66,7 @@ let print_stat c =
fprintf c "fragments: %d\n" st.fragments;
fprintf c "compactions: %d\n" st.compactions;
;;
+
+let allocated_bytes () =
+ let (mi, ma, pro) = counters () in (mi + ma - pro) * (Sys.word_size / 8)
+;;