From e677130c40ca91ae6c5d7269ee33898f13d165cd Mon Sep 17 00:00:00 2001 From: Chris Hanson Date: Thu, 3 Nov 1988 06:33:23 +0000 Subject: [PATCH] Because special primitive invocations may now have `next' nodes, it is necessary to invalidate at least the value register and free pointer. Perhaps we need to invalidate other things as well? --- v7/src/compiler/rtlopt/rcse1.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/v7/src/compiler/rtlopt/rcse1.scm b/v7/src/compiler/rtlopt/rcse1.scm index e1d615fd8..04265b394 100644 --- a/v7/src/compiler/rtlopt/rcse1.scm +++ b/v7/src/compiler/rtlopt/rcse1.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlopt/rcse1.scm,v 4.12 1988/11/01 04:55:53 jinx Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlopt/rcse1.scm,v 4.13 1988/11/03 06:33:23 cph Exp $ Copyright (c) 1988 Massachusetts Institute of Technology @@ -298,7 +298,12 @@ MIT in each case. |# (define-cse-method 'INVOCATION:COMPUTED-LEXPR method/noop) (define-cse-method 'INVOCATION:UUO-LINK method/noop) (define-cse-method 'INVOCATION:PRIMITIVE method/noop) -(define-cse-method 'INVOCATION:SPECIAL-PRIMITIVE method/noop) + +(define-cse-method 'INVOCATION:SPECIAL-PRIMITIVE + (lambda (statement) + statement + (expression-invalidate! (interpreter-value-register)) + (expression-invalidate! (interpreter-free-pointer)))) (define-trivial-one-arg-method 'INVOCATION:CACHE-REFERENCE rtl:invocation:cache-reference-name rtl:set-invocation:cache-reference-name!) -- 2.25.1