From: Chris Hanson Date: Wed, 2 Nov 1988 21:46:00 +0000 (+0000) Subject: Implement `ignore-reference-traps' declaration on free variables. X-Git-Tag: 20090517-FFI~12464 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=60f426e6a11a72f7dad49b97a71ab9ffb03dfdd1;p=mit-scheme.git Implement `ignore-reference-traps' declaration on free variables. --- diff --git a/v7/src/compiler/rtlgen/rgrval.scm b/v7/src/compiler/rtlgen/rgrval.scm index 0c63dab51..afc9bab5a 100644 --- a/v7/src/compiler/rtlgen/rgrval.scm +++ b/v7/src/compiler/rtlgen/rgrval.scm @@ -1,9 +1,9 @@ d3 1 a4 1 -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlgen/rgrval.scm,v 4.8 1988/11/01 04:55:26 jinx Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlgen/rgrval.scm,v 4.9 1988/11/02 21:46:00 cph Exp $ #| -*-Scheme-*- Copyright (c) 1988 Massachusetts Institute of Technology -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlgen/rgrval.scm,v 4.8 1988/11/01 04:55:26 jinx Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlgen/rgrval.scm,v 4.9 1988/11/02 21:46:00 cph Exp $ Copyright (c) 1988, 1990 Massachusetts Institute of Technology @@ -98,7 +98,14 @@ promotional, or sales literature without prior written consent from safe?) (rtl:interpreter-call-result:lookup))) (lambda (name) - (generate/cached-reference name safe?)))))) + (if (memq 'IGNORE-REFERENCE-TRAPS + (variable-declarations lvalue)) + (let ((temp (rtl:make-pseudo-register))) + (return-2 + (rtl:make-assignment temp + (rtl:make-variable-cache name)) + (rtl:make-fetch (rtl:make-fetch temp)))) + (generate/cached-reference name safe?))))))) (cond ((not value) (perform-fetch)) lvalue)) (generate/rvalue* value offset))