aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorherbelin2001-01-15 12:43:10 +0000
committerherbelin2001-01-15 12:43:10 +0000
commitc8e5299add068b19df1e07bb4f996115d114ba38 (patch)
tree277deafcd0c896cc0248dbd8dbc08d21d3c0efdb
parent0e65684cf660f481b9fdf507c8c2b9b958c49596 (diff)
Raffinements
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@1251 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r--lib/profile.ml240
1 files changed, 96 insertions, 144 deletions
diff --git a/lib/profile.ml b/lib/profile.ml
index b95d9d02b7..2c89614286 100644
--- a/lib/profile.ml
+++ b/lib/profile.ml
@@ -32,6 +32,8 @@ let spent_alloc () =
last_alloc := w;
n, dw - get_alloc_overhead
+(* Profile records *)
+
type profile_key = {
mutable owntime : int;
mutable tottime : int;
@@ -56,10 +58,23 @@ let create_record () = {
immcount=0
}
-let prof_table = ref []
-let stack = ref []
-let init_time = ref 0
-let init_alloc = ref 0
+let ajoute_totalloc e hidw lodw =
+ let s = e.lototalloc + lodw in
+ e.hitotalloc <- e.hitotalloc + hidw;
+ e.lototalloc <- s;
+ if s < 0 then begin
+ e.lototalloc <- e.lototalloc + int_range;
+ e.hitotalloc <- e.hitotalloc + 1
+ end
+
+let ajoute_ownalloc e hidw lodw =
+ let s = e.loownalloc + lodw in
+ e.hiownalloc <- e.hiownalloc + hidw;
+ e.loownalloc <- s;
+ if s < 0 then begin
+ e.loownalloc <- e.loownalloc + int_range;
+ e.hiownalloc <- e.hiownalloc + 1
+ end
let reset_record (n,e) =
e.owntime <- 0;
@@ -72,6 +87,13 @@ let reset_record (n,e) =
e.intcount <- 0;
e.immcount <- 0
+(* Profile tables *)
+
+let prof_table = ref []
+let stack = ref []
+let init_time = ref 0
+let init_alloc = ref 0
+
let reset_profile () = List.iter reset_record !prof_table
let init_profile () =
@@ -87,10 +109,8 @@ let init_profile () =
let ajoute n o =
o.owntime <- o.owntime + n.owntime;
o.tottime <- o.tottime + n.tottime;
- o.hiownalloc <- o.hiownalloc + n.hiownalloc;
- o.loownalloc <- o.loownalloc + n.loownalloc;
- o.hitotalloc <- o.hitotalloc + n.hitotalloc;
- o.lototalloc <- o.lototalloc + n.lototalloc;
+ ajoute_ownalloc o n.hiownalloc n.loownalloc;
+ ajoute_totalloc o n.hitotalloc n.lototalloc;
o.owncount <- o.owncount + n.owncount;
o.intcount <- o.intcount + n.intcount;
o.immcount <- o.immcount + n.immcount
@@ -215,23 +235,18 @@ let time_overhead_A_D () =
(* This is a copy of profile1 for overhead estimation *)
let hidw,lodw = dummy_spent_alloc () in
match !dummy_stack with [] -> assert false | p::_ ->
- p.hiownalloc <- p.hiownalloc + hidw;
- p.loownalloc <- p.loownalloc + lodw;
- p.hitotalloc <- p.hitotalloc + hidw;
- p.lototalloc <- p.lototalloc + lodw;
+ ajoute_ownalloc p hidw lodw;
+ ajoute_totalloc p hidw lodw;
e.owncount <- e.owncount + 1;
if not (p==e) then stack := e::!stack;
let hitotalloc0,lototalloc0 = e.hitotalloc,e.lototalloc in
let intcount0 = e.intcount in
let dt = get_time () - 1 in
e.tottime <- dt + dummy_ov; e.owntime <- e.owntime + e.tottime;
- e.hitotalloc <- e.hitotalloc + hidw;
- e.lototalloc <- e.lototalloc + lodw;
- e.hiownalloc <- e.hiownalloc + hidw;
- e.loownalloc <- e.loownalloc + lodw;
+ ajoute_ownalloc p hidw lodw;
+ ajoute_totalloc p hidw lodw;
p.owntime <- p.owntime - e.tottime;
- p.hitotalloc <- p.hitotalloc + e.hitotalloc - hitotalloc0;
- p.lototalloc <- p.lototalloc + e.lototalloc - lototalloc0;
+ ajoute_totalloc p (e.hitotalloc-hitotalloc0) (e.lototalloc-lototalloc0);
p.intcount <- p.intcount + e.intcount - intcount0 + 1;
p.immcount <- p.immcount + 1;
if not (p==e) then
@@ -319,10 +334,8 @@ let close_profile print =
| [outside] ->
outside.tottime <- outside.tottime + t;
outside.owntime <- outside.owntime + t;
- outside.hiownalloc <- outside.hiownalloc + hidw;
- outside.loownalloc <- outside.loownalloc + lodw;
- outside.hitotalloc <- outside.hitotalloc + hidw;
- outside.lototalloc <- outside.lototalloc + lodw;
+ ajoute_ownalloc outside hidw lodw;
+ ajoute_totalloc outside hidw lodw;
if List.length !prof_table <> 0 then begin
let ov_bc = time_overhead_B_C () (* B+C overhead *) in
let ov_ad = time_overhead_A_D () (* A+D overhead *) in
@@ -331,22 +344,17 @@ let close_profile print =
let adjoutside = adjust_time ov_bc ov_ad outside in
let lototalloc = !last_alloc - !init_alloc in
let hitotalloc = !carry_alloc in
- let loovalloc = lototalloc - outside.lototalloc in
- let hiovalloc = hitotalloc - outside.hitotalloc in
- let hiovalloc, loovalloc =
- if loovalloc < 0 then
- hiovalloc - 1, loovalloc + int_range
- else
- hiovalloc, loovalloc in
- (* Here, own contains overhead time/alloc *)
let total = {
tottime = outside.tottime;
owntime = outside.tottime - adjoutside.tottime;
lototalloc = lototalloc;
hitotalloc = hitotalloc;
- loownalloc = loovalloc;
- hiownalloc = hiovalloc;
+ loownalloc = lototalloc;
+ hiownalloc = hitotalloc;
immcount = 0; owncount = 0; intcount = 0 (* Dummy values *) } in
+ (* We compute an estimation of overhead *)
+ (* and now "own" contains overhead time/alloc *)
+ ajoute_ownalloc total (-outside.hitotalloc) (-outside.lototalloc);
let current_data = (adjtable, adjoutside, total) in
let updated_data =
match !recording_file with
@@ -377,10 +385,8 @@ let profile1 e f a =
let hidw,lodw = spent_alloc () in
match !stack with [] -> assert false | p::_ ->
(* We add spent alloc since last measure to current caller own/total alloc *)
- p.hiownalloc <- p.hiownalloc + hidw;
- p.loownalloc <- p.loownalloc + lodw;
- p.hitotalloc <- p.hitotalloc + hidw;
- p.lototalloc <- p.lototalloc + lodw;
+ ajoute_ownalloc p hidw lodw;
+ ajoute_totalloc p hidw lodw;
e.owncount <- e.owncount + 1;
if not (p==e) then stack := e::!stack;
let hitotalloc0,lototalloc0 = e.hitotalloc,e.lototalloc in
@@ -392,13 +398,10 @@ let profile1 e f a =
let hidw,lodw = spent_alloc () in
let dt = get_time () - t in
e.tottime <- e.tottime + dt; e.owntime <- e.owntime + dt;
- e.hitotalloc <- e.hitotalloc + hidw;
- e.lototalloc <- e.lototalloc + lodw;
- e.hiownalloc <- e.hiownalloc + hidw;
- e.loownalloc <- e.loownalloc + lodw;
+ ajoute_ownalloc e hidw lodw;
+ ajoute_totalloc e hidw lodw;
p.owntime <- p.owntime - dt;
- p.hitotalloc <- p.hitotalloc + e.hitotalloc - hitotalloc0;
- p.lototalloc <- p.lototalloc + e.lototalloc - lototalloc0;
+ ajoute_totalloc p (e.hitotalloc - hitotalloc0) (e.lototalloc -lototalloc0);
p.intcount <- p.intcount + e.intcount - intcount0 + 1;
p.immcount <- p.immcount + 1;
if not (p==e) then
@@ -409,13 +412,10 @@ let profile1 e f a =
let hidw,lodw = spent_alloc () in
let dt = get_time () - t in
e.tottime <- e.tottime + dt; e.owntime <- e.owntime + dt;
- e.hitotalloc <- e.hitotalloc + hidw;
- e.lototalloc <- e.lototalloc + lodw;
- e.hiownalloc <- e.hiownalloc + hidw;
- e.loownalloc <- e.loownalloc + lodw;
+ ajoute_ownalloc e hidw lodw;
+ ajoute_totalloc e hidw lodw;
p.owntime <- p.owntime - dt;
- p.hitotalloc <- p.hitotalloc + e.hitotalloc - hitotalloc0;
- p.lototalloc <- p.lototalloc + e.lototalloc - lototalloc0;
+ ajoute_totalloc p (e.hitotalloc - hitotalloc0) (e.lototalloc -lototalloc0);
p.intcount <- p.intcount + e.intcount - intcount0 + 1;
p.immcount <- p.immcount + 1;
if not (p==e) then
@@ -427,10 +427,8 @@ let profile2 e f a b =
let hidw,lodw = spent_alloc () in
match !stack with [] -> assert false | p::_ ->
(* We add spent alloc since last measure to current caller own/total alloc *)
- p.hiownalloc <- p.hiownalloc + hidw;
- p.loownalloc <- p.loownalloc + lodw;
- p.hitotalloc <- p.hitotalloc + hidw;
- p.lototalloc <- p.lototalloc + lodw;
+ ajoute_ownalloc p hidw lodw;
+ ajoute_totalloc p hidw lodw;
e.owncount <- e.owncount + 1;
if not (p==e) then stack := e::!stack;
let hitotalloc0,lototalloc0 = e.hitotalloc,e.lototalloc in
@@ -442,13 +440,10 @@ let profile2 e f a b =
let hidw,lodw = spent_alloc () in
let dt = get_time () - t in
e.tottime <- e.tottime + dt; e.owntime <- e.owntime + dt;
- e.hitotalloc <- e.hitotalloc + hidw;
- e.lototalloc <- e.lototalloc + lodw;
- e.hiownalloc <- e.hiownalloc + hidw;
- e.loownalloc <- e.loownalloc + lodw;
+ ajoute_ownalloc e hidw lodw;
+ ajoute_totalloc e hidw lodw;
p.owntime <- p.owntime - dt;
- p.hitotalloc <- p.hitotalloc + e.hitotalloc - hitotalloc0;
- p.lototalloc <- p.lototalloc + e.lototalloc - lototalloc0;
+ ajoute_totalloc p (e.hitotalloc - hitotalloc0) (e.lototalloc -lototalloc0);
p.intcount <- p.intcount + e.intcount - intcount0 + 1;
p.immcount <- p.immcount + 1;
if not (p==e) then
@@ -459,13 +454,10 @@ let profile2 e f a b =
let hidw,lodw = spent_alloc () in
let dt = get_time () - t in
e.tottime <- e.tottime + dt; e.owntime <- e.owntime + dt;
- e.hitotalloc <- e.hitotalloc + hidw;
- e.lototalloc <- e.lototalloc + lodw;
- e.hiownalloc <- e.hiownalloc + hidw;
- e.loownalloc <- e.loownalloc + lodw;
+ ajoute_ownalloc e hidw lodw;
+ ajoute_totalloc e hidw lodw;
p.owntime <- p.owntime - dt;
- p.hitotalloc <- p.hitotalloc + e.hitotalloc - hitotalloc0;
- p.lototalloc <- p.lototalloc + e.lototalloc - lototalloc0;
+ ajoute_totalloc p (e.hitotalloc - hitotalloc0) (e.lototalloc -lototalloc0);
p.intcount <- p.intcount + e.intcount - intcount0 + 1;
p.immcount <- p.immcount + 1;
if not (p==e) then
@@ -477,10 +469,8 @@ let profile3 e f a b c =
let hidw,lodw = spent_alloc () in
match !stack with [] -> assert false | p::_ ->
(* We add spent alloc since last measure to current caller own/total alloc *)
- p.hiownalloc <- p.hiownalloc + hidw;
- p.loownalloc <- p.loownalloc + lodw;
- p.hitotalloc <- p.hitotalloc + hidw;
- p.lototalloc <- p.lototalloc + lodw;
+ ajoute_ownalloc p hidw lodw;
+ ajoute_totalloc p hidw lodw;
e.owncount <- e.owncount + 1;
if not (p==e) then stack := e::!stack;
let hitotalloc0,lototalloc0 = e.hitotalloc,e.lototalloc in
@@ -492,13 +482,10 @@ let profile3 e f a b c =
let hidw,lodw = spent_alloc () in
let dt = get_time () - t in
e.tottime <- e.tottime + dt; e.owntime <- e.owntime + dt;
- e.hitotalloc <- e.hitotalloc + hidw;
- e.lototalloc <- e.lototalloc + lodw;
- e.hiownalloc <- e.hiownalloc + hidw;
- e.loownalloc <- e.loownalloc + lodw;
+ ajoute_ownalloc e hidw lodw;
+ ajoute_totalloc e hidw lodw;
p.owntime <- p.owntime - dt;
- p.hitotalloc <- p.hitotalloc + e.hitotalloc - hitotalloc0;
- p.lototalloc <- p.lototalloc + e.lototalloc - lototalloc0;
+ ajoute_totalloc p (e.hitotalloc - hitotalloc0) (e.lototalloc -lototalloc0);
p.intcount <- p.intcount + e.intcount - intcount0 + 1;
p.immcount <- p.immcount + 1;
if not (p==e) then
@@ -509,13 +496,10 @@ let profile3 e f a b c =
let hidw,lodw = spent_alloc () in
let dt = get_time () - t in
e.tottime <- e.tottime + dt; e.owntime <- e.owntime + dt;
- e.hitotalloc <- e.hitotalloc + hidw;
- e.lototalloc <- e.lototalloc + lodw;
- e.hiownalloc <- e.hiownalloc + hidw;
- e.loownalloc <- e.loownalloc + lodw;
+ ajoute_ownalloc e hidw lodw;
+ ajoute_totalloc e hidw lodw;
p.owntime <- p.owntime - dt;
- p.hitotalloc <- p.hitotalloc + e.hitotalloc - hitotalloc0;
- p.lototalloc <- p.lototalloc + e.lototalloc - lototalloc0;
+ ajoute_totalloc p (e.hitotalloc - hitotalloc0) (e.lototalloc -lototalloc0);
p.intcount <- p.intcount + e.intcount - intcount0 + 1;
p.immcount <- p.immcount + 1;
if not (p==e) then
@@ -527,10 +511,8 @@ let profile4 e f a b c d =
let hidw,lodw = spent_alloc () in
match !stack with [] -> assert false | p::_ ->
(* We add spent alloc since last measure to current caller own/total alloc *)
- p.hiownalloc <- p.hiownalloc + hidw;
- p.loownalloc <- p.loownalloc + lodw;
- p.hitotalloc <- p.hitotalloc + hidw;
- p.lototalloc <- p.lototalloc + lodw;
+ ajoute_ownalloc p hidw lodw;
+ ajoute_totalloc p hidw lodw;
e.owncount <- e.owncount + 1;
if not (p==e) then stack := e::!stack;
let hitotalloc0,lototalloc0 = e.hitotalloc,e.lototalloc in
@@ -542,13 +524,10 @@ let profile4 e f a b c d =
let hidw,lodw = spent_alloc () in
let dt = get_time () - t in
e.tottime <- e.tottime + dt; e.owntime <- e.owntime + dt;
- e.hitotalloc <- e.hitotalloc + hidw;
- e.lototalloc <- e.lototalloc + lodw;
- e.hiownalloc <- e.hiownalloc + hidw;
- e.loownalloc <- e.loownalloc + lodw;
+ ajoute_ownalloc e hidw lodw;
+ ajoute_totalloc e hidw lodw;
p.owntime <- p.owntime - dt;
- p.hitotalloc <- p.hitotalloc + e.hitotalloc - hitotalloc0;
- p.lototalloc <- p.lototalloc + e.lototalloc - lototalloc0;
+ ajoute_totalloc p (e.hitotalloc - hitotalloc0) (e.lototalloc -lototalloc0);
p.intcount <- p.intcount + e.intcount - intcount0 + 1;
p.immcount <- p.immcount + 1;
if not (p==e) then
@@ -559,13 +538,10 @@ let profile4 e f a b c d =
let hidw,lodw = spent_alloc () in
let dt = get_time () - t in
e.tottime <- e.tottime + dt; e.owntime <- e.owntime + dt;
- e.hitotalloc <- e.hitotalloc + hidw;
- e.lototalloc <- e.lototalloc + lodw;
- e.hiownalloc <- e.hiownalloc + hidw;
- e.loownalloc <- e.loownalloc + lodw;
+ ajoute_ownalloc e hidw lodw;
+ ajoute_totalloc e hidw lodw;
p.owntime <- p.owntime - dt;
- p.hitotalloc <- p.hitotalloc + e.hitotalloc - hitotalloc0;
- p.lototalloc <- p.lototalloc + e.lototalloc - lototalloc0;
+ ajoute_totalloc p (e.hitotalloc - hitotalloc0) (e.lototalloc -lototalloc0);
p.intcount <- p.intcount + e.intcount - intcount0 + 1;
p.immcount <- p.immcount + 1;
if not (p==e) then
@@ -577,10 +553,8 @@ let profile5 e f a b c d g =
let hidw,lodw = spent_alloc () in
match !stack with [] -> assert false | p::_ ->
(* We add spent alloc since last measure to current caller own/total alloc *)
- p.hiownalloc <- p.hiownalloc + hidw;
- p.loownalloc <- p.loownalloc + lodw;
- p.hitotalloc <- p.hitotalloc + hidw;
- p.lototalloc <- p.lototalloc + lodw;
+ ajoute_ownalloc p hidw lodw;
+ ajoute_totalloc p hidw lodw;
e.owncount <- e.owncount + 1;
if not (p==e) then stack := e::!stack;
let hitotalloc0,lototalloc0 = e.hitotalloc,e.lototalloc in
@@ -592,13 +566,10 @@ let profile5 e f a b c d g =
let hidw,lodw = spent_alloc () in
let dt = get_time () - t in
e.tottime <- e.tottime + dt; e.owntime <- e.owntime + dt;
- e.hitotalloc <- e.hitotalloc + hidw;
- e.lototalloc <- e.lototalloc + lodw;
- e.hiownalloc <- e.hiownalloc + hidw;
- e.loownalloc <- e.loownalloc + lodw;
+ ajoute_ownalloc e hidw lodw;
+ ajoute_totalloc e hidw lodw;
p.owntime <- p.owntime - dt;
- p.hitotalloc <- p.hitotalloc + e.hitotalloc - hitotalloc0;
- p.lototalloc <- p.lototalloc + e.lototalloc - lototalloc0;
+ ajoute_totalloc p (e.hitotalloc - hitotalloc0) (e.lototalloc -lototalloc0);
p.intcount <- p.intcount + e.intcount - intcount0 + 1;
p.immcount <- p.immcount + 1;
if not (p==e) then
@@ -609,13 +580,10 @@ let profile5 e f a b c d g =
let hidw,lodw = spent_alloc () in
let dt = get_time () - t in
e.tottime <- e.tottime + dt; e.owntime <- e.owntime + dt;
- e.hitotalloc <- e.hitotalloc + hidw;
- e.lototalloc <- e.lototalloc + lodw;
- e.hiownalloc <- e.hiownalloc + hidw;
- e.loownalloc <- e.loownalloc + lodw;
+ ajoute_ownalloc e hidw lodw;
+ ajoute_totalloc e hidw lodw;
p.owntime <- p.owntime - dt;
- p.hitotalloc <- p.hitotalloc + e.hitotalloc - hitotalloc0;
- p.lototalloc <- p.lototalloc + e.lototalloc - lototalloc0;
+ ajoute_totalloc p (e.hitotalloc - hitotalloc0) (e.lototalloc -lototalloc0);
p.intcount <- p.intcount + e.intcount - intcount0 + 1;
p.immcount <- p.immcount + 1;
if not (p==e) then
@@ -627,10 +595,8 @@ let profile6 e f a b c d g h =
let hidw,lodw = spent_alloc () in
match !stack with [] -> assert false | p::_ ->
(* We add spent alloc since last measure to current caller own/total alloc *)
- p.hiownalloc <- p.hiownalloc + hidw;
- p.loownalloc <- p.loownalloc + lodw;
- p.hitotalloc <- p.hitotalloc + hidw;
- p.lototalloc <- p.lototalloc + lodw;
+ ajoute_ownalloc p hidw lodw;
+ ajoute_totalloc p hidw lodw;
e.owncount <- e.owncount + 1;
if not (p==e) then stack := e::!stack;
let hitotalloc0,lototalloc0 = e.hitotalloc,e.lototalloc in
@@ -642,13 +608,10 @@ let profile6 e f a b c d g h =
let hidw,lodw = spent_alloc () in
let dt = get_time () - t in
e.tottime <- e.tottime + dt; e.owntime <- e.owntime + dt;
- e.hitotalloc <- e.hitotalloc + hidw;
- e.lototalloc <- e.lototalloc + lodw;
- e.hiownalloc <- e.hiownalloc + hidw;
- e.loownalloc <- e.loownalloc + lodw;
+ ajoute_ownalloc e hidw lodw;
+ ajoute_totalloc e hidw lodw;
p.owntime <- p.owntime - dt;
- p.hitotalloc <- p.hitotalloc + e.hitotalloc - hitotalloc0;
- p.lototalloc <- p.lototalloc + e.lototalloc - lototalloc0;
+ ajoute_totalloc p (e.hitotalloc - hitotalloc0) (e.lototalloc -lototalloc0);
p.intcount <- p.intcount + e.intcount - intcount0 + 1;
p.immcount <- p.immcount + 1;
if not (p==e) then
@@ -659,13 +622,10 @@ let profile6 e f a b c d g h =
let hidw,lodw = spent_alloc () in
let dt = get_time () - t in
e.tottime <- e.tottime + dt; e.owntime <- e.owntime + dt;
- e.hitotalloc <- e.hitotalloc + hidw;
- e.lototalloc <- e.lototalloc + lodw;
- e.hiownalloc <- e.hiownalloc + hidw;
- e.loownalloc <- e.loownalloc + lodw;
+ ajoute_ownalloc e hidw lodw;
+ ajoute_totalloc e hidw lodw;
p.owntime <- p.owntime - dt;
- p.hitotalloc <- p.hitotalloc + e.hitotalloc - hitotalloc0;
- p.lototalloc <- p.lototalloc + e.lototalloc - lototalloc0;
+ ajoute_totalloc p (e.hitotalloc - hitotalloc0) (e.lototalloc -lototalloc0);
p.intcount <- p.intcount + e.intcount - intcount0 + 1;
p.immcount <- p.immcount + 1;
if not (p==e) then
@@ -677,10 +637,8 @@ let profile7 e f a b c d g h i =
let hidw,lodw = spent_alloc () in
match !stack with [] -> assert false | p::_ ->
(* We add spent alloc since last measure to current caller own/total alloc *)
- p.hiownalloc <- p.hiownalloc + hidw;
- p.loownalloc <- p.loownalloc + lodw;
- p.hitotalloc <- p.hitotalloc + hidw;
- p.lototalloc <- p.lototalloc + lodw;
+ ajoute_ownalloc p hidw lodw;
+ ajoute_totalloc p hidw lodw;
e.owncount <- e.owncount + 1;
if not (p==e) then stack := e::!stack;
let hitotalloc0,lototalloc0 = e.hitotalloc,e.lototalloc in
@@ -692,13 +650,10 @@ let profile7 e f a b c d g h i =
let hidw,lodw = spent_alloc () in
let dt = get_time () - t in
e.tottime <- e.tottime + dt; e.owntime <- e.owntime + dt;
- e.hitotalloc <- e.hitotalloc + hidw;
- e.lototalloc <- e.lototalloc + lodw;
- e.hiownalloc <- e.hiownalloc + hidw;
- e.loownalloc <- e.loownalloc + lodw;
+ ajoute_ownalloc e hidw lodw;
+ ajoute_totalloc e hidw lodw;
p.owntime <- p.owntime - dt;
- p.hitotalloc <- p.hitotalloc + e.hitotalloc - hitotalloc0;
- p.lototalloc <- p.lototalloc + e.lototalloc - lototalloc0;
+ ajoute_totalloc p (e.hitotalloc - hitotalloc0) (e.lototalloc -lototalloc0);
p.intcount <- p.intcount + e.intcount - intcount0 + 1;
p.immcount <- p.immcount + 1;
if not (p==e) then
@@ -709,13 +664,10 @@ let profile7 e f a b c d g h i =
let hidw,lodw = spent_alloc () in
let dt = get_time () - t in
e.tottime <- e.tottime + dt; e.owntime <- e.owntime + dt;
- e.hitotalloc <- e.hitotalloc + hidw;
- e.lototalloc <- e.lototalloc + lodw;
- e.hiownalloc <- e.hiownalloc + hidw;
- e.loownalloc <- e.loownalloc + lodw;
+ ajoute_ownalloc e hidw lodw;
+ ajoute_totalloc e hidw lodw;
p.owntime <- p.owntime - dt;
- p.hitotalloc <- p.hitotalloc + e.hitotalloc - hitotalloc0;
- p.lototalloc <- p.lototalloc + e.lototalloc - lototalloc0;
+ ajoute_totalloc p (e.hitotalloc - hitotalloc0) (e.lototalloc -lototalloc0);
p.intcount <- p.intcount + e.intcount - intcount0 + 1;
p.immcount <- p.immcount + 1;
if not (p==e) then