summaryrefslogtreecommitdiffstats
path: root/stdlib/gc.ml
diff options
context:
space:
mode:
authorDamien Doligez <damien.doligez-inria.fr>1999-11-29 20:02:33 +0000
committerDamien Doligez <damien.doligez-inria.fr>1999-11-29 20:02:33 +0000
commit8bc6dec9bb8631d372346b2f41a36a41feb70f70 (patch)
tree57edeb79cf5bd692d123cdca2fb7b7941621b68f /stdlib/gc.ml
parenta65313de38c68ef3fe92a068f8d62cddf963735e (diff)
ajout Gc.counters et Gc.allocated_bytes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2645 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
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)
+;;