From: Taylor R. Campbell Date: Sun, 21 Jan 2007 11:29:15 +0000 (+0000) Subject: Fix bug in the open-coder for HEAP-AVAILABLE? with type checking X-Git-Tag: 20090517-FFI~758 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=781da3bfee80f56f309ee22bc0e5e3d38f6099ad;p=mit-scheme.git Fix bug in the open-coder for HEAP-AVAILABLE? with type checking turned on. It was passing the FINISH continuation on to OPEN-CODE:WITH-CHECKS, but that would call FINISH with an RTL expression, whereas the callers of the open-coder want an RTL predicate CFG. Now, like other predicate open-coders, HEAP-AVAILABLE?'s wraps the expression in a true test. --- diff --git a/v7/src/compiler/rtlgen/opncod.scm b/v7/src/compiler/rtlgen/opncod.scm index 269f9586c..c864d6433 100644 --- a/v7/src/compiler/rtlgen/opncod.scm +++ b/v7/src/compiler/rtlgen/opncod.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Id: opncod.scm,v 4.77 2007/01/05 21:19:23 cph Exp $ +$Id: opncod.scm,v 4.78 2007/01/21 11:29:15 riastradh Exp $ Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, @@ -865,7 +865,8 @@ USA. (rtl:make-address->fixnum (rtl:make-address locative)) (rtl:make-address->fixnum (rtl:make-fetch register:memory-top)))))) - finish + (lambda (expression) + (finish (rtl:make-true-test expression))) 'HEAP-AVAILABLE? expressions))) '(0)