diff options
author | Damien Doligez <damien.doligez-inria.fr> | 2000-01-11 15:19:14 +0000 |
---|---|---|
committer | Damien Doligez <damien.doligez-inria.fr> | 2000-01-11 15:19:14 +0000 |
commit | 117525ed94a7cb45fbf464284eb133655be0e0a3 (patch) | |
tree | 15b1fc05cb4dc8caa1f62be712fd638e22ed00a5 | |
parent | fea43448370f262da4a848a9002668bb72b84565 (diff) |
on appelle toutes les fonctions des que possible
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2751 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
-rw-r--r-- | byterun/finalise.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/byterun/finalise.c b/byterun/finalise.c index 62139e207..9f96a3069 100644 --- a/byterun/finalise.c +++ b/byterun/finalise.c @@ -40,6 +40,7 @@ static unsigned long old = 0, young = 0, active = 0, size = 0; void final_update (void) { unsigned long i; + unsigned long oldactive = active; Assert (young == old); Assert (young <= active); @@ -47,13 +48,13 @@ void final_update (void) Assert (Is_block (final_table[i].val) && Is_in_heap (final_table[i].val)); if (Is_white_val (final_table[i].val)){ struct final f = final_table[i]; - darken (f.val, NULL); final_table[i] = final_table[--old]; final_table[--active] = f; -- i; } } young = old; + for (i = active; i < oldactive; i++) darken (final_table[i].val, NULL); } /* Call the finalisation functions for the finalising set. |