summaryrefslogtreecommitdiff
path: root/byterun/compare.c
diff options
context:
space:
mode:
authorDamien Doligez <damien.doligez-inria.fr>2002-01-20 17:39:10 +0000
committerDamien Doligez <damien.doligez-inria.fr>2002-01-20 17:39:10 +0000
commit0dbce74fc87015b7efa837f7529513075b6d73be (patch)
tree6cc2612b63b8ef95401f0809ed9af0ce26d0255c /byterun/compare.c
parent196b2190204e85ce85140ada0d06cb590bd662e8 (diff)
downloadocaml-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.c2
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))