From: Chris Hanson Date: Thu, 27 Apr 1989 20:06:32 +0000 (+0000) Subject: Fix bug in rules to push or cons fixnums, so that they use temporary X-Git-Tag: 20090517-FFI~12104 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=38c71f243caeea80dc96743b69f6eeee76b4cc43;p=mit-scheme.git Fix bug in rules to push or cons fixnums, so that they use temporary hardware register in which to box the fixnum. Previously they were just clobbering the source register. --- diff --git a/v7/src/compiler/machines/bobcat/rules1.scm b/v7/src/compiler/machines/bobcat/rules1.scm index 600e2545a..4869b3e15 100644 --- a/v7/src/compiler/machines/bobcat/rules1.scm +++ b/v7/src/compiler/machines/bobcat/rules1.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/rules1.scm,v 4.21 1989/03/10 08:05:25 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/rules1.scm,v 4.22 1989/04/27 20:06:32 cph Rel $ Copyright (c) 1988, 1989 Massachusetts Institute of Technology @@ -366,9 +366,9 @@ MIT in each case. |# (define-rule statement (ASSIGN (POST-INCREMENT (REGISTER 13) 1) (FIXNUM->OBJECT (REGISTER (? r)))) - (let ((source-ref (reference-alias-register! r 'DATA))) - (LAP ,@(fixnum->object source-ref) - (MOV L ,source-ref (@A+ 5))))) + (let ((temporary (move-to-temporary-register! r 'DATA))) + (LAP ,@(fixnum->object temporary) + (MOV L ,temporary (@A+ 5))))) (define-rule statement ;; This pops the top of stack into the heap @@ -413,9 +413,9 @@ MIT in each case. |# (define-rule statement (ASSIGN (PRE-INCREMENT (REGISTER 15) -1) (FIXNUM->OBJECT (REGISTER (? r)))) - (let ((source-ref (reference-alias-register! r 'DATA))) - (LAP ,@(fixnum->object source-ref) - (MOV L ,source-ref (@-A 7))))) + (let ((temporary (move-to-temporary-register! r 'DATA))) + (LAP ,@(fixnum->object temporary) + (MOV L ,temporary (@-A 7))))) ;;;; Fixnum Operations