From 38c71f243caeea80dc96743b69f6eeee76b4cc43 Mon Sep 17 00:00:00 2001 From: Chris Hanson Date: Thu, 27 Apr 1989 20:06:32 +0000 Subject: [PATCH] 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. --- v7/src/compiler/machines/bobcat/rules1.scm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) 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 -- 2.25.1