From: Chris Hanson Date: Wed, 18 Jan 1989 04:04:07 +0000 (+0000) Subject: Fix bug in rule for this expression: X-Git-Tag: 20090517-FFI~12295 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=5084b8e127c4d2f2e021298b58a9dc84ac74127d;p=mit-scheme.git Fix bug in rule for this expression: (ASSIGN (OFFSET (REGISTER (? a)) (? n)) (FIXNUM->OBJECT (REGISTER (? source)))) There was a non-obvious order of argument evaluation problem here. --- diff --git a/v7/src/compiler/machines/bobcat/rules1.scm b/v7/src/compiler/machines/bobcat/rules1.scm index d7c7fa20f..254024e5c 100644 --- a/v7/src/compiler/machines/bobcat/rules1.scm +++ b/v7/src/compiler/machines/bobcat/rules1.scm @@ -1,8 +1,8 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/rules1.scm,v 4.18 1988/11/04 21:49:26 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/rules1.scm,v 4.19 1989/01/18 04:04:07 cph Exp $ -Copyright (c) 1988 Massachusetts Institute of Technology +Copyright (c) 1988, 1989 Massachusetts Institute of Technology This material was developed by the Scheme project at the Massachusetts Institute of Technology, Department of Electrical Engineering and @@ -281,10 +281,10 @@ MIT in each case. |# (define-rule statement (ASSIGN (OFFSET (REGISTER (? a)) (? n)) (FIXNUM->OBJECT (REGISTER (? source)))) - (let ((target (indirect-reference! a n)) - (temporary (move-to-temporary-register! source 'DATA))) - (LAP ,@(fixnum->object temporary) - (MOV L ,temporary ,target)))) + (let ((target (indirect-reference! a n))) + (let ((temporary (move-to-temporary-register! source 'DATA))) + (LAP ,@(fixnum->object temporary) + (MOV L ,temporary ,target))))) ;;;; Transfers to Memory