From: Chris Hanson Date: Fri, 4 Nov 1988 10:23:30 +0000 (+0000) Subject: Conversion of a fixnum to an address must be a logical right shift, X-Git-Tag: 20090517-FFI~12447 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=bfab2afea137d9575e7c40c3c28d9af3862b4dd5;p=mit-scheme.git Conversion of a fixnum to an address must be a logical right shift, not an arithmetic right shift. This is because an address is an unsigned quantity; thus a fixnum representing an address must also be treated as unsigned. --- diff --git a/v7/src/compiler/machines/bobcat/lapgen.scm b/v7/src/compiler/machines/bobcat/lapgen.scm index 533bb2dd8..cc738ff57 100644 --- a/v7/src/compiler/machines/bobcat/lapgen.scm +++ b/v7/src/compiler/machines/bobcat/lapgen.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/lapgen.scm,v 4.15 1988/11/03 07:16:11 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/lapgen.scm,v 4.16 1988/11/04 10:23:30 cph Exp $ Copyright (c) 1988 Massachusetts Institute of Technology @@ -346,7 +346,7 @@ MIT in each case. |# (define-integrable (fixnum->address reg-ref) (LAP - (AS R L (& 8) ,reg-ref))) + (LS R L (& 8) ,reg-ref))) (define (test-fixnum effective-address) (if (effective-address/data&alterable? effective-address)