From 0b74a037ffeb8ed13075712be40e36647b6001ff Mon Sep 17 00:00:00 2001 From: Stephen Adams Date: Sat, 18 Mar 1995 14:38:59 +0000 Subject: [PATCH] The result of OBJECT->TYPE may be preserved. --- v8/src/compiler/midend/rtlgen.scm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/v8/src/compiler/midend/rtlgen.scm b/v8/src/compiler/midend/rtlgen.scm index a13e9839a..bf32333f9 100644 --- a/v8/src/compiler/midend/rtlgen.scm +++ b/v8/src/compiler/midend/rtlgen.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Id: rtlgen.scm,v 1.19 1995/03/15 01:08:51 adams Exp $ +$Id: rtlgen.scm,v 1.20 1995/03/18 14:38:59 adams Exp $ Copyright (c) 1994 Massachusetts Institute of Technology @@ -1117,7 +1117,7 @@ MIT in each case. |# (preserve (append pushed-info (reverse recomputed) maybe-preserved))))))) - + (define (rtlgen/preservation-state state orig-reg-defns) ;; Returns a list to 4-vectors: ;; #(variable-name register home PUSH/SAVE/RECOMPUTE/IF-AVAILABLE) @@ -1212,7 +1212,7 @@ MIT in each case. |# (define (reg-preserved? reg) (and (rtlgen/%pseudo-register? reg) (assq (cadr reg) preservations))) - + (define (compute) (loop (cdr reg-defns) (cons (cons (cadr reg) @@ -1262,7 +1262,10 @@ MIT in each case. |# (preserve))) ((OFFSET-ADDRESS BYTE-OFFSET-ADDRESS FLOAT-OFFSET-ADDRESS) (non-pointer-memory-operation)) - ((OBJECT->ADDRESS OBJECT->TYPE OBJECT->DATUM OBJECT->FLOAT) + ((OBJECT->TYPE) + ;; Assumption: the type looks like a fixnum + (preserve)) + ((OBJECT->ADDRESS #|OBJECT->TYPE|# OBJECT->DATUM OBJECT->FLOAT) (if (reg-preserved? (cadr value)) (compute) (ignore))) -- 2.25.1