Implement rule for cache-unassigned? trap.
authorChris Hanson <org/chris-hanson/cph>
Fri, 7 Aug 1987 22:52:30 +0000 (22:52 +0000)
committerChris Hanson <org/chris-hanson/cph>
Fri, 7 Aug 1987 22:52:30 +0000 (22:52 +0000)
v7/src/compiler/machines/bobcat/rules4.scm

index 125b085cbb3a5c251c4c679d3c5f18122bc50028..8756b74b36765bfab342dd207778d2cad4fd9fd3 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/rules4.scm,v 1.3 1987/07/16 10:12:01 jinx Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/rules4.scm,v 1.4 1987/08/07 22:52:30 cph Exp $
 
 Copyright (c) 1987 Massachusetts Institute of Technology
 
@@ -173,6 +173,15 @@ MIT in each case. |#
             (MOV L ,reg:temp (A 1))
             (JSR ,entry:compiler-assignment-trap)
             ,@(make-external-label (generate-label)))))))
+
+(define-rule statement
+  (INTERPRETER-CALL:CACHE-UNASSIGNED? (? extension))
+  (let ((set-extension (expression->machine-register! extension a0)))
+    (let ((clear-map (clear-map!)))
+      (LAP ,@set-extension
+          ,@clear-map
+          (JSR ,entry:compiler-unassigned?-trap)
+          ,@(make-external-label (generate-label))))))
 \f
 ;;;; Poppers