diff options
author | Damien Doligez <damien.doligez-inria.fr> | 2002-01-20 17:39:10 +0000 |
---|---|---|
committer | Damien Doligez <damien.doligez-inria.fr> | 2002-01-20 17:39:10 +0000 |
commit | 0dbce74fc87015b7efa837f7529513075b6d73be (patch) | |
tree | 6cc2612b63b8ef95401f0809ed9af0ce26d0255c /byterun/compare.c | |
parent | 196b2190204e85ce85140ada0d06cb590bd662e8 (diff) | |
download | ocaml-0dbce74fc87015b7efa837f7529513075b6d73be.tar.gz |
lazy a la Tolmach
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@4291 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'byterun/compare.c')
-rw-r--r-- | byterun/compare.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/byterun/compare.c b/byterun/compare.c index 6b95269144..14bec7b4f1 100644 --- a/byterun/compare.c +++ b/byterun/compare.c @@ -84,6 +84,8 @@ static long compare_val(value v1, value v2) sp = compare_stack; while (1) { + while (Is_block (v1) && Tag_val (v1) == Forward_tag) v1 = Forward_val (v1); + while (Is_block (v2) && Tag_val (v2) == Forward_tag) v2 = Forward_val (v2); if (v1 == v2) goto next_item; if (Is_long(v1)) { if (Is_long(v2)) |