diff options
author | Damien Doligez <damien.doligez-inria.fr> | 2008-01-11 16:13:18 +0000 |
---|---|---|
committer | Damien Doligez <damien.doligez-inria.fr> | 2008-01-11 16:13:18 +0000 |
commit | 9ea5edac9ab0b3860688583a2ff22a9e164be086 (patch) | |
tree | 353e23e669026900926bbd60cfc791906887ce63 /byterun/gc_ctrl.c | |
parent | db2092907f2eddcaf0b72f4bd0f429001364dbe5 (diff) |
merge changes 3.10.0 -> 3.10.1
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@8768 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'byterun/gc_ctrl.c')
-rw-r--r-- | byterun/gc_ctrl.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/byterun/gc_ctrl.c b/byterun/gc_ctrl.c index 1dce5cb08..5f028c0eb 100644 --- a/byterun/gc_ctrl.c +++ b/byterun/gc_ctrl.c @@ -78,7 +78,7 @@ static void check_block (char *hp) mlsize_t i; value v = Val_hp (hp); value f; - + check_head (v); switch (Tag_hp (hp)){ case Abstract_tag: break; @@ -93,7 +93,7 @@ static void check_block (char *hp) case Custom_tag: Assert (!Is_in_heap (Custom_ops_val (v))); break; - + case Infix_tag: Assert (0); break; @@ -102,7 +102,10 @@ static void check_block (char *hp) Assert (Tag_hp (hp) < No_scan_tag); for (i = 0; i < Wosize_hp (hp); i++){ f = Field (v, i); - if (Is_block (f) && Is_in_heap (f)) check_head (f); + if (Is_block (f) && Is_in_heap (f)){ + check_head (f); + Assert (Color_val (f) != Caml_blue); + } } } } |