From: Chris Hanson Date: Mon, 1 Jun 1987 11:21:41 +0000 (+0000) Subject: Teach `expression->machine-register!' about (UNASSIGNED) expression. X-Git-Tag: 20090517-FFI~13446 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=a5ecca6aaeb7ea23243ce5072ab1fdac7ae21f67;p=mit-scheme.git Teach `expression->machine-register!' about (UNASSIGNED) expression. --- diff --git a/v7/src/compiler/machines/bobcat/lapgen.scm b/v7/src/compiler/machines/bobcat/lapgen.scm index 826a2d4ad..9042adb29 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 1.171 1987/05/31 23:00:30 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/lapgen.scm,v 1.172 1987/06/01 11:21:41 cph Exp $ Copyright (c) 1987 Massachusetts Institute of Technology @@ -151,13 +151,19 @@ MIT in each case. |# (let ((target (register-reference register))) (let ((result (case (car expression) - ((REGISTER) `((MOVE L ,(coerce->any (cadr expression)) ,target))) + ((REGISTER) + `((MOVE L ,(coerce->any (cadr expression)) ,target))) ((OFFSET) - `((MOVE L ,(indirect-reference! (cadadr expression) - (caddr expression)) + `((MOVE L + ,(indirect-reference! (cadadr expression) + (caddr expression)) ,target))) - ((CONSTANT) `(,(load-constant (cadr expression) target))) - (else (error "Bad expression type" (car expression)))))) + ((CONSTANT) + `(,(load-constant (cadr expression) target))) + ((UNASSIGNED) + `(,(load-non-pointer type-code:unassigned 0 target))) + (else + (error "Unknown expression type" (car expression)))))) (delete-machine-register! register) result)))